[climacs-devel] More ideas for gardeners
Derek Peschel
dpeschel at eskimo.com
Wed Dec 28 23:30:35 UTC 2005
First, does someone have a URL describing the gardener concept? I've been
looking over the discussion but have had to pick it up from context.
If I were choosing development projects, they might be:
- Taking advantage of Climacs's parsing to do more than just
coloring files.
So Climacs could be aware of the regular-expression language
and color expressions as they are being typed. This is not
an earth-shattering feature but it would be nice to have,
and is one reason I downloaded and set up Climacs.
The other language used in Climacs development is LISP.
Of course Climacs is aware of the structure of LISP, but the
editing commands don't make use of it much. I have been
looking for a uniform and complete set of LISP structure
navigation and editing commands, and a series of action
commands that work with a structure you have marked.
Shortcut commands would avoid the marking step and work with
a structure around (before, after) the cursor, but they
don't change the basic design.
Although it is against Climacs's goals to be a complete
development environment, the combination of structure
editing and evaluation (or other actions) may be useful,
especially when working with Climacs's own source.
We also have two LISP syntaxes, probably with different
strengths and weaknesses. Is that a good idea?
- Personally I use an editor called jstar most of the time;
it uses the WordStar keystrokes. I find them more logical
than Emacs's. Rebinding all the existing Climacs commands
is easy. Changing Climacs's assumptions to match jstar's
might be harder. The jstar commands separate the beginning
of the current selection, the end of the current selection,
the cursor, and the stack of previous positions. They also
use a quarter-plane display (no wrapped lines) and the
cursor movement and scrolling behave differently than in
Emacs. In fact many things (blocks, files, windows,
searching) differ from Emacs.
A Climacs with few assumptions about commands would
be useful. Thinking about various editors also forces
developers to think about use cases (something that is
almost completely missing from GNU Emacs). It might also be
nice to allow radical key rebindings at runtime.
The idea of keeping data separate may also be useful when
editing LISP structure -- you may want to work with more
than a few points at the same time.
- Fixing Climacs's weak points: lack of speed, lack of
developer documentation, incorrect calculation of the cursor
position, and probably others. I know speed conflicts with
the generality I mentioned just above.
I have not mastered the skill of quick programming (especially in LISP,
which I am new to) so I don't have any implementations of my ideas.
But posting ideas is still better than doing nothing. And I'd like to know
what everyone thinks.
Thanks,
-- Derek
More information about the climacs-devel
mailing list