Fix #1210 - Do not report this file as a temporary file in the quickfix list for TSLint

This commit is contained in:
w0rp 2017-12-10 09:58:33 +00:00
parent fcfd1025cc
commit cebe7c3918
2 changed files with 34 additions and 2 deletions

View File

@ -29,7 +29,6 @@ function! ale_linters#typescript#tslint#Handle(buffer, lines) abort
endif endif
let l:item = { let l:item = {
\ 'filename': ale#path#GetAbsPath(l:dir, l:error.name),
\ 'type': (get(l:error, 'ruleSeverity', '') is# 'WARNING' ? 'W' : 'E'), \ 'type': (get(l:error, 'ruleSeverity', '') is# 'WARNING' ? 'W' : 'E'),
\ 'text': l:error.failure, \ 'text': l:error.failure,
\ 'lnum': l:error.startPosition.line + 1, \ 'lnum': l:error.startPosition.line + 1,
@ -38,6 +37,13 @@ function! ale_linters#typescript#tslint#Handle(buffer, lines) abort
\ 'end_col': l:error.endPosition.character + 1, \ 'end_col': l:error.endPosition.character + 1,
\} \}
let l:filename = ale#path#GetAbsPath(l:dir, l:error.name)
" Assume temporary files are this file.
if !ale#path#IsTempName(l:filename)
let l:item.filename = l:filename
endif
if has_key(l:error, 'ruleName') if has_key(l:error, 'ruleName')
let l:item.code = l:error.ruleName let l:item.code = l:error.ruleName
endif endif

View File

@ -278,5 +278,31 @@ Execute(The tslint handler should not report no-implicit-dependencies errors):
\ 'character': 0, \ 'character': 0,
\ 'line': 1, \ 'line': 1,
\ 'position': 1 \ 'position': 1
\ } \ },
\ }])]) \ }])])
Execute(The tslint handler should set filename keys for temporary files):
" The temporay filename below is hacked into being a relative path so we can
" test that we resolve the temporary filename first.
AssertEqual
\ [
\ {'lnum': 47, 'col': 1, 'code': 'curly', 'end_lnum': 47, 'type': 'E', 'end_col': 26, 'text': 'if statements must be braced'},
\ ],
\ ale_linters#typescript#tslint#Handle(bufnr(''), [json_encode([
\ {
\ 'endPosition': {
\ 'character':25,
\ 'line':46,
\ 'position':1383,
\ },
\ 'failure': 'if statements must be braced',
\ 'name': substitute(substitute(expand('%:p'), '[^/\\]', '', 'g'), '.', '../', 'g') . tempname(),
\ 'ruleName': 'curly',
\ 'ruleSeverity':'ERROR',
\ 'startPosition': {
\ 'character':0,
\ 'line':46,
\ 'position':1358,
\ }
\ },
\ ])])