I've released an Emacs package that encompasses the customizations I've
made to the base scheme-mode. This is a heavy iteration on the work
previously present on the wiki.

It provides:
- 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-emacs

Thanks,
-Dan
_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to