Fix an ale:linters bug, and add a test for it.

This commit is contained in:
w0rp 2016-10-11 23:48:43 +01:00
parent 78bcf96e34
commit 1d2405f2bc
2 changed files with 13 additions and 1 deletions

View file

@ -108,7 +108,7 @@ function! ale#linter#Get(original_filetype) abort
elseif type(l:linter_names) == type([])
" Select only the linters we or the user has specified.
for l:linter in l:all_linters
if index(l:linter_names, l:linter.name)
if index(l:linter_names, l:linter.name) >= 0
call add(l:combined_linters, l:linter)
endif
endfor

View file

@ -0,0 +1,12 @@
Before:
let g:ale_linters = {}
After:
let g:ale_linters = {}
Execute (Defaults should be correct):
AssertEqual [{'output_stream': 'stdout', 'name': 'eslint', 'executable': 'eslint', 'command': 'eslint -f unix --stdin --stdin-filename %s', 'callback': 'ale_linters#javascript#eslint#Handle'}, {'output_stream': 'stdout', 'name': 'jscs', 'executable': 'jscs', 'command': 'jscs -r unix -n -', 'callback': 'ale#handlers#HandleUnixFormatAsError'}, {'output_stream': 'stdout', 'name': 'jshint', 'executable': 'jshint', 'command_callback': 'ale_linters#javascript#jshint#GetCommand', 'callback': 'ale#handlers#HandleUnixFormatAsError'}], ale#linter#Get('javascript')
Execute (You should be able to select only a few linters):
let g:ale_linters = {'javascript': ['eslint']}
AssertEqual [{'output_stream': 'stdout', 'name': 'eslint', 'executable': 'eslint', 'command': 'eslint -f unix --stdin --stdin-filename %s', 'callback': 'ale_linters#javascript#eslint#Handle'}], ale#linter#Get('javascript')