- Syntax support for all presently installed modules, both bound symbols and macros.
- Chicken-doc support where documentation exists (including a C-? binding to lookup the word-at-point).
- Support for font-locking of the above.
- Automatic loading of a defvar'd etag file, if you wish.
- Auto-Complete and Font Locking of
prefixed symbols; IE, if you imported Allegro with the prefix al:
then al:draw-triangle will have the draw-triangle portion correctly coloured and auto-completed!
Most importantly, and the itch that drove this endeavour,
this is all provided independent of a running REPL.
For those of us who tend to work on more unstable/low-level code that is prone to killing the REPL the higher-level functionality of the various scheme modes are frustratingly inconsistent at best. Now without the need for an active REPL we can enjoy full syntax highlighting, auto-completion and documentation.
Now, there is one outstanding annoyance that I'd like to field the mailing list for suggestions on. At present, all symbols found via
##sys#macro-environment and
##sys#environment-symbols# are given the font-lock-builtin-face.
I'd like to know what's best not to include at all, and hear some suggestions on how best to divide up the rest. Right now it feels like that font-locking is a little
too aggressive.
And perhaps the one negative: in order to provide these features without the REPL a cache is built when scheme-mode is first loaded. I
highly recommend you run Emacs from a daemon if you use this extension, so as to avoid unnecessarily recaching.
That, or you can customize the
chicken-ac-modules variable to just load the 'chicken' module and there will be nary a hitch, though far less completions.
Anyhow, further details are available on the wiki:
https://wiki.call-cc.org/dans-custom-emacsThanks,
-Dan