Emacs Live - Namespace nicht gefunden

8

Ich benutze Emacs Live , weil es nett zu sein scheint und mir eine Menge Konfigurationsarbeit erspart. Jetzt hat es für ein paar Tage gut funktioniert, aber heute ist anscheinend etwas kaputt gegangen. Insbesondere brach die automatische Vervollständigung ab (ich glaube, es könnte ein Problem mit ac-nrepl sein). Im Grunde zeigt mein Minipuffer jetzt nur "Namespace not found.", Ich bekomme keine echte Autovervollständigung mehr (nur Vervollständigung bei Wörtern, die bereits in der Datei sind). Und wenn ich C-c M-n starte, bekomme ich immer einen leeren * nREPL error * -Puffer, wenn die Autovervollständigung normalerweise einsetzt.

EDIT: Diese only passiert, wenn ich einen nrepl-Server mit nrepl-jack-in starte. Es genügt, eine Verbindung zu einem vorhandenen (z. B. mit lein repl) herzustellen.

    
Cubic 01.11.2012, 22:44
quelle

2 Antworten

8

Das Problem mit Namespace not found ist, dass der nrepl den Namespace des aktuellen Puffers nicht kennt. Das Problem mit nrepl-set-ns ( C-c M-n ) besteht darin, dass in-ns ausgeführt wird, wodurch die Clojure-Kernabhängigkeiten nicht berücksichtigt werden.

In beiden Fällen besteht die Umgehung darin, entweder nur den ns s-Ausdruck des Puffers auszuwerten oder den gesamten Puffer mit nrepl-load-current-buffer zu laden.

Natürlich können Sie die nrepl-set-ns ändern, um ns zu machen oder ein weiteres fn hinzuzufügen.

    
DanLebrero 11.11.2012, 02:35
quelle
0

Sieht so aus, als würde man dem Puffer eine möglicherweise leere ns-Deklaration hinzufügen:

%Vor%

und das Ausführen von nrepl-set-ns ist die beabsichtigte Verwendung von nrepl. Es erlaubt das Arbeiten mit mehreren Clojure-Puffern, jede mit ihren eigenen Importen, Aliasen usw.

Ich habe beschlossen, einen Hook zu .clj file creation / opening hinzuzufügen, der diese Arbeit automatisiert. Einer ist jedoch immer noch dafür verantwortlich, das ns -Form bei Änderung zu aktualisieren!

    
vemv 25.12.2012 18:32
quelle

Tags und Links