2012-11-04 22 views
6

Ich versuche Emacs für Haskell einzurichten. Ich habe Haskell-Modus mit El-Get heruntergeladen und einige Teile funktionieren (wie Einrückung, Start ghci, etc.), aber ich kann nicht die tags-generation funktioniert.Wie richte ich den Haskell-Modus ein, um Tags zu generieren?

Hasktags ist installiert, und (load "~/.emacs.d/el-get/haskell-mode/haskell-site-file") wird zu meiner Init-Datei hinzugefügt.

Müssen Hasktags in einem bestimmten Verzeichnis stehen? (Ich habe das Verzeichnis zu PATH hinzugefügt, kein Erfolg.)

Die Funktion haskell-process-generate-tags ist nicht verfügbar mit M-x. Wenn ich (load "~/.emacs.d/el-get/haskell-mode/haskell-process.el") manuell zur init-Datei hinzufüge, ist die Funktion verfügbar, aber es wird keine TAGS-Datei generiert.

(PS: Ich benutze Emacs 24.1 mit Linux)

Antwort

4

hasktags in PATH sein soll, aber sind Sie sicher, dass PATH in Emacs die gleichen wie PATH in der Schale ist? Ich habe gerade versucht, und haskell-process-generate-tags arbeitete für mich ohne Probleme. Versuchen Sie, Setup PATH von Emacs mit:

(setenv "PATH" (concat (getenv "PATH") ":directory_with_hasktags")) 

Sie auch C-x C-s-haskell-mode-save-buffer in examples/init.el wie beschrieben binden können - in diesem Fall können Sie haskell-tags-on-save Variable t gesetzt und hasktags wird auf jeden heißen speichern von Ihnen haskell Dateien.

+0

Danke! das Ändern der Emacs 'PATH' löste es. Noch eine Sache: Mussten Sie '' load "~/.emacs.d/el-get/haskell-mode/haskell-process.el") 'zu Ihrer init-Datei hinzufügen? Ohne es funktioniert es immer noch nicht. –

+0

ja, ich musste es explizit laden - diese Datei hat keine Autoloads für diese Funktion. –

+0

btw, das Laden von 'haskell-process' wurde in neuen Versionen durch Hinzufügen von' provide' ... behoben. –