Mikhail Novikov freiksenet@gmail.com writes:
Hi!
SLIME is great and it was the reason why I switched from vim to emacs. But both vim and emacs+slime have one minor problem that bugs me a lot: syntax coloration only applies to predefined set of keywords, so not only some of common lisp standard keywords such as "push" are not colored, but also all functions user implements are not highlighted.
Is it somehow possible to make slime modify lisp font-lock mode so all currently implemented functions/macroses/variables are highlighted too? M-tab already gives the list of all possible keywords, so this should not be too hard, I think %)
If all currently implemented functions/macros/variables are highlighted, then pretty much everything is highlighted.
I once had a patch to hightlight all macros (by generalizing the indentation update information), but I didn't like it because the result looked like fruit salad, and all the colors would overstrain your celebral cortex. In particular:
- I really loathed that AND, and OR were fontified specially. That would redirect your attention to them, and away from the predicates they're used with and which are the interesting bits.
- Emacs' fontification system works by regexps; it simply looks for (<symbol> and cannot know when such a occurence is actually evaluated. By increasing the amount of symbols that are highlighted, you also increase the amount of false positives which is very annoying when you do encounter one. (For example using BLOCK as a function's parameter name.)
- For the same reason, fontification does not take packages into account. Although I think it's possible to make it do so. The result may not be performanent enough, though.
But see for yourself
http://common-lisp.net/~trittweiler/hacks/slime/slime-fruit-salad.png
(Notice how AND, and PUSH are fontified.)
What gain do you promise yourself by longing for this?
-T.