Define custom vim global variables to pass options to hlint

This commit is contained in:
KtorZ 2018-09-11 17:17:55 +02:00
parent 78af99c256
commit d84fcf6c3c
No known key found for this signature in database
GPG Key ID: 33173CB6F77F4277
2 changed files with 22 additions and 2 deletions

View File

@ -1,6 +1,9 @@
" Author: jparoz <jesse.paroz@gmail.com> " Author: jparoz <jesse.paroz@gmail.com>
" Description: hlint for Haskell files " Description: hlint for Haskell files
call ale#Set('haskell_hlint_executable', 'hlint')
call ale#Set('haskell_hlint_options', get(g:, 'hlint_options', ''))
function! ale_linters#haskell#hlint#Handle(buffer, lines) abort function! ale_linters#haskell#hlint#Handle(buffer, lines) abort
let l:output = [] let l:output = []
@ -26,9 +29,17 @@ function! ale_linters#haskell#hlint#Handle(buffer, lines) abort
return l:output return l:output
endfunction endfunction
function! ale_linters#haskell#hlint#GetCommand(buffer) abort
let l:hlintopts = '--color=never --json'
return '%e'
\ . ' ' . ale#Var(a:buffer, 'haskell_hlint_options')
\ . ' ' . l:hlintopts . ' -'
endfunction
call ale#linter#Define('haskell', { call ale#linter#Define('haskell', {
\ 'name': 'hlint', \ 'name': 'hlint',
\ 'executable': 'hlint', \ 'executable_callback': ale#VarFunc('haskell_hlint_executable'),
\ 'command': 'hlint --color=never --json -', \ 'command_callback': 'ale_linters#haskell#hlint#GetCommand',
\ 'callback': 'ale_linters#haskell#hlint#Handle', \ 'callback': 'ale_linters#haskell#hlint#Handle',
\}) \})

View File

@ -77,6 +77,15 @@ g:ale_haskell_hlint_executable *g:ale_haskell_hlint_executable*
This variable can be changed to use a different executable for hlint. This variable can be changed to use a different executable for hlint.
g:ale_haskell_hlint_options g:ale_haskell_hlint_options
b:ale_haskell_hlint_options
Type: String
Default: ''
This variable can be used to pass extra options to the underlying hlint
executable.
=============================================================================== ===============================================================================
stack-build *ale-haskell-stack-build* stack-build *ale-haskell-stack-build*