Как настроить haskell-mode для генерации тегов?

Я пытаюсь настроить emacs для haskell. Я загрузил haskell-mode с помощью el-get, и некоторые части работают (например, отступы, запуск ghci и т. д.), но я не могу получить генерация тегов работает.

Hasktags установлен, а (load "~/.emacs.d/el-get/haskell-mode/haskell-site-file") добавлен в мой init-файл.

Должны ли хэштеги находиться в определенном каталоге? (Я добавил каталог в PATH, безуспешно.)

Функция haskell-process-generate-tags недоступна с M-x. Когда я добавляю (load "~/.emacs.d/el-get/haskell-mode/haskell-process.el") вручную в файл инициализации, функция доступна, но файл TAGS не создается.

(PS: я использую emacs 24.1 с Linux)


person Pi Tabread    schedule 04.11.2012    source источник


Ответы (2)


hasktags должно быть в PATH, но вы уверены, что PATH в Emacs совпадает с PATH в оболочке? Я только что попробовал, и haskell-process-generate-tags у меня сработало без проблем. Попробуйте настроить PATH из Emacs с помощью:

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

Вы также можете привязать C-x C-s к haskell-mode-save-buffer, как описано в examples/init.el - в этом случае вы можете установить переменную haskell-tags-on-save в t, и hasktags будет вызываться при каждом сохранении ваших файлов haskell.

person Alex Ott    schedule 04.11.2012
comment
Спасибо! изменение emacs PATH решило это. Еще одно: вам также нужно было добавить (load "~/.emacs.d/el-get/haskell-mode/haskell-process.el") в ваш файл инициализации? Без него все равно не работает. - person Pi Tabread; 04.11.2012
comment
да, мне нужно было загрузить его явно - в этом файле нет автозагрузки для этой функции. - person Alex Ott; 05.11.2012
comment
Кстати, загрузку haskell-process пофиксили в свежих версиях добавлением provide... - person Alex Ott; 30.11.2012
comment
Что именно вы добавляете в путь? Я загрузил пакет с hackage.haskell и открыл его только для того, чтобы увидеть некоторые файлы Haskell. Не уверен, как добавить их в мой PATH. - person CGTheLegend; 25.01.2016

haskell-process-generate-tags устарел с 14 марта 2016 г.

вместо этого используйте haskell-mode-generate-tags.

Как узнать это самостоятельно:

M-x describe-function
Describe function: haskell-process-generate-tags
....
person Chris    schedule 14.09.2018