chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] Much improved customized Emacs


From: Daniel Leslie
Subject: [Chicken-users] Much improved customized Emacs
Date: Thu, 22 Nov 2012 18:40:39 -0800

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]