Before: call ale#assert#SetUpLinterTest('avra', 'avra') let b:command_tail = ' %t -o ' . g:ale#util#nul_file let b:command_tail_opt = ' %t --max_errors 20 -o ' . g:ale#util#nul_file After: unlet! b:command_tail unlet! b:command_tail_opt call ale#assert#TearDownLinterTest() Execute(The executable should be configurable): AssertLinter 'avra', ale#Escape('avra') . b:command_tail, let b:ale_avra_avra_executable = '~/avra' AssertLinter '~/avra', ale#Escape('~/avra') . b:command_tail Execute(The options should be configurable): let b:ale_avra_avra_options = '--max_errors 20' AssertLinter 'avra', ale#Escape('avra') \ . ' %t --max_errors 20 -o ' . g:ale#util#nul_file Execute(The options should be used in command): let b:ale_avra_avra_options = '--max_errors 20' AssertLinter 'avra', ale#Escape('avra') . b:command_tail_opt