haskell checker: Use hdevtools if available instead of ghc-mod
This commit is contained in:
parent
9d6a3a8341
commit
2ab6f7f50b
@ -14,8 +14,11 @@ if exists("loaded_haskell_syntax_checker")
|
|||||||
endif
|
endif
|
||||||
let loaded_haskell_syntax_checker = 1
|
let loaded_haskell_syntax_checker = 1
|
||||||
|
|
||||||
"bail if the user doesnt have ghc-mod installed
|
if executable("hdevtools")
|
||||||
if !executable("ghc-mod")
|
let s:checker = 'hdevtools'
|
||||||
|
elseif executable("ghc-mod")
|
||||||
|
let s:checker = 'ghc-mod'
|
||||||
|
else
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -24,15 +27,28 @@ if !exists('g:syntastic_haskell_checker_args')
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
function! SyntaxCheckers_haskell_GetLocList()
|
function! SyntaxCheckers_haskell_GetLocList()
|
||||||
let ghcmod = 'ghc-mod ' . g:syntastic_haskell_checker_args
|
if s:checker == 'ghc-mod'
|
||||||
let makeprg =
|
let ghcmod = 'ghc-mod ' . g:syntastic_haskell_checker_args
|
||||||
\ "{ ".
|
let makeprg =
|
||||||
\ ghcmod . " check ". shellescape(expand('%')) . "; " .
|
\ "{ ".
|
||||||
\ ghcmod . " lint " . shellescape(expand('%')) . ";" .
|
\ ghcmod . " check ". shellescape(expand('%')) . "; " .
|
||||||
\ " }"
|
\ ghcmod . " lint " . shellescape(expand('%')) . ";" .
|
||||||
let errorformat = '%-G\\s%#,%f:%l:%c:%trror: %m,%f:%l:%c:%tarning: %m,'.
|
\ " }"
|
||||||
\ '%f:%l:%c: %trror: %m,%f:%l:%c: %tarning: %m,%f:%l:%c:%m,'.
|
let errorformat = '%-G\\s%#,%f:%l:%c:%trror: %m,%f:%l:%c:%tarning: %m,'.
|
||||||
\ '%E%f:%l:%c:,%Z%m,'
|
\ '%f:%l:%c: %trror: %m,%f:%l:%c: %tarning: %m,%f:%l:%c:%m,'.
|
||||||
|
\ '%E%f:%l:%c:,%Z%m,'
|
||||||
|
elseif s:checker == 'hdevtools'
|
||||||
|
let makeprg = 'hdevtools check ' . get(g:, 'hdevtools_options', '') . ' ' . shellescape(expand('%'))
|
||||||
|
|
||||||
|
let errorformat= '\%-Z\ %#,'.
|
||||||
|
\ '%W%f:%l:%c:\ Warning:\ %m,'.
|
||||||
|
\ '%E%f:%l:%c:\ %m,'.
|
||||||
|
\ '%E%>%f:%l:%c:,'.
|
||||||
|
\ '%+C\ \ %#%m,'.
|
||||||
|
\ '%W%>%f:%l:%c:,'.
|
||||||
|
\ '%+C\ \ %#%tarning:\ %m,'
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
|
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
|
||||||
endfunction
|
endfunction
|
||||||
|
Loading…
Reference in New Issue
Block a user