From 49db8210f68637a2af14b21940f3cbbaf7361047 Mon Sep 17 00:00:00 2001 From: Elias Martinez Cohen Date: Wed, 10 Apr 2019 22:25:06 -0400 Subject: 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` --- ale_linters/go/staticcheck.vim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'ale_linters/go/staticcheck.vim') diff --git a/ale_linters/go/staticcheck.vim b/ale_linters/go/staticcheck.vim index 26fe0193..ed40c6c2 100644 --- a/ale_linters/go/staticcheck.vim +++ b/ale_linters/go/staticcheck.vim @@ -8,17 +8,18 @@ function! ale_linters#go#staticcheck#GetCommand(buffer) abort let l:filename = expand('#' . a:buffer . ':t') let l:options = ale#Var(a:buffer, 'go_staticcheck_options') let l:lint_package = ale#Var(a:buffer, 'go_staticcheck_lint_package') + let l:env = ale#go#EnvString(a:buffer) " BufferCdString is used so that we can be sure the paths output from " staticcheck can be calculated to absolute paths in the Handler if l:lint_package return ale#path#BufferCdString(a:buffer) - \ . 'staticcheck' + \ . l:env . 'staticcheck' \ . (!empty(l:options) ? ' ' . l:options : '') . ' .' endif return ale#path#BufferCdString(a:buffer) - \ . 'staticcheck' + \ . l:env . 'staticcheck' \ . (!empty(l:options) ? ' ' . l:options : '') \ . ' ' . ale#Escape(l:filename) endfunction -- cgit v1.2.3