Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix overriding metalinter command (fix #1622) #2101

Merged
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 22 additions & 18 deletions autoload/go/lint.vim
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,14 @@ function! go#lint#Gometa(bang, autosave, ...) abort
let goargs = a:000
endif

let bin_path = go#path#CheckBinPath("gometalinter")
if empty(bin_path)
return
endif

let cmd = [bin_path]
let cmd += ["--disable-all"]

if a:autosave || empty(go#config#MetalinterCommand())
" linters
let linters = a:autosave ? go#config#MetalinterAutosaveEnabled() : go#config#MetalinterEnabled()
for linter in linters
let cmd += ["--enable=".linter]
endfor
if empty(go#config#MetalinterCommand())
let bin_path = go#path#CheckBinPath("gometalinter")
if empty(bin_path)
return
endif

for linter in go#config#MetalinterDisabled()
let cmd += ["--disable=".linter]
endfor
let cmd = [bin_path]
let cmd += ["--disable-all"]

" gometalinter has a --tests flag to tell its linters whether to run
" against tests. While not all of its linters respect this flag, for those
Expand All @@ -36,9 +26,23 @@ function! go#lint#Gometa(bang, autosave, ...) abort
let cmd += ["--tests"]
else
" the user wants something else, let us use it.
let cmd += split(go#config#MetalinterCommand(), " ")
let cmd = split(go#config#MetalinterCommand(), " ")
let bin_path = go#path#CheckBinPath(cmd[0])
if empty(bin_path)
return
endif
bhcleek marked this conversation as resolved.
Show resolved Hide resolved
endif

" linters
let linters = a:autosave ? go#config#MetalinterAutosaveEnabled() : go#config#MetalinterEnabled()
for linter in linters
let cmd += ["--enable=".linter]
endfor

for linter in go#config#MetalinterDisabled()
let cmd += ["--disable=".linter]
endfor

bhcleek marked this conversation as resolved.
Show resolved Hide resolved
if a:autosave
" redraw so that any messages that were displayed while writing the file
" will be cleared
Expand Down