LINUX.ORG.RU

мне кажется, что в vim должно быть

name_no ★★
()

Софтина называется Emacs.

Вот, например, тут есть CLIPS mode: http://www.cs.us.es/software/clips/ Я даже проверил на Emacs 22. Вроде подсвечивает. Еще там лежит inferior CLIPS mode. Я предполагаю, что это что-то типа интерактивной работыс CLIPS из Emacs. Но я не пробовал, так как нет CLIPS.Предположу, что это не единственный вариант колорайзера.

А подсветка от Lisp'ов не катит?

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

>А подсветка от Lisp'ов не катит?

Не думаю. Я вообще не понимаю, зачем в CLIPS скобочки. В лиспах это хотя бы оправдано.

Zenom ★★★
()
Ответ на: комментарий от elf

>Емакс заманчиво, но что-то мне подсказывает, что емакс прийдется сперва изучать

Всегда все случается в первый раз. Да там просто. Ставится Emacs, а потом можно моду подрубать в ~/.emacs. Компильнуть, путь указать, где искать:

(add-to-list 'load-path «~/path/to/clips/mode/»)

А дальше уже решать, как включать. Если по расширению (пусть будет *.clp), то

(add-to-list 'auto-mode-alist '(«\\.clp$\\'» . clips-mode))

Вот.

А inferior CLIPS mode — это действительно интерактивная вещь. Прямо в коде нажимаешь C-M-x, например, на код внутри (defrule...), и это дело отправляется в CLIPS. Но только надо, конечно, inf-clips тоже подгрузить, а не только clisp-mode.el, который подсветку делает. Установить также (setq inferior-clips-program «clips»), чтобы знала, какую программу запускать. Наверное, все.

Дальше C-x C-f на любой файл *.clp. Автоматом стартует мода нужная.

Zubok ★★★★★
()
Ответ на: комментарий от elf

Поставил 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, конечно, но хоть что-то. При желании всегда можно допинать.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Смотрю я как баран на новые ворота. И совсем не понимаю что делать.

Это ж вроде как в емаксе надо подкрутить все для клипса. Или таки в клипсе все для емакса О_о

elf
() автор топика
Ответ на: комментарий от elf

1. Поставить Emacs и clips

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), указав путь.

Zubok ★★★★★
()
Ответ на: комментарий от elf

Угу.

Еще можешь вот это добавить в ~/.emacs. Тогда у тебя по C-c C-z, нажатой в буфере программы, выскочит во второй половинке буфер *clips* с приглашением. Будет удобно. Закрыть его можно C-x 0 (стандартное сочетание). А еще автоматически можно включить режим подсветки скобочек.

(add-hook 'clips-mode-hook
	  (lambda ()
	    (show-paren-mode t)
	    (local-set-key "\C-c\C-z" 
			   '(lambda () (interactive)
			      (pop-to-buffer inferior-clips-buffer)))))
Zubok ★★★★★
()
Ответ на: комментарий от Zubok

О, удобнее.

Все же хорош емакс. Единственное нифига не интуитивный, фиг бы сам додумался, что конфиги надо CLIPS-образно писать )

elf
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.