如何使haskell模式包在Nixos上与Emacs一起工作?
我正在使用如何使haskell模式包在Nixos上与Emacs一起工作?,emacs,haskell-mode,nixos,nix,Emacs,Haskell Mode,Nixos,Nix,我正在使用configuration.nix以某种方式安装emacs和haskellMode软件包: environment.systemPackages = with pkgs; [ (haskellPackages.ghcWithPackages (self : [ self.cabalInstall self.happy self.alex self.ghcMod ])) emacs emacs24Packages.haskellMo
configuration.nix
以某种方式安装emacs
和haskellMode
软件包:
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模式
),但当我打开.hs
文件时,它不会进入haskell次要模式
~/.nix profile/share/emacs/site lisp/haskell-..
文件确实存在于我的配置文件中,如果有必要的话
那么,我如何使它工作呢?我在尝试使用
haskell缩进
而不是hi2
时遇到了同样的问题。
无论如何,通过执行M-x haskell mode RET
得到的输出会提醒您haskell字体锁丢失
通过声明您(需要'haskell字体锁)
来解决此问题
然后,如果您的.emacs
文件具有以下内容:
(require 'haskell-mode) (add-hook 'haskell-mode-hook 'turn-on-hi2)
您应该添加所指出的(需要'hi2)
请注意,haskell mode
软件包不提供hi2.el
希望这有帮助 你能用
M-x haskell mode RET
手动启用该模式吗?嗨@Chris,当我这样做时,我从Emacs得到了以下错误:post命令钩子中的错误(全局字体锁定模式检查缓冲区):(无效变量haskell font lock choose关键字)
。知道它是什么意思吗?看起来像是haskell模式。el
应该提供haskell字体锁定选择关键字
,但它似乎没有定义,所以haskell模式
由于某种原因没有加载?看起来确实有一些东西没有正确构建,但不幸的是,我从未使用过NixOS,我不确定environment.systemPackages是如何工作的。我几乎通过package.el
和MELPA安装了所有东西,现在它已经被广泛使用。也许这会给你更好的结果?是的,MELPA也为我工作,我只是想让它成为我的“声明性配置”的一部分,这是一个很好的Nixos特性。
(require 'haskell-mode)
(require 'haskell-font-lock)
(require 'hi2)
(add-hook 'haskell-mode-hook 'turn-on-hi2)