Merge pull request #3571 from rfwatson/gopls-add-init-options

gopls: add go_gopls_init_options
This commit is contained in:
Horacio Sanson 2021-02-06 21:34:19 +09:00 committed by GitHub
commit f9f2ad2765
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 0 deletions

View File

@ -4,6 +4,7 @@
call ale#Set('go_gopls_executable', 'gopls')
call ale#Set('go_gopls_options', '--mode stdio')
call ale#Set('go_gopls_init_options', {})
function! ale_linters#go#gopls#GetCommand(buffer) abort
return ale#go#EnvString(a:buffer)
@ -31,4 +32,5 @@ call ale#linter#Define('go', {
\ 'executable': {b -> ale#Var(b, 'go_gopls_executable')},
\ 'command': function('ale_linters#go#gopls#GetCommand'),
\ 'project_root': function('ale_linters#go#gopls#FindProjectRoot'),
\ 'initialization_options': {b -> ale#Var(b, 'go_gopls_init_options')},
\})

View File

@ -207,6 +207,27 @@ g:ale_go_gopls_options *g:ale_go_gopls_options*
Type: |String|
Default: `''`
Command-line options passed to the gopls executable. See `gopls -h`.
g:ale_go_gopls_init_options *g:ale_go_gopls_init_options*
*b:ale_go_gopls_init_options*
Type: |Dictionary|
Default: `{}`
LSP initialization options passed to gopls. This can be used to configure
the behaviour of gopls.
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
===============================================================================
govet *ale-go-govet*

View File

@ -36,6 +36,9 @@ Execute(should set gopls options):
AssertLinter 'gopls',
\ ale#Escape('gopls') . ' --mode stdio --trace'
let b:ale_go_gopls_init_options = {'ui.diagnostic.analyses': {'composites': v:false}}
AssertLSPOptions {'ui.diagnostic.analyses': {'composites': v:false}}
Execute(should support go environment variables):
let b:ale_go_go111module = 'off'