Как использовать SLIME в качестве прокси между программой Common Lisp и Emacs Lisp?


15

Я пытаюсь сделать следующее: у меня есть программа, написанная на Common Lisp, и я хочу иметь возможность общаться с Emacs. Программа имеет дело с синтаксическим анализом на естественном языке, поэтому в Emacs мне нужно было бы получить доступ к содержимому буфера и некоторому минимальному предварительному анализу, необходимому для создания сообщений для отправки в программу Common Lisp. Затем программа Common Lisp обработает сообщения и ответит программе Emacs Lisp, чтобы отобразить результаты.

Я понимаю, что SLIME будет хорошим инструментом для достижения этой цели, главным образом потому, что он уже выполняет большую часть этого, но, изучая документацию, я обнаруживаю, что это «документация пользователя», а не «документация разработчика». По сути, я хотел бы знать, какой минимум я мог бы использовать на стороне Emacs Lisp для обеспечения связи (мне, конечно, не нужен самоанализ, или REPL в этом случае, все, что мне нужно, это отправлять сообщения и из моей программы работает в SWANK).

Ответы:


7

Со стороны CL функция, которую вы ищете, - swank::eval-in-emacsэто передача кода, который вы хотите оценить в emacs. Вы можете увидеть пример здесь , чтобы заставить emacs запустить команду graphivz и открыть полученный png в буфере. Со стороны emacs вы ищете функцию slime-eval (найдена в slime.el)


Извините, мне понадобилось время, чтобы вернуться к этому.
wvxvw
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.