Skip to content

Commit 2b0f1ba

Browse files
authored
Merge pull request #3133 from bhcleek/lint/autosave/staticcheck
lint: pass whole directory to staticcheck on write
2 parents 9ac9a43 + f1a8251 commit 2b0f1ba

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

autoload/go/lint.vim

+4-4
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ function! go#lint#Gometa(bang, autosave, ...) abort
4949
redraw
5050

5151
let l:goargs[0] = expand('%:p')
52-
if l:metalinter == "golangci-lint"
52+
if l:metalinter == 'staticcheck' || l:metalinter == "golangci-lint"
5353
let l:goargs[0] = expand('%:p:h')
5454
endif
5555
endif
@@ -395,7 +395,7 @@ function! s:lint_job(metalinter, args, bang, autosave)
395395

396396
if a:autosave
397397
let l:opts.for = 'GoMetaLinterAutoSave'
398-
" s:metalinterautosavecomplete is really only needed for golangci-lint
398+
" s:metalinterautosavecomplete is needed for staticcheck and golangci-lint
399399
let l:opts.complete = funcref('s:metalinterautosavecomplete', [a:metalinter, expand('%:p:t')])
400400
let l:opts.preserveerrors = funcref('s:preserveerrors', [a:autosave])
401401
endif
@@ -438,7 +438,7 @@ function! s:golangcilintcmd(bin_path, haslinter)
438438
endfunction
439439

440440
function! s:metalinterautosavecomplete(metalinter, filepath, job, exit_code, messages)
441-
if a:metalinter != 'golangci-lint'
441+
if !(a:metalinter == 'golangci-lint' || a:metalinter == 'staticcheck')
442442
return
443443
endif
444444

@@ -451,7 +451,7 @@ function! s:metalinterautosavecomplete(metalinter, filepath, job, exit_code, mes
451451
" leave in any messages that report errors about a:filepath or that report
452452
" more general problems that prevent golangci-lint from linting
453453
" a:filepath.
454-
if l:item =~# '^' . a:filepath . ':' || l:item =~# '^level='
454+
if l:item =~# '^' . a:filepath . ':' || (a:metalinter == 'golangci-lint' && l:item =~# '^level=')
455455
let l:idx += 1
456456
continue
457457
endif

autoload/go/lint_test.vim

-2
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,6 @@ func! s:gometaautosave(metalinter, withList) abort
122122
let l:vim = s:vimdir()
123123
let l:expected = [
124124
\ {'lnum': 1, 'bufnr': bufnr('%'), 'col': 1, 'valid': 1, 'vcol': 0, 'nr': -1, 'type': '', 'pattern': '', 'text': 'at least one file in a package should have a package comment (ST1000)'},
125-
\ {'lnum': 0, 'bufnr': 0, 'col': 0, 'pattern': '', 'valid': 0, 'vcol': 0, 'nr': -1, 'type': '', 'module': '', 'text': ''},
126-
\ {'lnum': 0, 'bufnr': 0, 'col': 0, 'pattern': '', 'valid': 0, 'vcol': 0, 'nr': -1, 'type': '', 'module': '', 'text': 'Run ''/tmp/vim-go-test/' . l:vim . '-install/bin/staticcheck -explain <check>'' or visit https://staticcheck.io/docs/checks for documentation on checks.'}
127125
\ ]
128126
if a:metalinter == 'gopls'
129127
let l:expected = [

0 commit comments

Comments
 (0)