这是我的场景:
我正在开发一个包含以下目录/模块的项目:
|--proj |-- src |-- Foo |-- FooModule1.hs |-- FooModule2.hs |-- Bar |-- BarModule1.hs
BarModule1.hs
看起来像这样:
module BarModule1 where import Foo.FooModule1 ...
我还有一个.cabal
文件指定src
为hs-source-dirs
当然,其中列出了两个模块.
当我BarModule1.hs
在Emacs 中的文件中时,我这样C-c C-l说:
proj/src/Bar/BarModule1.hs:3:8: Could not find module `Foo.FooModule1' Use -v to see a list of the files searched for. Failed, modules loaded: none.
我也想使用hlint
,flymake-haskell-multi-load
如果我激活该模式M-x flymake-haskell-multi-load
,hlint
将始终显示它无法找到模块的错误Foo.FooModule1
,因为它不知道该.cabal
文件,我在其中指定hs-source-dirs: src
.
所以我的问题是:我如何制作haskell-mode
和flymake
/ /hlint
了解我的项目目录/模块树,以便找到所有模块?
或者,如何让他们知道我的.cabal
文件中指定的模块?