2015-04-03 13 views
2

Я использую configuration.nix установить как emacs и haskellMode пакет в пути:Как мне сделать пакетный пакет haskell с Emacs на Nixos?

environment.systemPackages = with pkgs; [ 
    (haskellPackages.ghcWithPackages (self : [ 
    self.cabalInstall 
    self.happy 
    self.alex 
    self.ghcMod 
    ])) 
    emacs 
    emacs24Packages.haskellMode 
]; 

Мой .emacs файл содержит:

(require 'haskell-mode) 
(add-hook 'haskell-mode-hook 'turn-on-hi2) 

Emacs затем начинается без ошибок (поэтому я предполагаю, что он может найти haskell-mode), но он не переходит к второстепенному режиму Haskell при открытии .hs файлов.

~/.nix-profile/share/emacs/site-lisp/haskell-.... файлы существуют в моем профиле, если это имеет значение ...

Итак, как же я заставить его работать?

+0

Можете ли вы вручную включить режим с 'M-x haskell-mode RET'? – Chris

+0

Привет @Chris, когда я это делаю, у меня есть следующая ошибка от Emacs: 'Ошибка в post-command-hook (global-font-lock-mode-check-buffs): (void-variable haskell-font-lock- выбрать-ключевые слова) '. Любая идея, что это значит? –

+0

Похоже, 'haskell-mode.el' должен предоставлять' haskell-font-lock-select-keywords', но, похоже, он не определен, поэтому 'haskell-mode' по какой-то причине не был загружен? –

ответ

1

У меня возникла такая же проблема, пытаясь использовать haskell-indent вместо hi2. В любом случае выход, который вы получаете, делает M-x haskell-mode RET, предупреждает о том, что haskell font-lock отсутствует.

Решите это, объявив, что вы (require 'haskell-font-lock).

Затем, если ваш файл .emacs иметь следующее:

(require 'haskell-mode) (add-hook 'haskell-mode-hook 'turn-on-hi2) 

Вы должны добавить (require 'hi2), как это отмечено here.

(require 'haskell-mode) 
(require 'haskell-font-lock) 
(require 'hi2) 
(add-hook 'haskell-mode-hook 'turn-on-hi2) 

Обратите внимание, что hi2.el не предоставляется haskell-mode.

Надеюсь, это поможет!

 Смежные вопросы

  • Нет связанных вопросов^_^