假设有一个Cabal项目,其中包含一个数据文件和一个想要读取它的函数。
来自项目p
的函数f
大致执行以下操作:
module F where
import Paths_p
f = getDataFileName "datafile.dat" >>= readFile
在这个文件中,emacs haskell-mode将导入标记为错误。该文件中可能存在的其他任何错误或警告都不会被标记。
有没有办法使 haskell-mode 认识模块 Paths_p
?
假设有一个Cabal项目,其中包含一个数据文件和一个想要读取它的函数。
来自项目p
的函数f
大致执行以下操作:
module F where
import Paths_p
f = getDataFileName "datafile.dat" >>= readFile
在这个文件中,emacs haskell-mode将导入标记为错误。该文件中可能存在的其他任何错误或警告都不会被标记。
有没有办法使 haskell-mode 认识模块 Paths_p
?
只需创建一个名为 Paths_p.hs 的文件,并适当定义 getDataFileName
cabal install
呢? - MigMitdist/build/autogen/
添加到导入搜索路径中即可。 - bennofsSomething.As.Example
,我必须向上2个目录才能将路径应用于dist-build。如果我有专门的src-dir,那就多了一层...由于emacs不知道项目,唯一的方法就是全局添加每个单独cabal项目的autogen-dir,这也没有太多意义... - NobbZgetDataFileName
和version
设置为undefined
,并为函数提供了适当的类型。目前,我通过在.emacs
文件中使用ghc-ghc-options
将我的项目的自动生成目录添加到包含路径中,但如果我能删除这些行,我会非常高兴,因为手动维护这样的列表每次启动新项目,删除某些项目或尝试贡献给一些开源项目都很丑陋... - NobbZ
flymake-haskell
用于语法检查和ghc-mod
用于自动完成。我刚刚转换到了emacs,对eLisp和其他emacs相关的东西并不是很了解或理解... - NobbZ