mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-07 05:04:28 +08:00
Allow to pass options to the buf linter and fix callback. (#4300)
* Allow to pass options to the buf linter * Fix the callback of buf linter
This commit is contained in:
@@ -3,12 +3,15 @@
|
|||||||
|
|
||||||
call ale#Set('proto_buf_lint_executable', 'buf')
|
call ale#Set('proto_buf_lint_executable', 'buf')
|
||||||
call ale#Set('proto_buf_lint_config', '')
|
call ale#Set('proto_buf_lint_config', '')
|
||||||
|
call ale#Set('proto_buf_lint_options', '')
|
||||||
|
|
||||||
function! ale_linters#proto#buf_lint#GetCommand(buffer) abort
|
function! ale_linters#proto#buf_lint#GetCommand(buffer) abort
|
||||||
let l:config = ale#Var(a:buffer, 'proto_buf_lint_config')
|
let l:config = ale#Var(a:buffer, 'proto_buf_lint_config')
|
||||||
|
let l:options = ale#Var(a:buffer, 'proto_buf_lint_options')
|
||||||
|
|
||||||
return '%e lint'
|
return '%e lint'
|
||||||
\ . (!empty(l:config) ? ' --config=' . ale#Escape(l:config) : '')
|
\ . (!empty(l:config) ? ' --config=' . ale#Escape(l:config) : '')
|
||||||
|
\ . (!empty(l:options) ? ' ' . l:options : '')
|
||||||
\ . ' %s#include_package_files=true'
|
\ . ' %s#include_package_files=true'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@@ -19,5 +22,5 @@ call ale#linter#Define('proto', {
|
|||||||
\ 'output_stream': 'stdout',
|
\ 'output_stream': 'stdout',
|
||||||
\ 'executable': {b -> ale#Var(b, 'proto_buf_lint_executable')},
|
\ 'executable': {b -> ale#Var(b, 'proto_buf_lint_executable')},
|
||||||
\ 'command': function('ale_linters#proto#buf_lint#GetCommand'),
|
\ 'command': function('ale_linters#proto#buf_lint#GetCommand'),
|
||||||
\ 'callback': 'ale#handlers#unix#HandleAsError',
|
\ 'callback': 'ale#handlers#go#Handler',
|
||||||
\})
|
\})
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ Execute(The default command should be correct):
|
|||||||
\ . ' lint'
|
\ . ' lint'
|
||||||
\ . ' %s#include_package_files=true'
|
\ . ' %s#include_package_files=true'
|
||||||
|
|
||||||
Execute(The callback should include any additional options):
|
Execute(The callback should include any additional config):
|
||||||
let b:ale_proto_buf_lint_executable = '/tmp/buf'
|
let b:ale_proto_buf_lint_executable = '/tmp/buf'
|
||||||
let b:ale_proto_buf_lint_config = '/tmp/buf.yaml'
|
let b:ale_proto_buf_lint_config = '/tmp/buf.yaml'
|
||||||
|
|
||||||
@@ -20,3 +20,13 @@ Execute(The callback should include any additional options):
|
|||||||
\ . ' lint'
|
\ . ' lint'
|
||||||
\ . ' --config=' . ale#Escape('/tmp/buf.yaml')
|
\ . ' --config=' . ale#Escape('/tmp/buf.yaml')
|
||||||
\ . ' %s#include_package_files=true'
|
\ . ' %s#include_package_files=true'
|
||||||
|
|
||||||
|
Execute(The callback should include additional options):
|
||||||
|
let b:ale_proto_buf_lint_executable = '/tmp/buf'
|
||||||
|
let b:ale_proto_buf_lint_options = '--disable-symlinks'
|
||||||
|
|
||||||
|
AssertLinter '/tmp/buf',
|
||||||
|
\ ale#Escape('/tmp/buf')
|
||||||
|
\ . ' lint'
|
||||||
|
\ . ' --disable-symlinks'
|
||||||
|
\ . ' %s#include_package_files=true'
|
||||||
|
|||||||
Reference in New Issue
Block a user