mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-07 05:04:28 +08:00
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`
51 lines
1.6 KiB
Plaintext
51 lines
1.6 KiB
Plaintext
Before:
|
|
call ale#assert#SetUpLinterTest('go', 'golangci_lint')
|
|
call ale#test#SetFilename('test.go')
|
|
|
|
After:
|
|
call ale#assert#TearDownLinterTest()
|
|
|
|
Execute(The golangci-lint defaults should be correct):
|
|
AssertLinter 'golangci-lint',
|
|
\ ale#path#CdString(expand('%:p:h'))
|
|
\ . ale#Escape('golangci-lint')
|
|
\ . ' run ' . ale#Escape(expand('%' . ':t'))
|
|
\ . ' --enable-all'
|
|
|
|
Execute(The golangci-lint callback should use a configured executable):
|
|
let b:ale_go_golangci_lint_executable = 'something else'
|
|
|
|
AssertLinter 'something else',
|
|
\ ale#path#CdString(expand('%:p:h'))
|
|
\ . ale#Escape('something else')
|
|
\ . ' run ' . ale#Escape(expand('%' . ':t'))
|
|
\ . ' --enable-all'
|
|
|
|
Execute(The golangci-lint callback should use configured options):
|
|
let b:ale_go_golangci_lint_options = '--foobar'
|
|
|
|
AssertLinter 'golangci-lint',
|
|
\ ale#path#CdString(expand('%:p:h'))
|
|
\ . ale#Escape('golangci-lint')
|
|
\ . ' run ' . ale#Escape(expand('%' . ':t'))
|
|
\ . ' --foobar'
|
|
|
|
Execute(The golangci-lint callback should support environment variables):
|
|
let b:ale_go_go111module = 'on'
|
|
|
|
AssertLinter 'golangci-lint',
|
|
\ ale#path#CdString(expand('%:p:h'))
|
|
\ . ale#Env('GO111MODULE', 'on')
|
|
\ . ale#Escape('golangci-lint')
|
|
\ . ' run ' . ale#Escape(expand('%' . ':t'))
|
|
\ . ' --enable-all'
|
|
|
|
unlet! b:ale_go_go111module
|
|
|
|
Execute(The golangci-lint `lint_package` option should use the correct command):
|
|
let b:ale_go_golangci_lint_package = 1
|
|
|
|
AssertLinter 'golangci-lint',
|
|
\ ale#path#CdString(expand('%:p:h'))
|
|
\ . ale#Escape('golangci-lint') . ' run --enable-all'
|