我使用的是haskellmode-vim插件。不幸的是,它看起来并不能很好地与cabal-dev一起工作(显然它直接调用了GHC )。现在,我想知道是否有一些方法可以让haskellmode在由cabal-dev管理的项目中工作(理想情况下,不需要很多特定于项目的设置?)通过搜索,我只找到了一些指向ghcmod的东西,我不太确定这在这种情况下会有什么帮助。
发布于 2014-05-26 06:33:27
在#haskell对freenode的相当大的帮助下,我自己弄明白了这一点。
在你的.vimrc中,你应该有以下几行代码(如果你有hdevtools和cabal-dev设置的话,可能已经有了)
取自http://lpaste.net/94999原始作者不详。在此处略微编辑以删除弃用警告。
function! FindCabalSandboxRoot()
return finddir('.cabal-sandbox', './;')
endfunction
function! FindCabalSandboxRootPackageConf()
return glob(FindCabalSandboxRoot().'/*-packages.conf.d')
endfunction
let g:hdevtools_options = '-g-ilib -g-isrc -g-i. -g-idist/build/autogen -g-Wall -g-package-db='.FindCabalSandboxRootPackageConf()haskellmode-vim的文档建议在.vimrc中使用以下行
au Bufenter *.hs compiler ghc阅读haskellmode-vim插件源代码,ghc的选项存储在一个名为ghc_staticoptions的缓冲区变量中,所以现在我们知道了让cabal-dev工作所需的一切。
au Bufenter *.hs let b:ghc_staticoptions = '-ilib -isrc -i. -idist/build/autogen -Wall -package-db='.FindCabalSandboxRootPackageConf()然而,正如在this SO question haskellmode-vim中提到的,vim并没有完全死亡,而是在休息。所以你可能想看看不同的插件。
https://stackoverflow.com/questions/21955098
复制相似问题