你如何让 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
.
的项目
它生成的工程是这样的:
- 你好:
- 许可证
- Setup.hs
- hello.cabal
- stack.cabal
- 应用:
- Main.hs
- 来源:
- Lib.hs
- 测试:
- Spec.hs
如果我在 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,但问题仍然存在。
重新启动修复了它。这让我感到悲伤。我想注销可能同样有效。
更新:澄清这是在 Mac OS X
我在 Mac OS X 上使用 Emacs Prelude(使用 haskell-mode)并且我创建了一个stack new hello
.
它生成的工程是这样的:
- 你好:
- 许可证
- Setup.hs
- hello.cabal
- stack.cabal
- 应用:
- Main.hs
- 来源:
- Lib.hs
- 测试:
- Spec.hs
如果我在 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,但问题仍然存在。
重新启动修复了它。这让我感到悲伤。我想注销可能同样有效。