2012-10-11 2 views
22

Ich war eigentlich ziemlich glücklich mit vim + lein repl, aber da so viele Leute sagen, dass Emacs ist der Weg zu gehen, wenn es um Lisps geht, habe ich beschlossen, es zu versuchen. Das Problem besteht nun darin, eine Umgebung einzurichten, die all die fantastischen Dinge erledigt, über die die Leute reden - für den Moment habe ich clojure-mode und nREPL installiert und das funktioniert einigermaßen gut, aber ich muss das repl mit meinem Leiningen arbeiten lassen Projekte, wenn dieses Experiment irgendwohin gehen soll (ein Replizieren im Editor wäre ziemlich sinnlos, wenn das bedeuten würde, dass ich alle meine Abhängigkeiten (besonders Klassenpfad-bezogene) wieder selbst verwalten müsste). Problematisch dabei ist, dass die meisten Artikel ich online sehenWie kommen Emacs, nrepl.el und Leiningen zum Mitspielen?

  • A) über Swank-clojure, die
  • B) über Leiningen 1.x ist veraltet, die
  • C veraltet ist) sowohl
  • D) Nur Installation abdecken, nicht, wie man tatsächlich die Dinge verwenden Sie gerade installiert haben (oder sogar, was sie tun)

Nun, was ich suche ist:

  • Get nrepl.el mein project.clj
  • Finden Sie heraus, was der normale Arbeitsablauf mit Leiningen + Emacs + clojure-mode + nrepl.el ist
  • Hat nichts zu respektieren mit der Frage zu tun, aber ich wäre daran interessiert, warum Emacs manchmal Text vertuscht (ändert die Schriftfarbe in Hintergrundfarbe, bis er vom Cursor getroffen wird), ohne dass ich darum bitt.
+1

Große Frage, genau das, was ich auch brauchte, danke. –

Antwort

23

Angenommen, Sie beide lein2 haben und nrepl.el installiert:

Eine Option:

Sie einfach in Emacs öffnen eine Datei auf Ihrem lein Projekt gehören (wie foo.clj) und Sie geben M-x nrepl-jack-in. Dadurch wird ein nREPL mit allen geladenen Deps gestartet und Sie können mehr oder weniger auf die gleiche Weise damit spielen wie mit swank-clojure. (Das ist, was ich die meiste Zeit tun)

Option B:

Sie gehen in Ihr Projekt dir in einem Terminal und geben Sie dort:

lein repl 

Danach M-x nrepl Eingabe ermöglicht es Ihnen, eine Verbindung herstellen die laufende nrepl-Sitzung.

nrepl.el kommt mit einem handlichen Moll-Modus, mit dem Sie Code in Ihren Clojure-Quelldateien auswerten und direkt in das repl laden können (wie swank-clojure). Eine Liste aller verfügbaren Befehle im Menübereich nREPL.

P.S.

nrepl.el wurde in CIDER umbenannt.

+0

Es scheint, dass nrepl.el bereits standardmäßig Leiningen-Projekte kennt - das ist ordentlich. – Cubic

+0

nrepl.el kennt lein 2 Projekte. Es wird nicht funktionieren mit lein 1.x –

+1

Das ist in Ordnung, ich bin nicht wirklich interessiert an Lein 1.x - Ich habe gerade erst mit clojure angefangen und habe mich sehr bemüht, "alte" Sachen zu vermeiden (die Dinge neigen dazu, wirklich schnell alt zu werden, wenn man eine relativ neue Sprache hat). – Cubic