• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

eagletmt/neco-ghc: A completion plugin for Haskell, using ghc-mod

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

eagletmt/neco-ghc

开源软件地址(OpenSource Url):

https://github.com/eagletmt/neco-ghc

开源编程语言(OpenSource Language):

Vim Script 92.6%

开源软件介绍(OpenSource Introduction):

neco-ghc: ghc-mod/hhpc completion for neocomplcache/neocomplete/deoplete

A completion plugin for Haskell, using ghc-mod or hhpc

What is neco-ghc

This plugin supports the following completion.

  • pragma
  • language
  • importing a module
  • importing a function of a module
  • function based on importing modules

neco-ghc was originally implemented by @eagletmt on July 25, 2010, and then ujihisa added some new features.

Install

  • Install the ghc-mod package by stack install ghc-mod or cabal install ghc-mod OR install the hhp package by stack install hhp or cabal install hhp
  • Unarchive neco-ghc and put it into a dir of your &rtp.

Note: If you use ghc-mod 5.4, you should use ghc-mod 5.5+. Because, ghc-mod 5.5 fixes the rootdir problem.

DanielG/ghc-mod#665

Usage

neco-ghc provides necoghc#omnifunc for omni-completion. I recommend adding the following in your ~/.vim/ftplugin/haskell.vim.

" Disable haskell-vim omnifunc
let g:haskellmode_completion_ghc = 0
autocmd FileType haskell setlocal omnifunc=necoghc#omnifunc

See :help compl-omni for details on omni-completion.

Completion engines

This plugin can be used as a source of neocomplete.vim or neocomplcache.vim or deoplete.nvim. You can enjoy auto-completions without any specific configuration.

This plugin also should work with YouCompleteMe. To enable auto-completions, you have to add the following setting.

let g:ycm_semantic_triggers = {'haskell' : ['.']}

Options

g:necoghc_enable_detailed_browse

Default: 0

Show detailed information (type) of symbols. You can enable it by adding let g:necoghc_enable_detailed_browse = 1 in your vimrc. While it is quite useful, it will take longer boot time.

This feature was introduced in ghc-mod 1.11.5.

g:necoghc_debug

Default: 0

Show error message if ghc-mod/hhpc command fails. Usually it will be noisy if ghc-mod browse Your.Project.Module always fails. Use this flag only if you have some trouble.

g:necoghc_use_stack

Default: 0

Allow using stack's own ghc-mod/hhpc. If you are using ghc-mod, it will change direct ghc-mod mod calls to stack exec --no-stack-exe ghc-mod -- instead. The same goes for hhpc. Use this flag if your globally installed ghc-mod/hhpc doesn't work properly with your stack projects.

Troubleshoot

Q: neco-ghc does not work

Check the $PATH variable in vim contains the path to your ghc-mod/hhpc command. Or you can execute :NecoGhcDiagnostics command for debug.

Q: Completion isn't working for local functions or modules

#44

It's a limitation of ghc-mod. ghc-mod can show symbols of installed modules only. ghc-mod cannot show symbols of developing modules or current source file.

License

BSD3 License, the same license as ghc-mod.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
argonaut-io/argonaut-hs: Argonaut: Haskell Edition发布时间:2022-06-24
下一篇:
fujimura/hi: Generate scaffold for a Haskell project发布时间:2022-06-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap