summaryrefslogtreecommitdiff
path: root/ale_linters/proto/protolint.vim
blob: 2754c7b6fad027fa1e25f9ea5402afc3ba4a84c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
" Author: Yohei Yoshimuta <yoheimuta@gmail.com>
" Description: run the protolint for Protocol Buffer files

call ale#Set('proto_protolint_executable', 'protolint')
call ale#Set('proto_protolint_config', '')

function! ale_linters#proto#protolint#GetCommand(buffer) abort
    let l:config = ale#Var(a:buffer, 'proto_protolint_config')

    return '%e lint'
    \ . (!empty(l:config) ? ' -config_path=' . ale#Escape(l:config) : '')
    \ . ' -reporter=unix'
    \ . ' %s'
endfunction

call ale#linter#Define('proto', {
\   'name': 'protolint',
\   'lint_file': 1,
\   'output_stream': 'stderr',
\   'executable': {b -> ale#Var(b, 'proto_protolint_executable')},
\   'command': function('ale_linters#proto#protolint#GetCommand'),
\   'callback': 'ale#handlers#unix#HandleAsError',
\})