Hello Randy,
* I'm always on the lookout for a better editor, and
* I'm looking for an editing component (widget, control, ...) for a project
I'd like to do
I think there is not very much except Scintilla.
I've seen a Delphi component some time ago written for a php editor,
but it wasn't under heavy development and missed a lot of features.
Don't know if Simon found some time to work on this "aeditor"
component, which is 100% ruby (I'm not sure if this is a good idea,
because hard to get it snappy).
For that project, I'd like to find an editing component that:
* is snappy, even on slower overloaded machines
* without listing all of them at the moment, has all the typical features
of an editor, and in addition has the following:
* customizable syntax highlighting
Arachno don't have it yet. But it is planned based on simple regexpr
or as C extension.
* keyboard macros (Arachno has this, according to
http://www.ruby-ide.com/ruby/features.php\)
* a macro language, and
Not yet. But it will come, and it will be Ruby (or Python - if you
prefer this). I started with the macro language two weeks ago when
a customer mentioned that it might be good enough if the macro
language runs in a second process and communicate via sockets with the
main application. In this way i can work around the current limitation
that there can be only one ruby interpreter in one native thread.
And this also gives a higher security level during development if a
macro crashs. But adding this raises a few interesting points and i
have to check every source line if there are problems. As for example
you have to completely disable the user interface before running
macros.
* which can be integrated with recorded keyboard macros (it is quite
common for me to start writing a macro by recording keystrokes. That macro
may not have all the features I need (especially conditionals) so I am used
to taking that macro and adding code from the macro language so that it can
do everything I need)
Nice idea. AFAIK even XEmacs don't support it (at least without shooting
yourself in your foot).
* folding based on custom "sentinels" or features of the file (I have
nedit macros that fold on any TWiki level heading (i.e., on "---+ " through
"---++++++ ")
I could implement something like this but it's the first time i
hear about it. Everybody wants it either on syntax elements
(implemented in Arachno) or on indentation.
* in the macros, the ability to define a portion of a file and search
within that portion (that's not explained very well (I'm not sure I'm stating
all the requirements), but here's an alternate explanation: I have files in
which I store multiple records (separated by a record separator string
(currently "---++ ", but intended to be easily changable)). I have nedit
macros that can search the file and find records that contain all of a list
of search terms.
As long as the search range does not have gaps it should work with all
the macro enabled editors. First set the selection and then use the
"search in selection" (or whatever it is called) option. And of course
it might be much easier to do it yourself with simple string
operations in your macro language (assuming it is a complete and universal
language).
* able to export selected records to another application for further
processing (sort of like an abiltiy to sort, although the first external
application will not return any results, the record is just specially
formatted and displayed for the user) (so, in fact, unlike the similar
capability in nedit, I need an option that either deletes the text sent to
the other application for replacement by what is sent back from that
application, or that does not delete that text (as nothing will be sent back
from that application)
This feature will be in the next release (expected end of next week).
You can even catch the exit code and decide on this if you want to replace
the selected text range with the external application or not.
* written in a language that I can grok so if necessary I can customize
it still further (and with a license that lets me do that)
Okay, thats a knock out criterium for me. I will not publish my eiffel
code, but i think if you have a good complete macro language it is not
necessary. When i see what you can do with VisualSlick Edit then you
don't really need it. And if the wanted features are so different from the
current state of the editor, i doubt that you want to hack inside a
300000 lines project.
* usable at resolutions from 640x480 and up
Arachno has a nice slimline mode, (even hidding scrollbars on small
displays) you simply can't get more then this.
This was just a quick off the top of my head list--if Arachno satisfies these
criteria I may need to look a little closer.
What is the editor component in Arachno written in? Does it have any sort of
open source license? Does it have the features listed above?
It's written in Eiffel, and from your mentioned features i can't find
something really new, just your heavy demand of macro programming, but
this is "under development".
So i think Arachno will be (at the current development level) not
your editor, but maybe you like to try it out end of 2006. I think
until then i implemented the points on your requirement list.
At the moment i see that there is heavy feature demand from two different
camps, the one that want to add more ruby specific features (mostly
this are the java converting guys) and the other people that want a general
purpose editor with some ruby support (long time programmers of
scripting languages and xemacs/vi users)
So i continue to do what i did in the past: look what i would like to see in
a Ruby IDE and implement this first. Thats the way every successful Shareware
application was developed in the past.
···
--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ruby-ide.com
CTO Scriptolutions Ruby, PHP, Python IDE 's