你如何让 Emacs haskell-mode 在其他 hs-source-dirs 中找到模块?

How do you get Emacs haskell-mode to find modules in other hs-source-dirs?

更新:澄清这是在 Mac OS X

我在 Mac OS X 上使用 Emacs Prelude(使用 haskell-mode)并且我创建了一个stack new hello.

的项目

它生成的工程是这样的:

如果我在 Emacs 中打开 Main.hs 它会显示:

module Main where

import Lib

main :: IO ()
main = someFunc

但是 Lib 有下划线作为错误,将我的插入符号放在那里显示:

Could not find module 'Lib'
Use -v to see a list of the files searched for.

如何让 Emacs haskell-mode 在其他 hs-source-dirs 中查找模块?

最可怕的是我通过重启解决了这个问题。

我似乎是通过断开到 Stack 的路径来触发它的。路径从我原来的手动安装变成了~/Applications/bin/stack~/.local/bin/stack。我知道情况已经改变,所以我关闭并重新启动了 Emacs,但问题仍然存在。

重新启动修复了它。这让我感到悲伤。我想注销可能同样有效。