feat: Add protolint as linter and fixer (#2911)

This commit is contained in:
yohei yoshimuta
2021-04-09 22:16:23 +09:00
committed by GitHub
parent f0887d3e61
commit cec9954d01
9 changed files with 142 additions and 5 deletions

View File

@@ -346,6 +346,11 @@ let s:default_registry = {
\ 'suggested_filetypes': ['json'],
\ 'description': 'Fix JSON files with jq.',
\ },
\ 'protolint': {
\ 'function': 'ale#fixers#protolint#Fix',
\ 'suggested_filetypes': ['proto'],
\ 'description': 'Fix Protocol Buffer files with protolint.',
\ },
\ 'perltidy': {
\ 'function': 'ale#fixers#perltidy#Fix',
\ 'suggested_filetypes': ['perl'],

View File

@@ -0,0 +1,26 @@
" Author: Yohei Yoshimuta <yoheimuta@gmail.com>
" Description: Integration of protolint with ALE.
call ale#Set('proto_protolint_executable', 'protolint')
call ale#Set('proto_protolint_config', '')
function! ale#fixers#protolint#GetExecutable(buffer) abort
let l:executable = ale#Var(a:buffer, 'proto_protolint_executable')
return ale#Escape(l:executable)
endfunction
function! ale#fixers#protolint#Fix(buffer) abort
let l:executable = ale#fixers#protolint#GetExecutable(a:buffer)
let l:config = ale#Var(a:buffer, 'proto_protolint_config')
return {
\ 'command': l:executable
\ . (!empty(l:config) ? ' -config_path=' . ale#Escape(l:config) : '')
\ . ' -fix'
\ . ' %t',
\ 'read_temporary_file': 1,
\}
endfunction