wenn ich durch leiningen swank anfange akzeptiert es die nächste schleimverbindung und los gehts. Ich würde wirklich gerne mehrere Emacs-Instanzen mit der gleichen Swank-Instanz verbinden lassen. Darf ich das machen? Kann ich das durch Leiningen machen?Kann ich zwei Emacs/Slimes mit derselben Swank-Instanz verbinden?
Antwort
Nun, können Sie Ihre erste SLIME normal starten, dann (require 'swank.swank)
(oder vielleicht ist es standardmäßig erforderlich ... nicht sicher), nicht (swank.swank/start-repl port)
mit port
durch eine Portnummer ersetzt und Sie können eine zweite Instanz von SLIME verbinden, dass neu erstellte REPL.
Ich habe es getan gerade jetzt, mit einem Emacs zu einem REPL Anschluss begann mit lein swank
, (swank.swank/start-repl 4006)
im ersten Emacs, Mx schleim Verbindung in der zweiten Emacs (4006 als Portnummer bereitstellt), dann könnte ich tun dies:
; first Emacs
(def x 5)
; second Emacs
x ; evaluates to 5
(def y 1234)
; first Emacs
y ; evaluates to 1234
Cool, nein? :-)
Update: Oh, BTW - (swank.swank/start-repl)
startet die neue REPL im Hintergrund und nicht blockieren die REPL, die Sie verwenden, um es auszuführen. Der Rückgabewert ist nil
, also bin ich nicht sicher, wie die neue REPL ...
(Update 2.: Entfernte etwas, was ich bin nicht mehr sicher) zu töten
Update 3: Während der oben Methode ist vollkommen allgemein, dass es macht es möglich, einen zusätzlichen Client unabhängig davon, wie die ursprüngliche Swank Instanz gestartet wurde zu verbinden, könnte es bequemer sein Swank zu beginnen mit dem Befehl
lein swank 4005 "localhost" :dont-close true
die Port und Hostnamen Argumente Muss explizit erwähnt werden, wenn :dont-close true
zu übergeben ist. 4005
und "localhost"
sind die Standardwerte.
Dies ermöglicht es, die Verbindung zu Swank zu trennen und später erneut zu verbinden, aber auch mehrere Clients gleichzeitig zu verbinden.
(Ich habe gerade bemerkt, dass dies möglich ist, während this new question auf der Beantwortung wie reconnections zu Leiningen gestartet Swank ermöglichen; es mir plötzlich aufgetreten zu überprüfen, ob :dont-close
auch gleichzeitige Verbindungen zu akzeptieren verursachen würde - und es funktioniert.)
- 1. Warum kann ich nicht zwei Buchsen verbinden?
- 2. Wie kann ich zwei PDFs mit iTextSharp verbinden?
- 3. zwei Ansichten mit derselben ID
- 4. Kann ich zwei verschiedene Pakete in derselben Android-Anwendung haben?
- 5. Kann ich zwei verschiedene Klassen aus derselben JAR-Datei ausführen?
- 6. Kann ich zwei Gruppen von Regex in derselben Menge zusammenbringen?
- 7. Zwei Tisch verbinden mit Laravel
- 8. Verbinden Sie zwei oder mehr Anwendungen mit Hibernate mit derselben Datenbank
- 9. Wie kann ich IBOutletCollection verwenden, um mehrere UIImageViews mit derselben Steckdose zu verbinden?
- 10. Wie kann ich zwei serialisierte Java-Objekte wieder miteinander verbinden?
- 11. Wie kann ich zwei ActiveRecord Relation-Objekte über Schienen verbinden?
- 12. Wie kann ich zwei Sockets in Linux "verbinden"?
- 13. Wie kann ich zwei cmd Windows verbinden? [Batch-Dateien]
- 14. Wie kann ich zwei bedingte Unterabfragen in SQL verbinden?
- 15. Wie verbinden sich zwei Computer über NAT mit derselben externen Adresse?
- 16. Ist es besser, zwei Felder miteinander zu verbinden oder sie jeweils mit derselben Konstante zu vergleichen?
- 17. UITesting: Zwei Elemente mit derselben AccessibilityTitle
- 18. Wie kann man zwei Tabellen mit Gruppenwerten verbinden?
- 19. Wie kann ich zwei Tabellen mit derselben Struktur vergleichen und unübertroffene Datensätze mit Realm finden?
- 20. Kann ich MSVCRT statisch mit mingw verbinden?
- 21. Wie kann ich Thermodrucker mit PHP verbinden?
- 22. Ich kann mongodb nicht mit django verbinden
- 23. Kann ich mit diesem Treiber verbinden
- 24. Mehrere Felder mit derselben Eigenschaft eines MVC 3-Ansichtsmodells verbinden
- 25. zwei numpy Matrizen verbinden
- 26. Verbinden von zwei Saiten mit rlike
- 27. Verbinden von zwei Computern mit Ethernet-Kabel
- 28. äußere verbinden zwei Tabellen
- 29. Verbinden von zwei Telefonnummern
- 30. Verbinden zwei Datenrahmen
Das ist genial. Genau das, was ich gesucht habe! –
'Super' ist genau das richtige Wort. :-) Übrigens, du kannst 'swank.swank/start-repl' verwenden, um Swank in jede Clojure App einzubetten - ich habe gelesen, dass Leute es sehr gut benutzen. Der Hauptkritikpunkt ist, dass Swank sich nicht um Sicherheit kümmert, daher müssen Sie darauf achten, den Zugriff auf den REPL-Port selbst einzuschränken. –
Offenbar erfordert die oben in Update 3 beschriebene Funktionalität einen ziemlich neuen Lein-Swank; Siehe die andere Frage, auf die ich verlinkte (und insbesondere die Kommentare zu meiner Antwort dort), für Details. –