Respect ale_warn_about_trailing_whitespace for yamllint

This commit is contained in:
w0rp 2018-07-01 13:49:40 +01:00
parent e5e14de9ae
commit 06f61eeeb8
No known key found for this signature in database
GPG Key ID: 0FC1ECAA8C81CD83
2 changed files with 39 additions and 1 deletions

View File

@ -34,6 +34,12 @@ function! ale_linters#yaml#yamllint#Handle(buffer, lines) abort
let l:code_match = matchlist(l:item.text, '\v^(.+) \(([^)]+)\)$')
if !empty(l:code_match)
if l:code_match[2] is# 'trailing-spaces'
\&& !ale#Var(a:buffer, 'warn_about_trailing_whitespace')
" Skip warnings for trailing whitespace if the option is off.
continue
endif
let l:item.text = l:code_match[1]
let l:item.code = l:code_match[2]
endif

View File

@ -1,10 +1,18 @@
Before:
Save g:ale_warn_about_trailing_whitespace
let g:ale_warn_about_trailing_whitespace = 1
runtime! ale_linters/yaml/yamllint.vim
After:
Restore
unlet! b:ale_warn_about_trailing_whitespace
call ale#linter#Reset()
Execute:
Execute(Problems should be parsed correctly for yamllint):
AssertEqual
\ [
\ {
@ -25,3 +33,27 @@ Execute:
\ 'something.yaml:1:1: [warning] missing document start "---" (document-start)',
\ 'something.yml:2:1: [error] syntax error: expected the node content, but found ''<stream end>''',
\ ])
Execute(The yamllint handler should respect ale_warn_about_trailing_whitespace):
AssertEqual
\ [
\ {
\ 'lnum': 5,
\ 'col': 18,
\ 'type': 'E',
\ 'text': 'trailing spaces',
\ 'code': 'trailing-spaces',
\ },
\ ],
\ ale_linters#yaml#yamllint#Handle(bufnr(''), [
\ 'something.yml:5:18: [error] trailing spaces (trailing-spaces)',
\ ])
let b:ale_warn_about_trailing_whitespace = 0
AssertEqual
\ [
\ ],
\ ale_linters#yaml#yamllint#Handle(bufnr(''), [
\ 'something.yml:5:18: [error] trailing spaces (trailing-spaces)',
\ ])