Wie verwende ich SLIME als Proxy zwischen Common Lisp-Programm und Emacs Lisp?

15

Ich möchte Folgendes tun: Ich habe ein Programm in Common Lisp geschrieben, mit dem ich in der Lage sein möchte, mit Emacs zu kommunizieren. Das Programm befasst sich mit dem Parsen in natürlicher Sprache, sodass ich in Emacs nur auf den Inhalt des Puffers und einige minimale vorläufige Parsing-Vorgänge zugreifen muss, um Nachrichten zu erstellen, die an das Common Lisp-Programm gesendet werden sollen. Das Common Lisp-Programm verarbeitet dann die Nachrichten und antwortet dem Emacs Lisp-Programm, sodass die Ergebnisse angezeigt werden.

Ich verstehe, dass SLIME ein gutes Werkzeug ist, um dies zu erreichen, vor allem, weil es das meiste bereits kann, aber wenn ich mir die Dokumentation anschaue, stelle ich fest, dass es sich um eine Art "Benutzerdokumentation" handelt, nicht um eine "Entwicklerdokumentation". Im Wesentlichen würde ich gerne wissen, welches Minimum ich auf der Seite von Emacs Lisp verwenden könnte, um die Kommunikation in Gang zu bringen (ich brauche auf keinen Fall die Introspektion oder REPL in diesem Fall, alles, was ich brauche, ist das Senden von Nachrichten an und aus meinem Programm läuft in SWANK).

wvxvw
quelle

Antworten:

7

Von der CL-Seite ist die gesuchte Funktion, swank::eval-in-emacsan die Sie den Code übergeben, den Sie in Emacs auswerten möchten. Sie können hier ein Beispiel sehen , mit dem Emacs den Befehl graphivz ausführen und die resultierende PNG in einem Puffer öffnen. Auf der Emacs-Seite ist die gesuchte Funktion slime-eval (in slime.el enthalten).

PuercoPop
quelle
Es hat eine Weile gedauert, bis ich wieder da war.
wvxvw