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/gopls.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/gopls.vim')
-rw-r--r-- | ale_linters/go/gopls.vim | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ale_linters/go/gopls.vim b/ale_linters/go/gopls.vim index c411dc2b..dcff5ec7 100644 --- a/ale_linters/go/gopls.vim +++ b/ale_linters/go/gopls.vim @@ -6,11 +6,15 @@ call ale#Set('go_gopls_executable', 'gopls') call ale#Set('go_gopls_options', '--mode stdio') function! ale_linters#go#gopls#GetCommand(buffer) abort - return '%e' . ale#Pad(ale#Var(a:buffer, 'go_gopls_options')) + return ale#go#EnvString(a:buffer) + \ . '%e' + \ . ale#Pad(ale#Var(a:buffer, 'go_gopls_options')) endfunction function! ale_linters#go#gopls#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) |