2011-08-30 19 views

Respuesta

12

clojure-jack-in inicia una sesión de SLIME para su proyecto actual.

Hace esto generando un número de puerto aleatorio, ejecutando lein jack-in con este número de puerto en un subproceso, esperando que el servidor swank se inicie y luego llame al slime-connect con el número de puerto.

Desde lein jack-in se utiliza para iniciar el servidor ostentoso, es obvio que necesita utilizar Leiningen en su proyecto y es necesario tener el plugin Swank-clojure de Leiningen instalado, ya sea mediante la instalación como un plugin independiente (lein plugin install swank-clojure 1.3.2) o incluyéndolo como una dependencia de dev en su project.clj.

En el lado de Emacs, debe instalar clojure-mode, preferiblemente desde Marmalade. No debería necesitar agregar nada a su .emacs.

La diferencia entre usar lein jack-in (a través de M-x clojure-jack-in) vs. corriendo lein swank es que clojure-jack-in también carga una versión de cieno que se incluye con el plugin Leiningen Swank-clojure lugar de la versión BABA instalado en Emacs. No estoy seguro de cuál es el razonamiento detrás de esto, presumiblemente solo para asegurarme de que la versión SLIME sea compatible con el servidor swank.

+0

La otra razón es que la versión de SLIME utilizada con swank-clojure no funciona correctamente con la mayoría de las implementaciones de Common Lisp y se despoja de algunas de sus características. –

+0

¿Sabe por qué se quitaron estas características? Realmente nunca tuve problemas con la versión estándar de SLIME y swank-clojure, ahora uso clojure-jack-in principalmente por conveniencia. –

+0

Recuerdo que faltaron algunos comandos de referencia cruzada, no todo estaba allí, desde el fango de lodo. En algún momento faltaba la finalización difusa, pero creo que se ha agregado desde entonces. No he usado Clojure por un tiempo y mis recuerdos son un poco vagos. El param highlight de Slime no está implementado también, creo. –

Cuestiones relacionadas