Hello Randy,
RK> * I'm always on the lookout for a better editor, and
RK> * I'm looking for an editing component (widget, control, ...) for a project
RK> 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).
RK> For that project, I'd like to find an editing component that:
RK> * is snappy, even on slower overloaded machines
RK> * without listing all of them at the moment, has all the typical features
RK> of an editor, and in addition has the following:
RK> * customizable syntax highlighting
Arachno don't have it yet. But it is planned based on simple regexpr
or as C extension.
RK> * keyboard macros (Arachno has this, according to
RK>
http://www.ruby-ide.com/ruby/features.php)
RK> * 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.
RK> * which can be integrated with recorded keyboard macros (it is quite
RK> common for me to start writing a macro by recording keystrokes. That macro
RK> may not have all the features I need (especially conditionals) so I am used
RK> to taking that macro and adding code from the macro language so that it can
RK> do everything I need)
Nice idea. AFAIK even XEmacs don't support it (at least without shooting
yourself in your foot).
RK> * folding based on custom "sentinels" or features of the file (I have
RK> nedit macros that fold on any TWiki level heading (i.e., on "---+ " through
RK> "---++++++ ")
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.
RK> * in the macros, the ability to define a portion of a file and search
RK> within that portion (that's not explained very well (I'm not sure I'm stating
RK> all the requirements), but here's an alternate explanation: I have files in
RK> which I store multiple records (separated by a record separator string
RK> (currently "---++ ", but intended to be easily changable)). I have nedit
RK> macros that can search the file and find records that contain all of a list
RK> 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).
RK> * able to export selected records to another application for further
RK> processing (sort of like an abiltiy to sort, although the first external
RK> application will not return any results, the record is just specially
RK> formatted and displayed for the user) (so, in fact, unlike the similar
RK> capability in nedit, I need an option that either deletes the text sent to
RK> the other application for replacement by what is sent back from that
RK> application, or that does not delete that text (as nothing will be sent back
RK> 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.
RK> * written in a language that I can grok so if necessary I can customize
RK> 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.
RK> * 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.
RK> This was just a quick off the top of my head list--if Arachno satisfies these
RK> criteria I may need to look a little closer.
RK> What is the editor component in Arachno written in? Does it have any sort of
RK> 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.