diff options
author | Michael Phillips <michaeljoelphillips@gmail.com> | 2019-01-19 01:39:06 -0600 |
---|---|---|
committer | Michael Phillips <michaeljoelphillips@gmail.com> | 2019-01-20 19:39:47 -0600 |
commit | bd1e639681a9154315251c63cb704186ed08ce13 (patch) | |
tree | 13f5219c190aee15509de18c30e1a7b2dce08735 /ale_linters/kotlin | |
parent | d1fc084b2d3af6dd9807a01a6ca7822af6c2a78f (diff) | |
download | ale-bd1e639681a9154315251c63cb704186ed08ce13.zip |
Add ktlint fixer support.
Diffstat (limited to 'ale_linters/kotlin')
-rw-r--r-- | ale_linters/kotlin/ktlint.vim | 48 |
1 files changed, 2 insertions, 46 deletions
diff --git a/ale_linters/kotlin/ktlint.vim b/ale_linters/kotlin/ktlint.vim index f474e845..b8920aa7 100644 --- a/ale_linters/kotlin/ktlint.vim +++ b/ale_linters/kotlin/ktlint.vim @@ -1,54 +1,10 @@ " Author: Francis Agyapong <francisagyapong2@gmail.com> " Description: Lint kotlin files using ktlint -call ale#Set('kotlin_ktlint_executable', 'ktlint') -call ale#Set('kotlin_ktlint_rulesets', []) -call ale#Set('kotlin_ktlint_format', 0) - - -function! ale_linters#kotlin#ktlint#GetCommand(buffer) abort - let l:executable = ale#Var(a:buffer, 'kotlin_ktlint_executable') - let l:file_path = expand('#' . a:buffer . ':p') - let l:options = '' - - " Formmatted content written to original file, not sure how to handle - " if ale#Var(a:buffer, 'kotlin_ktlint_format') - " let l:options = l:options . ' --format' - " endif - - for l:ruleset in ale#Var(a:buffer, 'kotlin_ktlint_rulesets') - let l:options = l:options . ' --ruleset ' . l:ruleset - endfor - - return l:executable . ' ' . l:options . ' ' . l:file_path -endfunction - -function! ale_linters#kotlin#ktlint#Handle(buffer, lines) abort - let l:message_pattern = '^\(.*\):\([0-9]\+\):\([0-9]\+\):\s\+\(.*\)' - let l:output = [] - - for l:match in ale#util#GetMatches(a:lines, l:message_pattern) - let l:line = l:match[2] + 0 - let l:column = l:match[3] + 0 - let l:text = l:match[4] - - let l:type = l:text =~? 'not a valid kotlin file' ? 'E' : 'W' - - call add(l:output, { - \ 'lnum': l:line, - \ 'col': l:column, - \ 'text': l:text, - \ 'type': l:type - \}) - endfor - - return l:output -endfunction - call ale#linter#Define('kotlin', { \ 'name': 'ktlint', \ 'executable': 'ktlint', -\ 'command_callback': 'ale_linters#kotlin#ktlint#GetCommand', -\ 'callback': 'ale_linters#kotlin#ktlint#Handle', +\ 'command_callback': 'ale#handlers#ktlint#GetCommand', +\ 'callback': 'ale#handlers#ktlint#Handle', \ 'lint_file': 1 \}) |