#427 Implement buffer variable overrides for all linter options
This commit is contained in:
parent
e80116cee0
commit
e97dada261
@ -6,7 +6,7 @@ let g:ale_asm_gcc_options = get(g:, 'ale_asm_gcc_options', '-Wall')
|
||||
function! ale_linters#asm#gcc#GetCommand(buffer) abort
|
||||
return 'gcc -x assembler -fsyntax-only '
|
||||
\ . '-iquote ' . fnameescape(fnamemodify(bufname(a:buffer), ':p:h'))
|
||||
\ . ' ' . g:ale_asm_gcc_options . ' -'
|
||||
\ . ' ' . ale#Var(a:buffer, 'asm_gcc_options') . ' -'
|
||||
endfunction
|
||||
|
||||
function! ale_linters#asm#gcc#Handle(buffer, lines) abort
|
||||
|
@ -14,7 +14,7 @@ function! ale_linters#c#clang#GetCommand(buffer) abort
|
||||
" headers in the same directory.
|
||||
return 'clang -S -x c -fsyntax-only '
|
||||
\ . '-iquote ' . fnameescape(fnamemodify(bufname(a:buffer), ':p:h'))
|
||||
\ . ' ' . g:ale_c_clang_options . ' -'
|
||||
\ . ' ' . ale#Var(a:buffer, 'c_clang_options') . ' -'
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('c', {
|
||||
|
@ -6,7 +6,7 @@ let g:ale_c_cppcheck_options = get(g:, 'ale_c_cppcheck_options', '--enable=style
|
||||
|
||||
function! ale_linters#c#cppcheck#GetCommand(buffer) abort
|
||||
return 'cppcheck -q --language=c '
|
||||
\ . g:ale_c_cppcheck_options
|
||||
\ . ale#Var(a:buffer, 'c_cppcheck_options')
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
||||
|
@ -14,7 +14,7 @@ function! ale_linters#c#gcc#GetCommand(buffer) abort
|
||||
" headers in the same directory.
|
||||
return 'gcc -S -x c -fsyntax-only '
|
||||
\ . '-iquote ' . fnameescape(fnamemodify(bufname(a:buffer), ':p:h'))
|
||||
\ . ' ' . g:ale_c_gcc_options . ' -'
|
||||
\ . ' ' . ale#Var(a:buffer, 'c_gcc_options') . ' -'
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('c', {
|
||||
|
@ -36,8 +36,8 @@ endfunction
|
||||
|
||||
function! ale_linters#chef#foodcritic#GetCommand(buffer) abort
|
||||
return printf('%s %s %%t',
|
||||
\ g:ale_chef_foodcritic_executable,
|
||||
\ escape(g:ale_chef_foodcritic_options, '~')
|
||||
\ ale#Var(a:buffer, 'chef_foodcritic_executable'),
|
||||
\ escape(ale#Var(a:buffer, 'chef_foodcritic_options'), '~')
|
||||
\)
|
||||
endfunction
|
||||
|
||||
|
@ -8,12 +8,12 @@ let g:ale_cmake_cmakelint_options =
|
||||
\ get(g:, 'ale_cmake_cmakelint_options', '')
|
||||
|
||||
function! ale_linters#cmake#cmakelint#Executable(buffer) abort
|
||||
return g:ale_cmake_cmakelint_executable
|
||||
return ale#Var(a:buffer, 'cmake_cmakelint_executable')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#cmake#cmakelint#Command(buffer) abort
|
||||
return ale_linters#cmake#cmakelint#Executable(a:buffer)
|
||||
\ . ' ' . g:ale_cmake_cmakelint_options . ' %t'
|
||||
\ . ' ' . ale#Var(a:buffer, 'cmake_cmakelint_options') . ' %t'
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('cmake', {
|
||||
|
@ -11,7 +11,7 @@ function! ale_linters#cpp#clang#GetCommand(buffer) abort
|
||||
" headers in the same directory.
|
||||
return 'clang++ -S -x c++ -fsyntax-only '
|
||||
\ . '-iquote ' . fnameescape(fnamemodify(bufname(a:buffer), ':p:h'))
|
||||
\ . ' ' . g:ale_cpp_clang_options . ' -'
|
||||
\ . ' ' . ale#Var(a:buffer, 'cpp_clang_options') . ' -'
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('cpp', {
|
||||
|
@ -6,7 +6,7 @@ let g:ale_cpp_clangtidy_options =
|
||||
\ get(g:, 'ale_cpp_clangtidy_options', '-std=c++14 -Wall')
|
||||
|
||||
function! ale_linters#cpp#clangtidy#GetCommand(buffer) abort
|
||||
return 'clang-tidy %t -- ' . g:ale_cpp_clangtidy_options
|
||||
return 'clang-tidy %t -- ' . ale#Var(a:buffer, 'cpp_clangtidy_options')
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('cpp', {
|
||||
|
@ -4,12 +4,16 @@
|
||||
" Set this option to change the cppcheck options
|
||||
let g:ale_cpp_cppcheck_options = get(g:, 'ale_cpp_cppcheck_options', '--enable=style')
|
||||
|
||||
function! ale_linters#cpp#cppcheck#GetCommand(buffer) abort
|
||||
return 'cppcheck -q --language=c++ '
|
||||
\ . ale#Var(a:buffer, 'cpp_cppcheck_options')
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('cpp', {
|
||||
\ 'name': 'cppcheck',
|
||||
\ 'output_stream': 'both',
|
||||
\ 'executable': 'cppcheck',
|
||||
\ 'command': 'cppcheck -q --language=c++ '
|
||||
\ . g:ale_cpp_cppcheck_options
|
||||
\ . ' %t',
|
||||
\ 'command_callback': 'ale_linters#cpp#cppcheck#GetCommand',
|
||||
\ 'callback': 'ale#handlers#HandleCppCheckFormat',
|
||||
\})
|
||||
|
@ -20,7 +20,7 @@ function! ale_linters#cpp#gcc#GetCommand(buffer) abort
|
||||
" headers in the same directory.
|
||||
return 'gcc -S -x c++ -fsyntax-only '
|
||||
\ . '-iquote ' . fnameescape(fnamemodify(bufname(a:buffer), ':p:h'))
|
||||
\ . ' ' . g:ale_cpp_gcc_options . ' -'
|
||||
\ . ' ' . ale#Var(a:buffer, 'cpp_gcc_options') . ' -'
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('cpp', {
|
||||
|
@ -1,7 +1,7 @@
|
||||
let g:ale_cs_mcs_options = get(g:, 'ale_cs_mcs_options', '')
|
||||
|
||||
function! ale_linters#cs#mcs#GetCommand(buffer) abort
|
||||
return 'mcs -unsafe --parse ' . g:ale_cs_mcs_options . ' %t'
|
||||
return 'mcs -unsafe --parse ' . ale#Var(a:buffer, 'cs_mcs_options') . ' %t'
|
||||
endfunction
|
||||
|
||||
function! ale_linters#cs#mcs#Handle(buffer, lines) abort
|
||||
|
@ -10,20 +10,20 @@ let g:ale_css_stylelint_use_global =
|
||||
\ get(g:, 'ale_css_stylelint_use_global', 0)
|
||||
|
||||
function! ale_linters#css#stylelint#GetExecutable(buffer) abort
|
||||
if g:ale_css_stylelint_use_global
|
||||
return g:ale_css_stylelint_executable
|
||||
if ale#Var(a:buffer, 'css_stylelint_use_global')
|
||||
return ale#Var(a:buffer, 'css_stylelint_executable')
|
||||
endif
|
||||
|
||||
return ale#util#ResolveLocalPath(
|
||||
\ a:buffer,
|
||||
\ 'node_modules/.bin/stylelint',
|
||||
\ g:ale_css_stylelint_executable
|
||||
\ ale#Var(a:buffer, 'css_stylelint_executable')
|
||||
\)
|
||||
endfunction
|
||||
|
||||
function! ale_linters#css#stylelint#GetCommand(buffer) abort
|
||||
return ale_linters#css#stylelint#GetExecutable(a:buffer)
|
||||
\ . ' ' . g:ale_css_stylelint_options
|
||||
\ . ' ' . ale#Var(a:buffer, 'css_stylelint_options')
|
||||
\ . ' --stdin-filename %s'
|
||||
endfunction
|
||||
|
||||
|
@ -6,7 +6,9 @@ function! ale_linters#erlang#erlc#GetCommand(buffer) abort
|
||||
let l:output_file = tempname()
|
||||
call ale#engine#ManageFile(a:buffer, l:output_file)
|
||||
|
||||
return 'erlc -o ' . fnameescape(l:output_file) . ' ' . g:ale_erlang_erlc_options . ' %t'
|
||||
return 'erlc -o ' . fnameescape(l:output_file)
|
||||
\ . ' ' . ale#Var(a:buffer, 'erlang_erlc_options')
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
||||
function! ale_linters#erlang#erlc#Handle(buffer, lines) abort
|
||||
|
@ -62,18 +62,18 @@ function! ale_linters#fortran#gcc#Handle(buffer, lines) abort
|
||||
endfunction
|
||||
|
||||
function! ale_linters#fortran#gcc#GetExecutable(buffer) abort
|
||||
return g:ale_fortran_gcc_executable
|
||||
return ale#Var(a:buffer, 'fortran_gcc_executable')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#fortran#gcc#GetCommand(buffer) abort
|
||||
let l:layout_option = g:ale_fortran_gcc_use_free_form
|
||||
let l:layout_option = ale#Var(a:buffer, 'fortran_gcc_use_free_form')
|
||||
\ ? '-ffree-form'
|
||||
\ : '-ffixed-form'
|
||||
|
||||
return ale_linters#fortran#gcc#GetExecutable(a:buffer)
|
||||
\ . ' -S -x f95 -fsyntax-only '
|
||||
\ . l:layout_option . ' '
|
||||
\ . g:ale_fortran_gcc_options . ' '
|
||||
\ . ale#Var(a:buffer, 'fortran_gcc_options') . ' '
|
||||
\ . '-'
|
||||
endfunction
|
||||
|
||||
|
@ -7,7 +7,7 @@ endif
|
||||
|
||||
function! ale_linters#go#gometalinter#GetCommand(buffer) abort
|
||||
return 'gometalinter '
|
||||
\ . g:ale_go_gometalinter_options
|
||||
\ . ale#Var(a:buffer, 'go_gometalinter_options')
|
||||
\ . ' ' . fnameescape(fnamemodify(bufname(a:buffer), ':p:h'))
|
||||
endfunction
|
||||
|
||||
|
@ -8,14 +8,14 @@ let g:ale_handlebars_embertemplatelint_use_global =
|
||||
\ get(g:, 'ale_handlebars_embertemplatelint_use_global', 0)
|
||||
|
||||
function! ale_linters#handlebars#embertemplatelint#GetExecutable(buffer) abort
|
||||
if g:ale_handlebars_embertemplatelint_use_global
|
||||
return g:ale_handlebars_embertemplatelint_executable
|
||||
if ale#Var(a:buffer, 'handlebars_embertemplatelint_use_global')
|
||||
return ale#Var(a:buffer, 'handlebars_embertemplatelint_executable')
|
||||
endif
|
||||
|
||||
return ale#util#ResolveLocalPath(
|
||||
\ a:buffer,
|
||||
\ 'node_modules/.bin/ember-template-lint',
|
||||
\ g:ale_handlebars_embertemplatelint_executable
|
||||
\ ale#Var(a:buffer, 'handlebars_embertemplatelint_executable')
|
||||
\)
|
||||
endfunction
|
||||
|
||||
|
@ -2,29 +2,25 @@
|
||||
" Description: HTMLHint for checking html files
|
||||
|
||||
" CLI options
|
||||
let g:ale_html_htmlhint_options = get(g:, 'ale_html_htmlhint_options', '--format=unix')
|
||||
|
||||
let g:ale_html_htmlhint_executable =
|
||||
\ get(g:, 'ale_html_htmlhint_executable', 'htmlhint')
|
||||
|
||||
let g:ale_html_htmlhint_use_global =
|
||||
\ get(g:, 'ale_html_htmlhint_use_global', 0)
|
||||
let g:html_htmlhint_options = get(g:, 'ale_html_htmlhint_options', '--format=unix')
|
||||
let g:html_htmlhint_executable = get(g:, 'ale_html_htmlhint_executable', 'htmlhint')
|
||||
let g:html_htmlhint_use_global = get(g:, 'ale_html_htmlhint_use_global', 0)
|
||||
|
||||
function! ale_linters#html#htmlhint#GetExecutable(buffer) abort
|
||||
if g:ale_html_htmlhint_use_global
|
||||
return g:ale_html_htmlhint_executable
|
||||
if ale#Var(a:buffer, 'html_htmlhint_use_global')
|
||||
return ale#Var(a:buffer, 'html_htmlhint_executable')
|
||||
endif
|
||||
|
||||
return ale#util#ResolveLocalPath(
|
||||
\ a:buffer,
|
||||
\ 'node_modules/.bin/htmlhint',
|
||||
\ g:ale_html_htmlhint_executable
|
||||
\ ale#Var(a:buffer, 'html_htmlhint_executable')
|
||||
\)
|
||||
endfunction
|
||||
|
||||
function! ale_linters#html#htmlhint#GetCommand(buffer) abort
|
||||
return ale_linters#html#htmlhint#GetExecutable(a:buffer)
|
||||
\ . ' ' . g:ale_html_htmlhint_options
|
||||
\ . ' ' . ale#Var(a:buffer, 'html_htmlhint_options')
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
||||
|
@ -26,14 +26,14 @@ function! ale_linters#html#tidy#GetCommand(buffer) abort
|
||||
\ }, &fileencoding, '-utf8')
|
||||
|
||||
return printf('%s %s %s -',
|
||||
\ g:ale_html_tidy_executable,
|
||||
\ g:ale_html_tidy_options,
|
||||
\ ale#Var(a:buffer, 'html_tidy_executable'),
|
||||
\ ale#Var(a:buffer, 'html_tidy_options'),
|
||||
\ l:file_encoding
|
||||
\)
|
||||
endfunction
|
||||
|
||||
function! ale_linters#html#tidy#GetExecutable(buffer) abort
|
||||
return g:ale_html_tidy_executable
|
||||
return ale#Var(a:buffer, 'html_tidy_executable')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#html#tidy#Handle(buffer, lines) abort
|
||||
|
@ -5,8 +5,8 @@ let g:ale_java_javac_options = get(g:, 'ale_java_javac_options', '')
|
||||
let g:ale_java_javac_classpath = get(g:, 'ale_java_javac_classpath', '')
|
||||
|
||||
function! ale_linters#java#javac#GetCommand(buffer) abort
|
||||
let l:cp_option = !empty(g:ale_java_javac_classpath)
|
||||
\ ? '-cp ' . g:ale_java_javac_classpath
|
||||
let l:cp_option = !empty(ale#Var(a:buffer, 'java_javac_classpath'))
|
||||
\ ? '-cp ' . ale#Var(a:buffer, 'java_javac_classpath')
|
||||
\ : ''
|
||||
|
||||
" Create .class files in a temporary directory, which we will delete later.
|
||||
@ -15,7 +15,7 @@ function! ale_linters#java#javac#GetCommand(buffer) abort
|
||||
return 'javac -Xlint '
|
||||
\ . l:cp_option
|
||||
\ . ' -d ' . fnameescape(l:class_file_directory)
|
||||
\ . ' ' . g:ale_java_javac_options
|
||||
\ . ' ' . ale#Var(a:buffer, 'java_javac_options')
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
||||
|
@ -11,8 +11,8 @@ let g:ale_javascript_eslint_use_global =
|
||||
\ get(g:, 'ale_javascript_eslint_use_global', 0)
|
||||
|
||||
function! ale_linters#javascript#eslint#GetExecutable(buffer) abort
|
||||
if g:ale_javascript_eslint_use_global
|
||||
return g:ale_javascript_eslint_executable
|
||||
if ale#Var(a:buffer, 'javascript_eslint_use_global')
|
||||
return ale#Var(a:buffer, 'javascript_eslint_executable')
|
||||
endif
|
||||
|
||||
" Look for the kinds of paths that create-react-app generates first.
|
||||
@ -29,13 +29,13 @@ function! ale_linters#javascript#eslint#GetExecutable(buffer) abort
|
||||
return ale#util#ResolveLocalPath(
|
||||
\ a:buffer,
|
||||
\ 'node_modules/.bin/eslint',
|
||||
\ g:ale_javascript_eslint_executable
|
||||
\ ale#Var(a:buffer, 'javascript_eslint_executable')
|
||||
\)
|
||||
endfunction
|
||||
|
||||
function! ale_linters#javascript#eslint#GetCommand(buffer) abort
|
||||
return ale_linters#javascript#eslint#GetExecutable(a:buffer)
|
||||
\ . ' ' . g:ale_javascript_eslint_options
|
||||
\ . ' ' . ale#Var(a:buffer, 'javascript_eslint_options')
|
||||
\ . ' -f unix --stdin --stdin-filename %s'
|
||||
endfunction
|
||||
|
||||
|
@ -8,14 +8,14 @@ let g:ale_javascript_flow_use_global =
|
||||
\ get(g:, 'ale_javascript_flow_use_global', 0)
|
||||
|
||||
function! ale_linters#javascript#flow#GetExecutable(buffer) abort
|
||||
if g:ale_javascript_flow_use_global
|
||||
return g:ale_javascript_flow_executable
|
||||
if ale#Var(a:buffer, 'javascript_flow_use_global')
|
||||
return ale#Var(a:buffer, 'javascript_flow_executable')
|
||||
endif
|
||||
|
||||
return ale#util#ResolveLocalPath(
|
||||
\ a:buffer,
|
||||
\ 'node_modules/.bin/flow',
|
||||
\ g:ale_javascript_flow_executable
|
||||
\ ale#Var(a:buffer, 'javascript_flow_executable')
|
||||
\)
|
||||
endfunction
|
||||
|
||||
|
@ -8,14 +8,14 @@ let g:ale_javascript_jshint_use_global =
|
||||
\ get(g:, 'ale_javascript_jshint_use_global', 0)
|
||||
|
||||
function! ale_linters#javascript#jshint#GetExecutable(buffer) abort
|
||||
if g:ale_javascript_jshint_use_global
|
||||
return g:ale_javascript_jshint_executable
|
||||
if ale#Var(a:buffer, 'javascript_jshint_use_global')
|
||||
return ale#Var(a:buffer, 'javascript_jshint_executable')
|
||||
endif
|
||||
|
||||
return ale#util#ResolveLocalPath(
|
||||
\ a:buffer,
|
||||
\ 'node_modules/.bin/jshint',
|
||||
\ g:ale_javascript_jshint_executable
|
||||
\ ale#Var(a:buffer, 'javascript_jshint_executable')
|
||||
\)
|
||||
endfunction
|
||||
|
||||
|
@ -11,20 +11,20 @@ let g:ale_javascript_standard_use_global =
|
||||
\ get(g:, 'ale_javascript_standard_use_global', 0)
|
||||
|
||||
function! ale_linters#javascript#standard#GetExecutable(buffer) abort
|
||||
if g:ale_javascript_standard_use_global
|
||||
return g:ale_javascript_standard_executable
|
||||
if ale#Var(a:buffer, 'javascript_standard_use_global')
|
||||
return ale#Var(a:buffer, 'javascript_standard_executable')
|
||||
endif
|
||||
|
||||
return ale#util#ResolveLocalPath(
|
||||
\ a:buffer,
|
||||
\ 'node_modules/.bin/standard',
|
||||
\ g:ale_javascript_standard_executable
|
||||
\ ale#Var(a:buffer, 'javascript_standard_executable')
|
||||
\)
|
||||
endfunction
|
||||
|
||||
function! ale_linters#javascript#standard#GetCommand(buffer) abort
|
||||
return ale_linters#javascript#standard#GetExecutable(a:buffer)
|
||||
\ . ' ' . g:ale_javascript_standard_options
|
||||
\ . ' ' . ale#Var(a:buffer, 'javascript_standard_options')
|
||||
\ . ' --stdin %s'
|
||||
endfunction
|
||||
|
||||
|
@ -5,7 +5,7 @@ let g:ale_lua_luacheck_executable =
|
||||
\ get(g:, 'ale_lua_luacheck_executable', 'luacheck')
|
||||
|
||||
function! ale_linters#lua#luacheck#GetExecutable(buffer) abort
|
||||
return g:ale_lua_luacheck_executable
|
||||
return ale#Var(a:buffer, 'lua_luacheck_executable')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#lua#luacheck#GetCommand(buffer) abort
|
||||
|
@ -5,7 +5,7 @@ let g:ale_matlab_mlint_executable =
|
||||
\ get(g:, 'ale_matlab_mlint_executable', 'mlint')
|
||||
|
||||
function! ale_linters#matlab#mlint#GetExecutable(buffer) abort
|
||||
return g:ale_matlab_mlint_executable
|
||||
return ale#Var(a:buffer, 'matlab_mlint_executable')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#matlab#mlint#GetCommand(buffer) abort
|
||||
|
@ -8,12 +8,12 @@ let g:ale_perl_perl_options =
|
||||
\ get(g:, 'ale_perl_perl_options', '-X -c -Mwarnings -Ilib')
|
||||
|
||||
function! ale_linters#perl#perl#GetExecutable(buffer) abort
|
||||
return g:ale_perl_perl_executable
|
||||
return ale#Var(a:buffer, 'perl_perl_executable')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#perl#perl#GetCommand(buffer) abort
|
||||
return ale_linters#perl#perl#GetExecutable(a:buffer)
|
||||
\ . ' ' . g:ale_perl_perl_options
|
||||
\ . ' ' . ale#Var(a:buffer, 'perl_perl_options')
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
" Author: jwilliams108 <https://github.com/jwilliams108>
|
||||
" Description: phpcs for PHP files
|
||||
|
||||
let g:ale_php_phpcs_standard = get(g:, 'ale_php_phpcs_standard', '')
|
||||
|
||||
function! ale_linters#php#phpcs#GetCommand(buffer) abort
|
||||
let l:command = 'phpcs -s --report=emacs --stdin-path=%s'
|
||||
let l:standard = ale#Var(a:buffer, 'php_phpcs_standard')
|
||||
let l:standard_option = !empty(l:standard)
|
||||
\ ? '--standard=' . l:standard
|
||||
\ : ''
|
||||
|
||||
" This option can be set to change the standard used by phpcs
|
||||
if exists('g:ale_php_phpcs_standard')
|
||||
let l:command .= ' --standard=' . g:ale_php_phpcs_standard
|
||||
endif
|
||||
|
||||
return l:command
|
||||
return 'phpcs -s --report=emacs --stdin-path=%s ' . l:standard_option
|
||||
endfunction
|
||||
|
||||
function! ale_linters#php#phpcs#Handle(buffer, lines) abort
|
||||
|
@ -6,7 +6,7 @@ let g:ale_php_phpmd_ruleset = get(g:, 'ale_php_phpmd_ruleset', 'cleancode,codesi
|
||||
|
||||
function! ale_linters#php#phpmd#GetCommand(buffer) abort
|
||||
return 'phpmd %s text '
|
||||
\ . g:ale_php_phpmd_ruleset
|
||||
\ . ale#Var(a:buffer, 'php_phpmd_ruleset')
|
||||
\ . ' --ignore-violations-on-exit %t'
|
||||
endfunction
|
||||
|
||||
|
@ -8,12 +8,12 @@ let g:ale_puppet_puppetlint_options =
|
||||
\ get(g:, 'ale_puppet_puppetlint_options', '--no-autoloader_layout-check')
|
||||
|
||||
function! ale_linters#puppet#puppetlint#GetExecutable(buffer) abort
|
||||
return g:ale_puppet_puppetlint_executable
|
||||
return ale#Var(a:buffer, 'puppet_puppetlint_executable')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#puppet#puppetlint#GetCommand(buffer) abort
|
||||
return ale_linters#puppet#puppetlint#GetExecutable(a:buffer)
|
||||
\ . ' ' . g:ale_puppet_puppetlint_options
|
||||
\ . ' ' . ale#Var(a:buffer, 'puppet_puppetlint_options')
|
||||
\ . ' --log-format "-:%{line}:%{column}: %{kind}: [%{check}] %{message}"'
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
@ -14,7 +14,7 @@ let g:ale_python_flake8_options =
|
||||
let s:version_cache = {}
|
||||
|
||||
function! ale_linters#python#flake8#GetExecutable(buffer) abort
|
||||
return g:ale_python_flake8_executable
|
||||
return ale#Var(a:buffer, 'python_flake8_executable')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#python#flake8#VersionCheck(buffer) abort
|
||||
@ -64,7 +64,8 @@ function! ale_linters#python#flake8#GetCommand(buffer, version_output) abort
|
||||
\ : ''
|
||||
|
||||
return ale_linters#python#flake8#GetExecutable(a:buffer)
|
||||
\ . ' ' . g:ale_python_flake8_args . ' ' . l:display_name_args . ' -'
|
||||
\ . ' ' . ale#Var(a:buffer, 'python_flake8_options')
|
||||
\ . ' ' . l:display_name_args . ' -'
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('python', {
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
let g:ale_python_mypy_options = get(g:, 'ale_python_mypy_options', '')
|
||||
|
||||
function! g:ale_linters#python#mypy#GetCommand(buffer) abort
|
||||
function! ale_linters#python#mypy#GetCommand(buffer) abort
|
||||
let l:automatic_stubs_dir = ale#util#FindNearestDirectory(a:buffer, 'stubs')
|
||||
" TODO: Add Windows support
|
||||
let l:automatic_stubs_command = (has('unix') && !empty(l:automatic_stubs_dir))
|
||||
@ -11,13 +11,13 @@ function! g:ale_linters#python#mypy#GetCommand(buffer) abort
|
||||
\ : ''
|
||||
|
||||
return 'mypy --show-column-numbers '
|
||||
\ . g:ale_python_mypy_options
|
||||
\ . ale#Var(a:buffer, 'python_mypy_options')
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
||||
let s:path_pattern = '[a-zA-Z]\?\\\?:\?[[:alnum:]/\.\-_]\+'
|
||||
|
||||
function! g:ale_linters#python#mypy#Handle(buffer, lines) abort
|
||||
function! ale_linters#python#mypy#Handle(buffer, lines) abort
|
||||
" Look for lines like the following:
|
||||
"
|
||||
" file.py:4: error: No library stub file for module 'django.db'
|
||||
|
@ -8,12 +8,12 @@ let g:ale_python_pylint_options =
|
||||
\ get(g:, 'ale_python_pylint_options', '')
|
||||
|
||||
function! ale_linters#python#pylint#GetExecutable(buffer) abort
|
||||
return g:ale_python_pylint_executable
|
||||
return ale#Var(a:buffer, 'python_pylint_executable')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#python#pylint#GetCommand(buffer) abort
|
||||
return ale_linters#python#pylint#GetExecutable(a:buffer)
|
||||
\ . ' ' . g:ale_python_pylint_options
|
||||
\ . ' ' . ale#Var(a:buffer, 'python_pylint_options')
|
||||
\ . ' --output-format text --msg-template="{path}:{line}:{column}: {msg_id} ({symbol}) {msg}" --reports n'
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
@ -33,7 +33,7 @@ endfunction
|
||||
|
||||
function! ale_linters#ruby#rubocop#GetCommand(buffer) abort
|
||||
return 'rubocop --format emacs --force-exclusion '
|
||||
\ . g:ale_ruby_rubocop_options
|
||||
\ . ale#Var(a:buffer, 'ruby_rubocop_options')
|
||||
\ . ' --stdin ' . bufname(a:buffer)
|
||||
endfunction
|
||||
|
||||
|
@ -14,7 +14,7 @@ function! ale_linters#rust#cargo#GetCargoExecutable(bufnr) abort
|
||||
endfunction
|
||||
|
||||
function! ale_linters#rust#cargo#GetCommand(buffer) abort
|
||||
let l:command = g:ale_rust_cargo_use_check
|
||||
let l:command = ale#Var(a:buffer, 'rust_cargo_use_check')
|
||||
\ ? 'check'
|
||||
\ : 'build'
|
||||
|
||||
|
@ -7,14 +7,14 @@ let g:ale_sass_stylelint_use_global =
|
||||
\ get(g:, 'ale_sass_stylelint_use_global', 0)
|
||||
|
||||
function! ale_linters#sass#stylelint#GetExecutable(buffer) abort
|
||||
if g:ale_sass_stylelint_use_global
|
||||
return g:ale_sass_stylelint_executable
|
||||
if ale#Var(a:buffer, 'sass_stylelint_use_global')
|
||||
return ale#Var(a:buffer, 'sass_stylelint_executable')
|
||||
endif
|
||||
|
||||
return ale#util#ResolveLocalPath(
|
||||
\ a:buffer,
|
||||
\ 'node_modules/.bin/stylelint',
|
||||
\ g:ale_sass_stylelint_executable
|
||||
\ ale#Var(a:buffer, 'sass_stylelint_executable')
|
||||
\)
|
||||
endfunction
|
||||
|
||||
|
@ -15,7 +15,7 @@ function! ale_linters#scss#scsslint#Handle(buffer, lines) abort
|
||||
continue
|
||||
endif
|
||||
|
||||
if !g:ale_warn_about_trailing_whitespace && l:match[4] =~# '^TrailingWhitespace'
|
||||
if g:ale_warn_about_trailing_whitespace && l:match[4] =~# '^TrailingWhitespace'
|
||||
" Skip trailing whitespace warnings if that option is on.
|
||||
continue
|
||||
endif
|
||||
|
@ -7,14 +7,14 @@ let g:ale_scss_stylelint_use_global =
|
||||
\ get(g:, 'ale_scss_stylelint_use_global', 0)
|
||||
|
||||
function! ale_linters#scss#stylelint#GetExecutable(buffer) abort
|
||||
if g:ale_scss_stylelint_use_global
|
||||
return g:ale_scss_stylelint_executable
|
||||
if ale#Var(a:buffer, 'scss_stylelint_use_global')
|
||||
return ale#Var(a:buffer, 'scss_stylelint_executable')
|
||||
endif
|
||||
|
||||
return ale#util#ResolveLocalPath(
|
||||
\ a:buffer,
|
||||
\ 'node_modules/.bin/stylelint',
|
||||
\ g:ale_scss_stylelint_executable
|
||||
\ ale#Var(a:buffer, 'scss_stylelint_executable')
|
||||
\)
|
||||
endfunction
|
||||
|
||||
|
@ -26,7 +26,7 @@ function! ale_linters#sh#shell#GetExecutable(buffer) abort
|
||||
endfor
|
||||
endif
|
||||
|
||||
return g:ale_linters_sh_shell_default_shell
|
||||
return ale#Var(a:buffer, 'linters_sh_shell_default_shell')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#sh#shell#GetCommand(buffer) abort
|
||||
|
@ -17,7 +17,7 @@ let g:ale_sh_shellcheck_options =
|
||||
\ get(g:, 'ale_sh_shellcheck_options', '')
|
||||
|
||||
function! ale_linters#sh#shellcheck#GetExecutable(buffer) abort
|
||||
return g:ale_sh_shellcheck_executable
|
||||
return ale#Var(a:buffer, 'sh_shellcheck_executable')
|
||||
endfunction
|
||||
|
||||
if g:ale_linters_sh_shellcheck_exclusions !=# ''
|
||||
@ -40,7 +40,7 @@ endfunction
|
||||
|
||||
function! ale_linters#sh#shellcheck#GetCommand(buffer) abort
|
||||
return ale_linters#sh#shellcheck#GetExecutable(a:buffer)
|
||||
\ . ' ' . g:ale_sh_shellcheck_options
|
||||
\ . ' ' . ale#Var(a:buffer, 'sh_shellcheck_options')
|
||||
\ . ' ' . s:exclude_option . ' ' . s:GetDialectArgument() . ' -f gcc -'
|
||||
endfunction
|
||||
|
||||
|
@ -13,7 +13,7 @@ function! ale_linters#tex#chktex#GetCommand(buffer) abort
|
||||
\ a:buffer,
|
||||
\ '.chktexrc')
|
||||
|
||||
let l:command = g:ale_tex_chktex_executable
|
||||
let l:command = ale#Var(a:buffer, 'tex_chktex_executable')
|
||||
" Avoid bug when used without -p (last warning has gibberish for a filename)
|
||||
let l:command .= ' -v0 -p stdin -q'
|
||||
|
||||
@ -21,7 +21,7 @@ function! ale_linters#tex#chktex#GetCommand(buffer) abort
|
||||
let l:command .= ' -l ' . fnameescape(l:chktex_config)
|
||||
endif
|
||||
|
||||
let l:command .= ' ' . g:ale_tex_chktex_options
|
||||
let l:command .= ' ' . ale#Var(a:buffer, 'tex_chktex_options')
|
||||
|
||||
return l:command
|
||||
endfunction
|
||||
|
@ -5,11 +5,11 @@ let g:ale_tex_lacheck_executable =
|
||||
\ get(g:, 'ale_tex_lacheck_executable', 'lacheck')
|
||||
|
||||
function! ale_linters#tex#lacheck#GetExecutable(buffer) abort
|
||||
return g:ale_tex_lacheck_executable
|
||||
return ale#Var(a:buffer, 'tex_lacheck_executable')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#tex#lacheck#GetCommand(buffer) abort
|
||||
return g:ale_tex_lacheck_executable . ' %t'
|
||||
return ale#Var(a:buffer, 'tex_lacheck_executable') . ' %t'
|
||||
endfunction
|
||||
|
||||
function! ale_linters#tex#lacheck#Handle(buffer, lines) abort
|
||||
|
@ -11,7 +11,7 @@ function! ale_linters#typescript#tslint#GetExecutable(buffer) abort
|
||||
return ale#util#ResolveLocalPath(
|
||||
\ a:buffer,
|
||||
\ 'node_modules/.bin/tslint',
|
||||
\ g:ale_typescript_tslint_executable
|
||||
\ ale#Var(a:buffer, 'typescript_tslint_executable')
|
||||
\)
|
||||
endfunction
|
||||
|
||||
@ -50,18 +50,18 @@ function! ale_linters#typescript#tslint#Handle(buffer, lines) abort
|
||||
endfunction
|
||||
|
||||
function! ale_linters#typescript#tslint#BuildLintCommand(buffer) abort
|
||||
let g:ale_typescript_tslint_config_path =
|
||||
\ empty(g:ale_typescript_tslint_config_path)
|
||||
\ ? ale#util#FindNearestFile(a:buffer, 'tslint.json')
|
||||
\ : g:ale_typescript_tslint_config_path
|
||||
let l:tslint_config_path = ale#util#ResolveLocalPath(
|
||||
\ a:buffer,
|
||||
\ 'tslint.json',
|
||||
\ ale#Var(a:buffer, 'typescript_tslint_config_path')
|
||||
\)
|
||||
|
||||
let l:tslint_options =
|
||||
\ empty(g:ale_typescript_tslint_config_path)
|
||||
\ ? ''
|
||||
\ : '-c ' . fnameescape(g:ale_typescript_tslint_config_path)
|
||||
let l:tslint_config_option = !empty(l:tslint_config_path)
|
||||
\ ? '-c ' . fnameescape(l:tslint_config_path)
|
||||
\ : ''
|
||||
|
||||
return ale_linters#typescript#tslint#GetExecutable(a:buffer)
|
||||
\ . ' ' . l:tslint_options
|
||||
\ . ' ' . l:tslint_config_option
|
||||
\ . ' %t'
|
||||
endfunction
|
||||
|
||||
|
@ -11,7 +11,7 @@ let s:enable_neovim = has('nvim') ? ' --enable-neovim ' : ''
|
||||
let s:format = '-f "{file_path}:{line_number}:{column_number}: {severity}: {description} (see {reference})"'
|
||||
|
||||
function! ale_linters#vim#vint#GetCommand(buffer) abort
|
||||
let l:warning_flag = g:ale_vim_vint_show_style_issues ? '-s' : '-w'
|
||||
let l:warning_flag = ale#Var(a:buffer, 'vim_vint_show_style_issues') ? '-s' : '-w'
|
||||
|
||||
return 'vint '
|
||||
\ . l:warning_flag . ' '
|
||||
|
@ -7,12 +7,12 @@ let g:ale_yaml_yamllint_options =
|
||||
\ get(g:, 'ale_yaml_yamllint_options', '')
|
||||
|
||||
function! ale_linters#yaml#yamllint#GetExecutable(buffer) abort
|
||||
return g:ale_yaml_yamllint_executable
|
||||
return ale#Var(a:buffer, 'yaml_yamllint_executable')
|
||||
endfunction
|
||||
|
||||
function! ale_linters#yaml#yamllint#GetCommand(buffer) abort
|
||||
return ale_linters#yaml#yamllint#GetExecutable(a:buffer)
|
||||
\ . ' ' . g:ale_yaml_yamllint_options
|
||||
\ . ' ' . ale#Var(a:buffer, 'yaml_yamllint_options')
|
||||
\ . ' -f parsable %t'
|
||||
endfunction
|
||||
|
||||
|
6
test/test_load_all_linters.vader
Normal file
6
test/test_load_all_linters.vader
Normal file
@ -0,0 +1,6 @@
|
||||
Execute(Exceptions shouldn't be thrown when loading all linters):
|
||||
" This test will look for errors when loading any of the linter files.
|
||||
runtime! ale_linters/*/*.vim
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
Loading…
Reference in New Issue
Block a user