Lazarus

Announcements => Third party => Topic started by: jack616 on October 02, 2017, 03:07:59 pm

Title: Editor/ide wanted
Post by: jack616 on October 02, 2017, 03:07:59 pm
I'm looking for an editor/basic IDE  I can use to build an IDE for a programming language
on.

Full lazarus compatibility with source will be required as this will need further development
to do what I need.  Therefore the cleaner it is to use/develop the better.
Only components/ojects that will continue to be included with lazarus default instalations
must be used. (ie. must compile from scratch using a virgin lazarus installation)
If an editor also has general purpose IDE functions already that would be a bonus.
Compilation is for win7-64

any suggestions -?

TIA
Title: Re: Editor/ide wanted
Post by: tudi_x on October 02, 2017, 03:32:50 pm
https://github.com/BBasile/Coedit (https://github.com/BBasile/Coedit)

from http://wiki.freepascal.org/Lazarus_Application_Gallery (http://wiki.freepascal.org/Lazarus_Application_Gallery) :

Coedit is a small, open-source, cross-platform IDE for the D language. It features:

    full featured project format and advanced project editor.
    compile and run directly from the UI.
    instant run (without saving, script-like).
    synchronized edition in a block.
    D2 syntax highlighter, folding, identifier markup.
    module symbol list.
    static libraries manager.
    search and replace.
    user-defined tools powered by a string interpolation system.
    D Completion Daemon integration for completion proposal and source code hints.
    mini file browser.
Title: Re: Editor/ide wanted
Post by: jack616 on October 02, 2017, 04:52:16 pm
Thanks tudi - taking a look now.

Anymore welcome.

Title: Re: Editor/ide wanted
Post by: jack616 on October 02, 2017, 06:03:29 pm
Sadly coedit doesnt build out of the zip.
TcestringHel[per issues. in ce_common
Title: Re: Editor/ide wanted
Post by: Edson on October 02, 2017, 06:44:17 pm
SynFacilUtils https://github.com/t-edson/SynFacilUtils (https://github.com/t-edson/SynFacilUtils) is a library based on SynFacilSyn https://github.com/t-edson/SynFacilSyn (https://github.com/t-edson/SynFacilSyn) and SynFacilCompletion https://github.com/t-edson/SynFacilCompletion (https://github.com/t-edson/SynFacilCompletion), useful to build editors/IDE using the SynEdit component.

It has been used to develop the IDE of the compiler PicPas https://github.com/t-edson/PicPas (https://github.com/t-edson/PicPas), that includes code highlighters, code folding, autocompletion, and code tools.
Title: Re: Editor/ide wanted
Post by: jack616 on October 02, 2017, 10:03:11 pm
thanks Edson - I'm taking a closer look at the libraries later tonight.

I did take a look at PicPas  - a cute start.
One of the demos needs a quick bug fix though -
Test2_Byte2.pas needs another "end;" before the final "end."
I havn't looked further though (I'm only interested in functionality ATT)

Still looking if anyone has more ideas.

TIA
Title: Re: Editor/ide wanted
Post by: Edson on October 02, 2017, 11:03:15 pm
One of the demos needs a quick bug fix though -
Test2_Byte2.pas needs another "end;" before the final "end."

Strange. I have tested and it compiles OK. Maybe you are confused because PicPas uses the Modula-2 syntax for structures instead of the classical Pascal.
Title: Re: Editor/ide wanted
Post by: jack616 on October 03, 2017, 11:39:18 pm
Hi Edson

No there was a missing end;  in the file.
perhaps you updated it locally and it didn't get into the zip.
I added it when the compiler bugged out (it was easy to see) and it then
compiled fine.
This was version 0.7.7

I see you now have an 0.7.8 -  its a nice project I'm glad you're still working on it.
I've just upgraded lazarus to the latest release candidate and it's telling me there's a missing
 SynFacilHighlighter -

I don't know if that's me - I havn't had time to do much with it yet but I need to move on anyway
so thanks for your time.




Title: Re: Editor/ide wanted
Post by: jack616 on October 03, 2017, 11:44:07 pm
fyi tudi_x

The compiler issue I had seems to have been fpc 3.0.0
I upgraded to the latest lazarus Rc with 3.0.4 and that compiles it but
the .exe doesn't run. It just exits silently.

Adding debugging to the project bugs it out and then it fails to compile.
eg. invalid parent object errors

If anyone has any other editor ideas they're still more than welcome.

TIA


Title: Re: Editor/ide wanted
Post by: guest58172 on October 04, 2017, 12:15:54 pm
Sadly coedit doesnt build out of the zip.
TcestringHel[per issues. in ce_common
You need Lazarus 1.6.4 and FPC 3.0.2. I build the binaries for win32, linux amd64 and linux i386 so i would be aware of such a problem. Lazarus 1.8 is not supported at all.
Also instead of using the zip, clone it:   

Code: Bash  [Select][+][-]
  1. git clone https://github.com/BBasile/Coedit.git && git submodule update --init --recursive
  2. cd Coedit/lazproj/
  3. lazbuild -B coedit.lpi

___

Note that i don't think it's very extensible, it's really dedicated to the Dlang. I've also started my own  programming language and i don't know if i'll use it as a base when i'll need (if ever) a dedicated editor.
Title: Re: Editor/ide wanted
Post by: jack616 on October 04, 2017, 12:48:44 pm
Thanks BB...
I can't use it anyway due to the unusual programming methods and lack of docs - it looks really
good at what it does (based on the screen shot and a scan of the code) . I only commented to try and help.

This thread is a really good example of how the Delphi object model was born - stiffled and now vegitates.
We should be able to drag and drop WP templates, spreadsheet templates, and all sort of skeleton applications   by now.
(Not just buttons and spinners)

Perhaps there's a market out there for someone.

I can spend another couple of days looking then I'll be forced to start from scratch. I was hoping to not have
to build tools to build the tools I'm building.
 So much for progress.




Title: Re: Editor/ide wanted
Post by: Wosi on October 04, 2017, 01:11:26 pm
I'm looking for an editor/basic IDE  I can use to build an IDE for a programming language
on.

I doubt it's a good idea to build an entire IDE on your own - especially in 2017. There are so many great and extensible IDEs these days. Why do you want to waste your time with upcoming bugs and feature requests like "Search all files doesn't work wih regular expressions" or "Files with chinese characters don't show up properly"? There are tons of features users need to have implemented before they consider an IDE as good.
If you want to create a programming language you might want to focus on the important: A compiler/interpreter, syntax highlighter and good language support in the editor like code completion and quick fixes. For great language support you can implement a language server based on the language server protocol (https://github.com/Microsoft/language-server-protocol) that can be easily plugged into existing language server clients (https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implementations#editors-ides-supporting-the-protocol) such as Visual Studio or Eclipse on the IDE side and Visual Studio Code, Atom or emacs on the text editor side.
Good IDEs and text editors are the result of an at least medium sized team spending tons of days on the product. You can profit from their work.
Title: Re: Editor/ide wanted
Post by: guest58172 on October 04, 2017, 01:13:44 pm
Thanks BB...
I can't use it anyway due to the unusual programming methods and lack of docs - it looks really
good at what it does (based on the screen shot and a scan of the code) . I only commented to try and help.

There's nothing unsual.

The program is based on the Observer pattern. (ce_interfaces.pas). A "super-entity" is responsible for plug-in the observers to their subjects (ce_observer.pas) so that entities does not have to know themselves. This part is well documented. The other parts of the software are either implementations of observers, subjects or services and are rather very standard Object Pascal (TComponent, TCollection, TIControls, object streaming for the options). T(Async)Process + I/O streams are obvioulsy much used to communicate with the tools and compilers.
Title: Re: Editor/ide wanted
Post by: marcov on October 04, 2017, 01:41:12 pm
I'm looking for an editor/basic IDE  I can use to build an IDE for a programming language
on.

I doubt it's a good idea to build an entire IDE on your own - especially in 2017. There are so many great and extensible IDEs these days. Why do you want to waste your time with upcoming bugs and feature requests like "Search all files doesn't work wih regular expressions" or "Files with chinese characters don't show up properly"? There are tons of features users need to have implemented before they consider an IDE as good.

Well I think that is why he chose Free Pascal/Lazarus, since obviously there is a lot source for that.

Title: Re: Editor/ide wanted
Post by: jack616 on October 04, 2017, 04:52:14 pm
As marcov says - lazarus/fpc is my environment of choice for general purpose
programming. The vast majority of complications such as language have or
are being resolved - that's why it's so good.  I just wish people would learn to document.

It gets very frustrating to have to keep re-inventing the wheel
(I consider a basic IDE a wheel these days)
Having to build new tools because no general purpose ones that can be
easily adapted is a great waste of time.  Perhaps I should offer a bounty.

And wosi - you may wish to ask questions before advising strangers
on what they are doing. I am not (for example) doing anything on any hardware
you have ever heard of which makes all of your comments redundant.
But its good you took the time to try and help so thanks anyway.



Title: Re: Editor/ide wanted
Post by: guest58172 on October 04, 2017, 05:32:03 pm
If you need a wheel make a plugin for an IDE such as VS, MonoDevelop, Eclipse etc...all have an interface to add language plugins.
Title: Re: Editor/ide wanted
Post by: marcov on October 04, 2017, 09:28:40 pm
If you need a wheel make a plugin for an IDE such as VS, MonoDevelop, Eclipse etc...all have an interface to add language plugins.

Plugin architectures are a shallow excuse for developers that can't be bothered.
Title: Re: Editor/ide wanted
Post by: guest58172 on October 05, 2017, 06:40:31 am
Yeah but that's what he wanted. In an IDE i'd say that the GUI part is small and there's much more logic. Just a project template will not prevent him to write hundreds of LOC. A plugin for one of the IDE mentioned above that follows a rationalized interface will.
Title: Re: Editor/ide wanted
Post by: marcov on October 05, 2017, 08:33:23 am
Yeah but that's what he wanted. In an IDE i'd say that the GUI part is small and there's much more logic. Just a project template will not prevent him to write hundreds of LOC. A plugin for one of the IDE mentioned above that follows a rationalized interface will.

Well, as long as you are free to setup the project architecture and build method anyway you want, and not are forced to use a certain toolchain, that would be fine.  And of course the plugin architecture should have some time longevity.  If they change every major version that can be a pain.
Title: Re: Editor/ide wanted
Post by: jack616 on October 05, 2017, 01:45:39 pm
No need to fight boys!
Eclipse is a suggestion. It's no use to me but that's about all.

To re-jig what I'm asking for - perhaps if I add how I want to use it my needs may be clearer.

How about if I say I need a basic text editor to run on win7-64 that allows me to do things like docking windows on the side to do things like math or open notebooks or display variables etc. It must have the ability to allow me to get in and modify its menus and features with ease and if it can do code highlighting or other things already  so much the better. clearly code comments and documentation will be important. With that the ability to add calling external code and recieve information back from it - but that is easy to add  myself I know. The more that exists the less time I need to waste on writing tools to build the tools I'm trying to create. But flexibility and ease is the key. No non-standard complicated objects, and simple procedure/function oriented code where possible.
 
(Just an IDE framework). It needs to be FPC/Laz because of the degree I need to modify it.
The purpose is to help me prototype some of the new languages functions and get a feel for how it looks  before it exists or it's hardware even exists in silicon.

I think we've realised that such a framework doesn't exist so I have to make do.

Title: Re: Editor/ide wanted
Post by: Almir.Bispo on October 05, 2017, 02:58:45 pm
You can use PSPAD editor:
http://www.pspad.com/ (http://www.pspad.com/)
Title: Re: Editor/ide wanted
Post by: jack616 on October 05, 2017, 04:50:20 pm
Thanks

I do indeed use pspad every day.  It's an excellent text editor.
But I don't think it was written in lazarus or has the source code available does it?

Title: Re: Editor/ide wanted
Post by: Edson on October 05, 2017, 04:58:02 pm
Talking about Lazarus editors, there is http://wiki.freepascal.org/ATSynEdit too.
Title: Re: Editor/ide wanted
Post by: jack616 on October 05, 2017, 05:24:45 pm

That looks interesting - thanks Edson

jack
Title: Re: Editor/ide wanted
Post by: AlexTP on October 07, 2017, 11:05:06 am
>I'm looking for an editor/basic IDE  I can use to build an IDE for a programming language on.

CudaText. It has Python API, and I can add more API for you.
In this API you can

- make autocompletions
- make go to definition
- make break points (it is bookmarks)
- make any dialogs via dlg_proc()
Title: Re: Editor/ide wanted
Post by: guest58172 on October 07, 2017, 11:50:40 am
No need to fight boys!
Eclipse is a suggestion. It's no use to me but that's about all.

[...]

I think we've realised that such a framework doesn't exist so I have to make do.

There was no fight at all. My point is simply that there's a gap between a kind of template (easily moddable but require much code) and an IDE plugin (maybe less moddable but requires less code).

The worst is that what you want used to exist but for Delphi. There was a company selling components, one of them was a docking system. In their example they put an base IDE... Now don't ask me to find it again, i saw that around 2010 or so.

Maybe one last things: Object Pascal (+ libraries) is a language simple enough to do everything from scratch. There are not many ways to do things.
Title: Re: Editor/ide wanted
Post by: avra on October 07, 2017, 02:40:34 pm
There was a company selling components, one of them was a docking system. In their example they put an base IDE.
If runtime form designer with object inspector is what you look for, then take a look at
https://sourceforge.net/projects/jvruntimedesign/
Also look at Extra Design components in CodeTyphon. They can be converted to Lazarus with ct2laz utility.
Title: Re: Editor/ide wanted
Post by: guest58172 on October 07, 2017, 02:48:59 pm
I'm looking for nothing, i'm not the OP. I talked about a specific set of Delphi components which was shipped with a kind of IDE template, like the OP wanted. (It was shipped with SmartBear AutomatedDocking Library **i think** but they don't do Delphi components anymore)
Title: Re: Editor/ide wanted
Post by: jack616 on October 07, 2017, 08:19:37 pm

It seems clear there isn't anything so thank you all.

(neither python programs nor code typhon are any use to me sorry)

Title: Re: Editor/ide wanted
Post by: AlexTP on October 07, 2017, 09:11:10 pm
CudaText is Lazarus program. with Python plugins.
Title: Re: Editor/ide wanted
Post by: jamie on October 08, 2017, 02:45:02 am
Not sure but the same editor in lazarus can be used in a project.

 Maybe you have already looked into that? 

 SynEdit ?

 For a programming editor it seems to work well.

 I remember the old WordPad+ or NotePadPlus or something like that which could
be setup for different languages.


Title: Re: Editor/ide wanted
Post by: jack616 on October 09, 2017, 05:58:26 pm
Yes jamie I did consider that but I'd have to strip out huge chunks of it
and an object based application doesn't lend itself to that sort of canibalisation.
(There's just too much hidden away or hard to identify)

Alex - I cant imagine why you'd want anything to do with python when you have lazarus
but like I said - python is no good to me.  Bodge jobs need to be designed out not in.

Title: Re: Editor/ide wanted
Post by: AlexTP on October 09, 2017, 06:33:34 pm
In only Lazarus you have 2 components:
SynEdit
ATSynEdit (see lazarus wiki)
TinyPortal © 2005-2018