Fix #1128 - Add g:ale_linters_explicit for only enabling linters explicitly

This commit is contained in:
w0rp
2017-11-14 19:55:28 +00:00
parent 2e9cd978a2
commit 6b2c61a5cc
5 changed files with 119 additions and 15 deletions

View File

@@ -0,0 +1,68 @@
Before:
Save g:ale_linters
Save g:ale_linters_explicit
let g:ale_linters_explicit = 0
let g:ale_linters = {}
function! GetLinterNames(filetype) abort
return map(ale#linter#Get(a:filetype), 'v:val.name')
endfunction
After:
Restore
call ale#linter#Reset()
Execute(The defaults for the csh filetype should be correct):
AssertEqual ['shell'], GetLinterNames('csh')
let g:ale_linters_explicit = 1
AssertEqual [], GetLinterNames('csh')
Execute(The defaults for the go filetype should be correct):
AssertEqual ['gofmt', 'golint', 'go vet'], GetLinterNames('go')
let g:ale_linters_explicit = 1
AssertEqual [], GetLinterNames('go')
Execute(The defaults for the help filetype should be correct):
AssertEqual [], GetLinterNames('help')
Execute(The defaults for the python filetype should be correct):
AssertEqual ['flake8', 'mypy', 'pylint'], GetLinterNames('python')
let g:ale_linters_explicit = 1
AssertEqual [], GetLinterNames('python')
Execute(The defaults for the rust filetype should be correct):
AssertEqual ['cargo'], GetLinterNames('rust')
let g:ale_linters_explicit = 1
AssertEqual [], GetLinterNames('rust')
Execute(The defaults for the spec filetype should be correct):
AssertEqual [], GetLinterNames('spec')
Execute(The defaults for the text filetype should be correct):
AssertEqual [], GetLinterNames('text')
Execute(The defaults for the zsh filetype should be correct):
AssertEqual ['shell'], GetLinterNames('zsh')
let g:ale_linters_explicit = 1
AssertEqual [], GetLinterNames('zsh')
Execute(The defaults for the verilog filetype should be correct):
" This filetype isn't configured with default, so we can test loading all
" available linters with this.
AssertEqual ['iverilog', 'verilator'], GetLinterNames('verilog')
let g:ale_linters_explicit = 1
AssertEqual [], GetLinterNames('verilog')

View File

@@ -1,5 +1,6 @@
Before:
Save g:ale_linters, g:ale_linter_aliases
Save g:ale_linters
Save g:ale_linter_aliases
let g:testlinter1 = {'name': 'testlinter1', 'executable': 'testlinter1', 'command': 'testlinter1', 'callback': 'testCB1', 'output_stream': 'stdout', 'read_buffer': 1, 'lint_file': 0, 'aliases': [], 'lsp': '', 'add_newline': 0}
let g:testlinter2 = {'name': 'testlinter2', 'executable': 'testlinter2', 'command': 'testlinter2', 'callback': 'testCB2', 'output_stream': 'stdout', 'read_buffer': 0, 'lint_file': 1, 'aliases': [], 'lsp': '', 'add_newline': 0}