Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A completion plugin for Haskell, using ghc-mod

branch: master
README.md

neocomplcache-ghc (neco-ghc)

A completion plugin for Haskell, using ghc-mod

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 ghc-mod package by cabal install ghc-mod
  • Unarchive neco-ghc and put it into a dir of your &rtp.

Usage

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

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. 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 would 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 command fails. Usually it would be noisy because ghc-mod browse Your.Project.Module always fails. Use this flag only if you have some trouble.

Troubleshoot

If for some reason the neco-ghc plugin is not being added to neocomplcache, check that the $PATH variable in vim contains the path to your .cabal/bin directory.

If not, add in your .vimrc:

let $PATH = $PATH . ':' . expand("~/.cabal/bin")

License

BSD3 License, the same license as ghc-mod.

Something went wrong with that request. Please try again.