49db8210f6
Allows the user to override $GO111MODULE environment variable through ale options. This gives control over the default behavior of Go module resolution. Golang documentation: https://github.com/golang/go/wiki/Modules#how-to-use-modules Add `ale#Go#EnvString()` function to make it easy to add similar Go environment variables in the future. Use the new `EnvString` function in all available Go tools callbacks & update tests Also add test of linter command callback for `gofmt`
48 lines
1.6 KiB
Text
48 lines
1.6 KiB
Text
Before:
|
|
call ale#assert#SetUpLinterTest('go', 'gometalinter')
|
|
call ale#test#SetFilename('test.go')
|
|
|
|
After:
|
|
call ale#assert#TearDownLinterTest()
|
|
|
|
Execute(The gometalinter defaults should be correct):
|
|
AssertLinter 'gometalinter',
|
|
\ ale#path#CdString(expand('%:p:h'))
|
|
\ . ale#Escape('gometalinter')
|
|
\ . ' --include=' . ale#Escape(ale#util#EscapePCRE(expand('%' . ':t')))
|
|
\ . ' .'
|
|
|
|
Execute(The gometalinter callback should use a configured executable):
|
|
let b:ale_go_gometalinter_executable = 'something else'
|
|
|
|
AssertLinter 'something else',
|
|
\ ale#path#CdString(expand('%:p:h'))
|
|
\ . ale#Escape('something else')
|
|
\ . ' --include=' . ale#Escape(ale#util#EscapePCRE(expand('%' . ':t')))
|
|
\ . ' .'
|
|
|
|
Execute(The gometalinter callback should use configured options):
|
|
let b:ale_go_gometalinter_options = '--foobar'
|
|
|
|
AssertLinter 'gometalinter',
|
|
\ ale#path#CdString(expand('%:p:h'))
|
|
\ . ale#Escape('gometalinter')
|
|
\ . ' --include=' . ale#Escape(ale#util#EscapePCRE(expand('%' . ':t')))
|
|
\ . ' --foobar' . ' .'
|
|
|
|
Execute(The gometalinter should use configured environment variables):
|
|
let b:ale_go_go111module = 'off'
|
|
AssertLinter 'gometalinter',
|
|
\ ale#path#CdString(expand('%:p:h'))
|
|
\ . ale#Env('GO111MODULE', 'off')
|
|
\ . ale#Escape('gometalinter')
|
|
\ . ' --include=' . ale#Escape(ale#util#EscapePCRE(expand('%' . ':t')))
|
|
\ . ' .'
|
|
unlet! b:ale_go_go111module
|
|
|
|
Execute(The gometalinter `lint_package` option should use the correct command):
|
|
let b:ale_go_gometalinter_lint_package = 1
|
|
|
|
AssertLinter 'gometalinter',
|
|
\ ale#path#CdString(expand('%:p:h'))
|
|
\ . ale#Escape('gometalinter') . ' .'
|