首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让vim-haskellmode和cabal-dev协同工作?

如何让vim-haskellmode和cabal-dev协同工作?
EN

Stack Overflow用户
提问于 2014-02-22 21:41:00
回答 1查看 192关注 0票数 3

我使用的是haskellmode-vim插件。不幸的是,它看起来并不能很好地与cabal-dev一起工作(显然它直接调用了GHC )。现在,我想知道是否有一些方法可以让haskellmode在由cabal-dev管理的项目中工作(理想情况下,不需要很多特定于项目的设置?)通过搜索,我只找到了一些指向ghcmod的东西,我不太确定这在这种情况下会有什么帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-05-26 06:33:27

#haskell对freenode的相当大的帮助下,我自己弄明白了这一点。

在你的.vimrc中,你应该有以下几行代码(如果你有hdevtools和cabal-dev设置的话,可能已经有了)

取自http://lpaste.net/94999原始作者不详。在此处略微编辑以删除弃用警告。

代码语言:javascript
复制
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中使用以下行

代码语言:javascript
复制
au Bufenter *.hs compiler ghc

阅读haskellmode-vim插件源代码,ghc的选项存储在一个名为ghc_staticoptions的缓冲区变量中,所以现在我们知道了让cabal-dev工作所需的一切。

代码语言:javascript
复制
au Bufenter *.hs let b:ghc_staticoptions = '-ilib -isrc -i. -idist/build/autogen -Wall -package-db='.FindCabalSandboxRootPackageConf()

然而,正如在this SO question haskellmode-vim中提到的,vim并没有完全死亡,而是在休息。所以你可能想看看不同的插件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21955098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档