diff --git a/ale_linters/lua/luacheck.vim b/ale_linters/lua/luacheck.vim index d4c1b242..0098e66e 100644 --- a/ale_linters/lua/luacheck.vim +++ b/ale_linters/lua/luacheck.vim @@ -4,12 +4,16 @@ let g:ale_lua_luacheck_executable = \ get(g:, 'ale_lua_luacheck_executable', 'luacheck') +let g:ale_lua_luacheck_options = +\ get(g:, 'ale_lua_luacheck_options', '') + function! ale_linters#lua#luacheck#GetExecutable(buffer) abort return ale#Var(a:buffer, 'lua_luacheck_executable') endfunction function! ale_linters#lua#luacheck#GetCommand(buffer) abort return ale_linters#lua#luacheck#GetExecutable(a:buffer) + \ . ' ' . ale#Var(a:buffer, 'lua_luacheck_options') \ . ' --formatter plain --codes --filename %s -' endfunction diff --git a/doc/ale-lua.txt b/doc/ale-lua.txt index 760e0884..6e441e6e 100644 --- a/doc/ale-lua.txt +++ b/doc/ale-lua.txt @@ -13,5 +13,13 @@ g:ale_lua_luacheck_executable *g:ale_lua_luacheck_executable* This variable can be changed to change the path to luacheck. +g:ale_lua_luacheck_options *g:ale_lua_luacheck_options* + *b:ale_lua_luacheck_options* + Type: |String| + Default: `''` + + This variable can be set to pass additional options to luacheck. + + ------------------------------------------------------------------------------- vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/test/command_callback/test_luacheck_command_callback.vader b/test/command_callback/test_luacheck_command_callback.vader new file mode 100644 index 00000000..f283b987 --- /dev/null +++ b/test/command_callback/test_luacheck_command_callback.vader @@ -0,0 +1,24 @@ +Before: + runtime ale_linters/lua/luacheck.vim + +After: + call ale#linter#Reset() + let g:ale_lua_luacheck_options = '' + let g:ale_lua_luacheck_executable = 'luacheck' + +Execute(The lua luacheck command callback should return the correct default string): + AssertEqual 'luacheck --formatter plain --codes --filename %s -', + \ join(split(ale_linters#lua#luacheck#GetCommand(1))) + +Execute(The lua luacheck command callback should let you set options): + let g:ale_lua_luacheck_options = '--config filename' + + AssertEqual 'luacheck --config filename --formatter plain --codes --filename %s -', + \ join(split(ale_linters#lua#luacheck#GetCommand(1))) + +Execute(The luacheck executable should be configurable): + let g:ale_lua_luacheck_executable = 'luacheck.sh' + + AssertEqual 'luacheck.sh', ale_linters#lua#luacheck#GetExecutable(1) + AssertEqual 'luacheck.sh --formatter plain --codes --filename %s -', + \ join(split(ale_linters#lua#luacheck#GetCommand(1)))