Files
ale/doc/ale-go.txt
Horacio Sanson 5098dfd27e
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
Fix golangci-lint fixer with version 2 (#4960)
2025-05-17 20:28:17 +09:00

423 lines
16 KiB
Plaintext

===============================================================================
ALE Go Integration *ale-go-options*
===============================================================================
Integration Information
ALE enables `gofmt`, `gopls` and `go vet` by default. It also supports `staticcheck`,
`go build, ``gosimple`, `golangserver`, and `golangci-lint.
To enable `golangci-lint`, update |g:ale_linters| as appropriate.
A possible configuration is to enable golangci-lint and `gofmt:
>
" Enable all of the linters you want for Go.
let g:ale_linters = {'go': ['golangci-lint', 'gofmt']}
<
*ale-options.go_go_executable*
*g:ale_go_go_executable*
*b:ale_go_go_executable*
go_go_executable
g:ale_go_go_executable
Type: |String|
Default: `'go'`
The executable that will be run for the `gobuild` and `govet` linters, and
the `gomod` fixer.
*ale-options.go_go111module*
*g:ale_go_go111module*
*b:ale_go_go111module*
go_go111module
g:ale_go_go111module
Type: |String|
Default: `''`
Override the value of the `$GO111MODULE` environment variable for
golang tools.
===============================================================================
bingo *ale-go-bingo*
*ale-options.go_bingo_executable*
*g:ale_go_bingo_executable*
*b:ale_go_bingo_executable*
go_bingo_executable
g:ale_go_bingo_executable
Type: |String|
Default: `'bingo'`
Location of the bingo binary file.
*ale-options.go_bingo_options*
*g:ale_go_bingo_options*
*b:ale_go_bingo_options*
go_bingo_options
g:ale_go_bingo_options
Type: |String|
Default: `''`
===============================================================================
cspell *ale-go-cspell*
See |ale-cspell-options|
===============================================================================
gobuild *ale-go-gobuild*
*ale-options.go_gobuild_options*
*g:ale_go_gobuild_options*
*b:ale_go_gobuild_options*
go_gobuild_options
g:ale_go_gobuild_options
Type: |String|
Default: `''`
This variable can be set to pass additional options to the gobuild linter.
They are injected directly after "go test".
===============================================================================
gofmt *ale-go-gofmt*
*ale-options.go_gofmt_options*
*g:ale_go_gofmt_options*
*b:ale_go_gofmt_options*
go_gofmt_options
g:ale_go_gofmt_options
Type: |String|
Default: `''`
This variable can be set to pass additional options to the gofmt fixer.
===============================================================================
gofumpt *ale-go-gofumpt*
*ale-options.go_gofumpt_executable*
*g:ale_go_gofumpt_executable*
*b:ale_go_gofumpt_executable*
go_gofumpt_executable
g:ale_go_gofumpt_executable
Type: |String|
Default: `'gofumpt'`
Executable to run to use as the gofumpt fixer.
*ale-options.go_gofumpt_options*
*g:ale_go_gofumpt_options*
*b:ale_go_gofumpt_options*
go_gofumpt_options
g:ale_go_gofumpt_options
Type: |String|
Default: `''`
Options to pass to the gofumpt fixer.
===============================================================================
golangci-lint *ale-go-golangci-lint*
`golangci-lint` is a `lint_file` linter, which only lints files that are
written to disk. This differs from the default behavior of linting the buffer.
See: |ale-lint-file|
*ale-options.go_golangci_lint_executable*
*g:ale_go_golangci_lint_executable*
*b:ale_go_golangci_lint_executable*
go_golangci_lint_executable
g:ale_go_golangci_lint_executable
Type: |String|
Default: `'golangci-lint'`
The executable that will be run for golangci-lint.
*ale-options.go_golangci_lint_options*
*g:ale_go_golangci_lint_options*
*b:ale_go_golangci_lint_options*
go_golangci_lint_options
g:ale_go_golangci_lint_options
Type: |String|
Default: `''`
This variable can be changed to alter the command-line arguments to the
golangci-lint run invocation.
*ale-options.go_golangci_lint_package*
*g:ale_go_golangci_lint_package*
*b:ale_go_golangci_lint_package*
go_golangci_lint_package
g:ale_go_golangci_lint_package
Type: |Number|
Default: `0`
When set to `1`, the whole Go package will be checked instead of only the
current file.
golangci_lint can also be user as a fixer to format go source files. In this
case the following configuration variables can be used to configure the
formatters:
*ale-options.go_golangci_formatter_executable*
*g:ale_go_golangci_formatter_executable*
*b:ale_go_golangci_formatter_executable*
go_golangci_formatter_executable
g:ale_go_golangci_formatter_executable
Type: |String|
Default: `'golangci-lint'`
The executable that will be run for golangci-lint.
*ale-options.go_golangci_formatter_options*
*g:ale_go_golangci_formatter_options*
*b:ale_go_golangci_formatter_options*
go_golangci_formatter_options
g:ale_go_golangci_formatter_options
Type: |String|
Default: `''`
This variable can be changed to alter the command-line arguments to the
golangci-lint fmt invocation.
===============================================================================
golangserver *ale-go-golangserver*
*ale-options.go_langserver_executable*
*g:ale_go_langserver_executable*
*b:ale_go_langserver_executable*
go_langserver_executable
g:ale_go_langserver_executable
Type: |String|
Default: `'go-langserver'`
Location of the go-langserver binary file.
*ale-options.go_langserver_options*
*g:ale_go_langserver_options*
*b:ale_go_langserver_options*
go_langserver_options
g:ale_go_langserver_options
Type: |String|
Default: `''`
Additional options passed to the go-langserver command. Note that the
`-gocodecompletion` option is ignored because it is handled automatically
by the |g:ale_completion_enabled| variable.
===============================================================================
golines *ale-go-golines*
*ale-options.go_golines_executable*
*g:ale_go_golines_executable*
*b:ale_go_lines_executable*
go_golines_executable
g:ale_go_golines_executable
Type: |String|
Default: `'golines'`
Location of the golines binary file
*ale-options.go_golines_options*
*g:ale_go_golines_options*
*b:ale_go_golines_options*
go_golines_options
g:ale_go_golines_options
Type: |String|
Default: `''`
Additional options passed to the golines command. By default golines has
--max-length=100 (lines above 100 characters will be wrapped)
===============================================================================
gopls *ale-go-gopls*
gopls is the official Go language server, and is enabled for use with ALE by
default.
To install the latest stable version of `gopls` to your `$GOPATH`, try the
following command: >
GO111MODULE=on go get golang.org/x/tools/gopls@latest
<
If `$GOPATH` is readable by ALE, it should probably work without you having to
do anything else. See the `gopls` README file for more information:
https://github.com/golang/tools/blob/master/gopls/README.md
-------------------------------------------------------------------------------
Options
*ale-options.go_gopls_executable*
*g:ale_go_gopls_executable*
*b:ale_go_gopls_executable*
go_gopls_executable
g:ale_go_gopls_executable
Type: |String|
Default: `'gopls'`
See |ale-integrations-local-executables|
ALE will search for `gopls` in locally installed directories first by
default, and fall back on a globally installed `gopls` if it can't be found
otherwise.
*ale-options.go_gopls_options*
*g:ale_go_gopls_options*
*b:ale_go_gopls_options*
go_gopls_options
g:ale_go_gopls_options
Type: |String|
Default: `''`
Command-line options passed to the gopls executable. See `gopls -h`.
*ale-options.go_gopls_fix_executable*
*g:ale_go_gopls_fix_executable*
*b:ale_go_gopls_fix_executable*
go_gopls_fix_executable
g:ale_go_gopls_fix_executable
Type: |String|
Default: `'gopls'`
Executable to run to use as the gopls fixer.
*ale-options.go_gopls_fix_options*
*g:ale_go_gopls_fix_options*
*b:ale_go_gopls_fix_options*
go_gopls_fix_options
g:ale_go_gopls_fix_options
Type: |String|
Default: `''`
Options to pass to the gopls fixer.
*ale-options.go_gopls_init_options*
*g:ale_go_gopls_init_options*
*b:ale_go_gopls_init_options*
go_gopls_init_options
g:ale_go_gopls_init_options
Type: |Dictionary|
Default: `{}`
LSP initialization options passed to gopls. This can be used to configure
the behaviour of gopls.
For example: >
let g:ale_go_gopls_init_options = {
\ 'ui.diagnostic.analyses': {
\ 'composites': v:false,
\ 'unusedparams': v:true,
\ 'unusedresult': v:true,
\ },
\}
<
For a full list of supported analyzers, see:
https://github.com/golang/tools/blob/master/gopls/doc/analyzers.md
*ale-options.go_gopls_use_global*
*g:ale_go_gopls_use_global*
*b:ale_go_gopls_use_global*
go_gopls_use_global
g:ale_go_gopls_use_global
Type: |String|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
govet *ale-go-govet*
*ale-options.go_govet_options*
*g:ale_go_govet_options*
*b:ale_go_govet_options*
go_govet_options
g:ale_go_govet_options
Type: |String|
Default: `''`
This variable can be set to pass additional options to the go vet linter.
===============================================================================
revive *ale-go-revive*
*ale-options.go_revive_executable*
*g:ale_go_revive_executable*
*b:ale_go_revive_executable*
go_revive_executable
g:ale_go_revive_executable
Type: |String|
Default: `'revive'`
This variable can be set to change the revive executable path.
*ale-options.go_revive_options*
*g:ale_go_revive_options*
*b:ale_go_revive_options*
go_revive_options
g:ale_go_revive_options
Type: |String|
Default: `''`
This variable can be set to pass additional options to the revive
===============================================================================
staticcheck *ale-go-staticcheck*
*ale-options.go_staticcheck_executable*
*g:ale_go_staticcheck_executable*
*b:ale_go_staticcheck_executable*
go_staticcheck_executable
g:ale_go_staticcheck_executable
Type: |String|
Default: `'staticcheck'`
See |ale-integrations-local-executables|
ALE will search for `staticcheck` in locally installed directories first by
default, and fall back on a globally installed `staticcheck` if it can't be
found otherwise.
*ale-options.go_staticcheck_options*
*g:ale_go_staticcheck_options*
*b:ale_go_staticcheck_options*
go_staticcheck_options
g:ale_go_staticcheck_options
Type: |String|
Default: `''`
This variable can be set to pass additional options to the staticcheck
linter.
*ale-options.go_staticcheck_lint_package*
*g:ale_go_staticcheck_lint_package*
*b:ale_go_staticcheck_lint_package*
go_staticcheck_lint_package
g:ale_go_staticcheck_lint_package
Type: |Number|
Default: `1`
When set to `1`, the whole Go package will be checked instead of only the
current file.
*ale-options.go_staticcheck_use_global*
*g:ale_go_staticcheck_use_global*
*b:ale_go_staticcheck_use_global*
go_staticcheck_use_global
g:ale_go_staticcheck_use_global
Type: |String|
Default: `get(g:, 'ale_use_global_executables', 0)`
See |ale-integrations-local-executables|
===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: