如何让haskell模式包与Nixos上的Emacs一起使用?

时间:2015-04-03 10:45:36

标签: emacs haskell-mode nixos nix

我正在使用configuration.nix以某种方式安装emacshaskellMode包:

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),但是当我打开.hs文件时它不会进入Haskell次要模式。

~/.nix-profile/share/emacs/site-lisp/haskell-....文件确实存在于我的个人资料中,如果重要的话......

那么,我该如何让它发挥作用?

1 个答案:

答案 0 :(得分: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)

请注意,haskell-mode包不提供hi2.el。

希望这有帮助!