2010-03-03 8 views

risposta

11

Beh, si può iniziare la prima SLIME normalmente, quindi (require 'swank.swank) (o forse è richiesto di default ... non è sicuro), non (swank.swank/start-repl port) con port sostituito da un numero di porta e si può collegare una seconda istanza di melma a quella REPL appena creato.

ho fatto solo ora, con un Emacs si collega ad un REPL iniziato con lein swank, (swank.swank/start-repl 4006) nel primo Emacs, Mx melma-connect nella seconda Emacs (che fornisce 4006 come numero di porta), poi ho potuto fare this:

; first Emacs 
(def x 5) 

; second Emacs 
x ; evaluates to 5 
(def y 1234) 

; first Emacs 
y ; evaluates to 1234 

Freddo, no? :-)

Update: Oh, BTW - (swank.swank/start-repl) inizia il nuovo REPL in background e non lo fa blocco del REPL si usa per eseguirlo. Il valore di ritorno è nil, quindi non sono sicuro di come uccidere il nuovo REPL ...

(Update 2:. Qualcosa Rimosso Non sono più sicuro)

Update 3: Mentre il sopra metodo è perfettamente in generale, in quanto consente di collegare un cliente in più a prescindere da come è stata avviata l'istanza originale Swank, potrebbe essere più conveniente per iniziare Swank con il comando

lein swank 4005 "localhost" :dont-close true 

il porto e di accoglienza argomenti nome deve essere menzionato esplicitamente se deve essere passato :dont-close true. 4005 e "localhost" sono i valori predefiniti.

Ciò consentirà di disconnettersi da Swank e riconnettersi in seguito, ma anche di connettere un numero di client contemporaneamente.

(ho appena notato che questo è possibile rispondendo this new question su come abilitare riconnessioni a Leiningen-iniziato Swank, ma improvvisamente a me per controllare se :dont-close sarebbe anche causare connessioni simultanee per essere accettato - e lo fa.)

+0

Questo è fantastico. Esattamente quello che stavo cercando! –

+2

'Awesome' è esattamente la parola giusta. :-) BTW, puoi usare 'swank.swank/start-repl' per incorporare Swank in qualsiasi app Clojure - Ho letto che le persone lo usano con un ottimo effetto. L'avvertimento principale è che Swank non si preoccupa della sicurezza, quindi devi preoccuparti di limitare l'accesso alla porta REPL. –

+0

Apparentemente la funzionalità descritta nell'aggiornamento 3 sopra richiede un lein swank abbastanza recente; vedi l'altra domanda che ho collegato (e in particolare i commenti sulla mia risposta) per i dettagli. –

Problemi correlati