diff options
author | Elias Martinez Cohen <eliasc@nvidia.com> | 2019-04-10 22:25:06 -0400 |
---|---|---|
committer | Elias Martinez Cohen <eliasc@nvidia.com> | 2019-07-01 11:04:33 -0400 |
commit | 49db8210f68637a2af14b21940f3cbbaf7361047 (patch) | |
tree | 366a5e30c22c40b2cf508b2edca6bf8ac25e6072 /ale_linters/go/bingo.vim | |
parent | 89f7292138087e1410b2430ae6d359d42e7fe31f (diff) | |
download | ale-49db8210f68637a2af14b21940f3cbbaf7361047.zip |
Support $GO111MODULE with Go tooling
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`
Diffstat (limited to 'ale_linters/go/bingo.vim')
-rw-r--r-- | ale_linters/go/bingo.vim | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ale_linters/go/bingo.vim b/ale_linters/go/bingo.vim index e446bdcc..1e43f8e4 100644 --- a/ale_linters/go/bingo.vim +++ b/ale_linters/go/bingo.vim @@ -5,11 +5,13 @@ call ale#Set('go_bingo_executable', 'bingo') call ale#Set('go_bingo_options', '--mode stdio') function! ale_linters#go#bingo#GetCommand(buffer) abort - return '%e' . ale#Pad(ale#Var(a:buffer, 'go_bingo_options')) + return ale#go#EnvString(a:buffer) . '%e' . ale#Pad(ale#Var(a:buffer, 'go_bingo_options')) endfunction function! ale_linters#go#bingo#FindProjectRoot(buffer) abort - let l:project_root = ale#path#FindNearestFile(a:buffer, 'go.mod') + let l:go_modules_off = ale#Var(a:buffer, 'go_go111module') is# 'off' + let l:project_root = l:go_modules_off ? + \ '' : ale#path#FindNearestFile(a:buffer, 'go.mod') let l:mods = ':h' if empty(l:project_root) |