¿Puedo conectar dos emacs / limos a la misma instancia Swank?
Pregunta
cuando comienzo Swank través de Leiningen acepta la próxima conexión de limo y que me voy. Realmente me gustaría tener varias instancias emacs se conectan a la misma instancia Swank. ¿Puedo hacer esto? Yo puedo hacer esto a través de Leiningen?
Solución
Bueno, usted puede comenzar su primera BABA normalmente, entonces (require 'swank.swank)
(o tal vez es requerido por defecto ... no estoy seguro), hacer (swank.swank/start-repl port)
con port
reemplazado por algún número de puerto y se puede conectar una segunda instancia de baba a la nueva REPL creado.
lo he hecho hace un momento, con uno de Emacs se conecta a un REPL comenzado con lein swank
, (swank.swank/start-repl 4006)
en el primer Emacs, Mx limo de conexión en el segundo Emacs (proporcionando 4006 como número de puerto), entonces yo podría hacer esto :
; first Emacs
(def x 5)
; second Emacs
x ; evaluates to 5
(def y 1234)
; first Emacs
y ; evaluates to 1234
Cool, ¿no? : -)
Actualización: Ah, por cierto - (swank.swank/start-repl)
comienza el nuevo REPL en el fondo y no bloquear el REPL se utiliza para ejecutarlo. El valor de retorno es nil
, así que no estoy seguro de cómo matar a la nueva REPL ...
(Actualización 2:. Eliminada algo que ya no estoy seguro de)
Actualización 3: Aunque el método anterior es perfectamente general en la que hace posible conectar un cliente adicional, independientemente de cómo se haya iniciado la instancia original Swank, que podría ser más conveniente para comenzar Swank con el comando
lein swank 4005 "localhost" :dont-close true
La argumentos de puerto y nombre de host debe mencionarse explícitamente si :dont-close true
se va a pasar. 4005
y "localhost"
son los valores por defecto.
Esto hará que sea posible desconectar de Swank y vuelva a conectar más tarde, sino también para conectar un número de clientes al mismo tiempo.
(Acabo de notar que esto es posible al mismo tiempo responder esta nueva pregunta sobre cómo activar las reconexiones a Swank comenzado Leiningen-;. que de repente se me ocurrió comprobar si :dont-close
que también causa conexiones simultáneas para ser aceptado - y lo hace)