Вот, например, тут есть CLIPS mode: http://www.cs.us.es/software/clips/ Я даже проверил на Emacs 22. Вроде подсвечивает. Еще там лежит inferior CLIPS mode. Я предполагаю, что это что-то типа интерактивной работыс CLIPS из Emacs. Но я не пробовал, так как нет CLIPS.Предположу, что это не единственный вариант колорайзера.
А inferior CLIPS mode — это действительно интерактивная вещь. Прямо в коде нажимаешь C-M-x, например, на код внутри (defrule...), и это дело отправляется в CLIPS. Но только надо, конечно, inf-clips тоже подгрузить, а не только clisp-mode.el, который подсветку делает. Установить также (setq inferior-clips-program «clips»), чтобы знала, какую программу запускать. Наверное, все.
Дальше C-x C-f на любой файл *.clp. Автоматом стартует мода нужная.
Поставил CLIPS и немного попробовал, совсем чуть-чуть, Поэтому о проблемах сказать не могу 100%-но. Вроде бы работает. Все, как я и сказал:
;; Path to the clips-mode.el(c) and inf-clips.el(c)
(add-to-list 'load-path "~/path/to/clips/mode/")
(add-to-list 'auto-mode-alist '("\\.clp\\'" . clips-mode))
(require 'inf-clips)
(setq inferior-clips-program "clips")
Далее открываем любой файл *.clp (C-x C-f). Он открывается, подсветка автоматически включается. Далее делаем M-x run-clips, стартует процесс CLISP внутри Emacs, появляется приглашение, как и в консоли. Переключаемся опять в буфер кода (можно оба на экране держать). Ну и пишем (defrule...) (deftemplates...) Внутри каждого выражения работает C-M-x. Нажал — оно тут же в процесс CLIPS уходит.
В буфере *Clips*, где приглашение, работают кнопки C-c r — это (rules), C-c i — это (reset) и др. К сожалению, узнать об этом можно только, нажав C-h m в буфере *Clips*. Там внизу справка пойдет о том, какое сочетание на какую функцию повешено. Выдержка:
C-c f inf-clips-get-facts
C-c g inf-clips-run-engine
C-c i inf-clips-reset-engine
C-c l inf-clips-load-file
C-c r inf-clips-get-rules
История ввода тоже работает.
Не SLIME, конечно, но хоть что-то. При желании всегда можно допинать.
2. Сохранить на диск файлы clips-mode.el и inf-clips.el. Создай, скажем, каталог ~/emacs/modes и туда положи. можно скомпилировать, но пока не грузись этим.
3. Создать, если нет, ~/.emacs, добавить в него:
;; Path to the clips-mode.el(c) and inf-clips.el(c)
(add-to-list 'load-path "~/emacs/modes/")
(add-to-list 'auto-mode-alist '("\\.clp\\'" . clips-mode))
(require 'inf-clips)
(setq inferior-clips-program "clips")
4. Запускай Emacs. Пока и голого Emacs хватит. Для дальнейшей разборки с переключением языка уже можно обратиться к документации, гуглу и форуму.
5. В Emacs нажимаешь M-x (Это Meta-X или Alt-X) и пишешь run-clips. Увидишь приглашение CLIPS> и курсорчик. Это буфер *Clips*.
6. Загружаешь нужный файл *.clp комбинацией C-x C-f (C — это Ctrl). Он должен быть подсвечен по идее. Если файла нет, то создается новый. Если укажешь расширение *.clp, то сразу режим подсветки включится. Это буфер файла программы. Пишешь программу. По ходу написания всякие (defrules ...) и пр., (наверное) можно сразу передавать в запущенныйна шаге 5 CLIPS комбинацией C-M-x (Ctrl+Alt+X) внутри тела декларации. Когда захочешь подергать непосредственно *Clips*, то просто переключись в тот буфер (C-x C-b) и там прямо в приглашении набирай, что тебе надо. То есть работа с *Clips* идет сразу из кода, тебе не надо каждый раз дергать CLIPS, чтобы файл весь загрузить в себя. Работа как бы инкрементально идет. Хотя и загрузить файл в буфере *Clips* можно комбинацией C-c l (Ctrl-C L), указав путь.
Еще можешь вот это добавить в ~/.emacs. Тогда у тебя по C-c C-z, нажатой в буфере программы, выскочит во второй половинке буфер *clips* с приглашением. Будет удобно. Закрыть его можно C-x 0 (стандартное сочетание). А еще автоматически можно включить режим подсветки скобочек.