mirror of
https://github.com/dense-analysis/ale
synced 2024-12-29 09:32:29 +00:00
Merge pull request #1908 from KtorZ/master
Allow extra options to be passed to haskell:hlint
This commit is contained in:
commit
58ceb21cbc
@ -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',
|
||||||
\})
|
\})
|
||||||
|
@ -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*
|
||||||
|
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
Before:
|
||||||
|
call ale#assert#SetUpLinterTest('haskell', 'hlint')
|
||||||
|
let b:base_opts = '--color=never --json -'
|
||||||
|
|
||||||
|
After:
|
||||||
|
unlet! b:base_opts
|
||||||
|
call ale#assert#TearDownLinterTest()
|
||||||
|
|
||||||
|
Execute(executable should be configurable):
|
||||||
|
AssertLinter 'hlint', ale#Escape('hlint') . ' ' . b:base_opts
|
||||||
|
let b:ale_haskell_hlint_executable = 'myHlint'
|
||||||
|
AssertLinter 'myHlint', ale#Escape('myHlint') . ' ' . b:base_opts
|
||||||
|
|
||||||
|
Execute(should accept options):
|
||||||
|
let b:ale_haskell_hlint_options= '-h myhlintfile.yaml'
|
||||||
|
AssertLinter 'hlint', ale#Escape('hlint') . ' -h myhlintfile.yaml ' . b:base_opts
|
Loading…
Reference in New Issue
Block a user