mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-06 12:44:23 +08:00
Some checks failed
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--lua-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
Version 2 of golangci-lint introduces several breaking changes to the command line arguments and the configuration file. Thi PR updates ale integration to support both version 1.6x.x and 2.x.x of golangci-lint.
75 lines
2.5 KiB
Plaintext
75 lines
2.5 KiB
Plaintext
Before:
|
|
Save g:ale_go_go111module
|
|
|
|
call ale#assert#SetUpLinterTest('go', 'golangci_lint')
|
|
call ale#test#SetFilename('test.go')
|
|
|
|
" Test with version 1.64.8 by default
|
|
GivenCommandOutput ['golangci-lint has version 1.64.8 built with go1.23.0']
|
|
|
|
After:
|
|
Restore
|
|
|
|
unlet! b:ale_go_go111module
|
|
|
|
call ale#assert#TearDownLinterTest()
|
|
|
|
Execute(The golangci-lint defaults should be correct):
|
|
AssertLinterCwd '%s:h',
|
|
AssertLinter 'golangci-lint',
|
|
\ ale#Escape('golangci-lint') . ' run --out-format=json --show-stats=0'
|
|
|
|
Execute(The golangci-lint defaults should be correct with no version info):
|
|
GivenCommandOutput []
|
|
AssertLinterCwd '%s:h',
|
|
AssertLinter 'golangci-lint',
|
|
\ ale#Escape('golangci-lint') . ' run --out-format=json --show-stats=0'
|
|
|
|
Execute(The golangci-lint defaults should be correct with version 2):
|
|
GivenCommandOutput ['golangci-lint has version 2.0.2 built with go1.24.0']
|
|
AssertLinterCwd '%s:h',
|
|
AssertLinter 'golangci-lint',
|
|
\ ale#Escape('golangci-lint') . ' run --output.json.path stdout --output.text.path stderr --show-stats=0'
|
|
|
|
Execute(The golangci-lint callback should use a configured executable):
|
|
let b:ale_go_golangci_lint_executable = 'something else'
|
|
|
|
AssertLinter 'something else',
|
|
\ ale#Escape('something else')
|
|
\ . ' run --out-format=json --show-stats=0'
|
|
|
|
Execute(The golangci-lint callback should use a configured version 2 executable):
|
|
GivenCommandOutput ['golangci-lint has version 2.0.0 built with go1.22.0']
|
|
let b:ale_go_golangci_lint_executable = 'something else'
|
|
|
|
AssertLinter 'something else',
|
|
\ ale#Escape('something else')
|
|
\ . ' run --output.json.path stdout --output.text.path stderr --show-stats=0'
|
|
|
|
Execute(The golangci-lint callback should use configured options):
|
|
let b:ale_go_golangci_lint_options = '--foobar'
|
|
|
|
AssertLinter 'golangci-lint',
|
|
\ ale#Escape('golangci-lint')
|
|
\ . ' run '
|
|
\ . '--foobar '
|
|
\ . '--out-format=json '
|
|
\ . '--show-stats=0'
|
|
|
|
Execute(The golangci-lint callback should support environment variables):
|
|
let b:ale_go_go111module = 'on'
|
|
|
|
AssertLinter 'golangci-lint',
|
|
\ ale#Env('GO111MODULE', 'on')
|
|
\ . ale#Escape('golangci-lint')
|
|
\ . ' run '
|
|
\ . '--out-format=json '
|
|
\ . '--show-stats=0'
|
|
|
|
Execute(The golangci-lint `lint_package` option should use the correct command):
|
|
let b:ale_go_golangci_lint_package = 0
|
|
AssertLinter 'golangci-lint',
|
|
\ ale#Escape('golangci-lint')
|
|
\ . ' run ' . ale#Escape(expand('%' . ':t'))
|
|
\ . ' --out-format=json --show-stats=0'
|