Before: Save g:ale_go_go_executable Save g:ale_go_govet_options Save g:ale_go_go111module call ale#assert#SetUpLinterTest('go', 'govet') After: Restore unlet! b:ale_go_go111module call ale#assert#TearDownLinterTest() Execute(The default go vet command should be correct): AssertLinter 'go', ale#Escape('go') . ' vet .' AssertLinterCwd '%s:h' Execute(The go vet command and options should be configurable): let g:ale_go_go_executable = 'foobar' let g:ale_go_govet_options = '--foo-bar' AssertLinter 'foobar', ale#Escape('foobar') . ' vet --foo-bar .' Execute(Go environment variables should be supported): let b:ale_go_go111module = 'on' AssertLinter 'go', ale#Env('GO111MODULE', 'on') . ale#Escape('go') . ' vet .'