syntastic/syntax_checkers/haskell.vim
Roman Gonzalez a93acbd940 Adding ghc-mod as the haskell syntax checker
Previously ghc was being used, but this was not good because
ghc would work only on individual files. As soon you included
an external module also developed on the current project, ghc would
barf at you saying that the module couldn't be found. ghc-mod
doesn't check dependencies, just syntax, also it has the lint
utility that is pretty handy.
2011-07-06 18:30:19 -07:00

35 lines
1.3 KiB
VimL

"============================================================================
"File: haskell.vim
"Description: Syntax checking plugin for syntastic.vim
"Maintainer: Anthony Carapetis <anthony.carapetis at gmail dot com>
"License: This program is free software. It comes without any warranty,
" to the extent permitted by applicable law. You can redistribute
" it and/or modify it under the terms of the Do What The Fuck You
" Want To Public License, Version 2, as published by Sam Hocevar.
" See http://sam.zoy.org/wtfpl/COPYING for more details.
"
"============================================================================
if exists("loaded_haskell_syntax_checker")
finish
endif
let loaded_haskell_syntax_checker = 1
"bail if the user doesnt have ghc-mod installed
if !executable("ghc-mod")
finish
endif
function! SyntaxCheckers_haskell_GetLocList()
let makeprg =
\ 'ghc-mod check '. shellescape(expand('%')) .
\ ' && ghc-mod lint ' . shellescape(expand('%'))
let errorformat = '%-G\\s%#,%f:%l:%c:%m,%E%f:%l:%c:,%Z%m,'
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
endfunction
function! SyntaxCheckers_lhaskell_GetLocList()
return SyntaxCheckers_haskell_GetLocList()
endfunction