Happy Haskell programming on Vim, powered by ghc-mod
- Displaying the type of sub-expressions (
ghc-mod type
) - Displaying error/warning messages and their locations (
ghc-mod check
andghc-mod lint
) - Displaying the expansion of splices (
ghc-mod expand
)
Completions are supported by another plugin. See neco-ghc .
https://github.com/Shougo/vimproc
cabal install ghc-mod
If you'd like to give GHC options, set g:ghcmod_ghc_options
.
let g:ghcmod_ghc_options = ['-idir1', '-idir2']
Type :GhcModType
on a expression, then the sub-expression is highlighted and its type is echoed.
If you type :GhcModType
multiple times, the sub-expression changes.
Since ghc-mod 1.10.8, not only sub-expressions but name bindings and sub-patterns are supported.
Type :GhcModTypeClear
to clear sub-expression's highlight.
Sub-expressions are highlighted as Search
by default.
You can customize it by setting g:ghcmod_type_highlight
.
hi ghcmodType ctermbg=yellow
let g:ghcmod_type_highlight = 'ghcmodType'
You can get compiler errors/warnings by :GhcModCheck
and they are available in quickfix window.
Similarly, type :GhcModLint
to get suggestions by ghc-mod lint
.
If you'd like to pass options to hlint, set g:ghcmod_hlint_options
.
let g:ghcmod_hlint_options = ['--ignore=Redundant $']
You can run check and/or lint asynchronously.
This would be useful when you'd like to run check and/or lint automatically (especially on BufWritePost
).
See Customize wiki page for more detail.
You can see the expansion of splices by :GhcModExpand
and they are available in quickfix window.
This feature was introduced since ghc-mod 1.10.10.
See wiki page Customize.
BSD3 License, the same license as ghc-mod.
Copyright (c) 2012, eagletmt