summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ale_linters/typescript/tslint.vim14
-rw-r--r--test/handler/test_tslint_handler.vader17
2 files changed, 20 insertions, 11 deletions
diff --git a/ale_linters/typescript/tslint.vim b/ale_linters/typescript/tslint.vim
index e366af8f..a1bfbb71 100644
--- a/ale_linters/typescript/tslint.vim
+++ b/ale_linters/typescript/tslint.vim
@@ -28,17 +28,21 @@ function! ale_linters#typescript#tslint#Handle(buffer, lines) abort
continue
endif
- call add(l:output, {
+ let l:item = {
\ 'filename': ale#path#GetAbsPath(l:dir, l:error.name),
\ 'type': (get(l:error, 'ruleSeverity', '') is# 'WARNING' ? 'W' : 'E'),
- \ 'text': has_key(l:error, 'ruleName')
- \ ? l:error.ruleName . ': ' . l:error.failure
- \ : l:error.failure,
+ \ 'text': l:error.failure,
\ 'lnum': l:error.startPosition.line + 1,
\ 'col': l:error.startPosition.character + 1,
\ 'end_lnum': l:error.endPosition.line + 1,
\ 'end_col': l:error.endPosition.character + 1,
- \})
+ \}
+
+ if has_key(l:error, 'ruleName')
+ let l:item.code = l:error.ruleName
+ endif
+
+ call add(l:output, l:item)
endfor
return l:output
diff --git a/test/handler/test_tslint_handler.vader b/test/handler/test_tslint_handler.vader
index db6294cf..d6ed353b 100644
--- a/test/handler/test_tslint_handler.vader
+++ b/test/handler/test_tslint_handler.vader
@@ -28,7 +28,8 @@ Execute(The tslint handler should parse lines correctly):
\ 'end_lnum': 1,
\ 'type': 'E',
\ 'end_col': 15,
- \ 'text': 'semicolon: Missing semicolon'
+ \ 'text': 'Missing semicolon',
+ \ 'code': 'semicolon',
\ },
\ {
\ 'lnum': 2,
@@ -37,7 +38,7 @@ Execute(The tslint handler should parse lines correctly):
\ 'end_lnum': 3,
\ 'type': 'W',
\ 'end_col': 12,
- \ 'text': 'Something else'
+ \ 'text': 'Something else',
\ },
\ {
\ 'lnum': 2,
@@ -46,7 +47,8 @@ Execute(The tslint handler should parse lines correctly):
\ 'end_lnum': 3,
\ 'type': 'W',
\ 'end_col': 12,
- \ 'text': 'something: Something else'
+ \ 'text': 'Something else',
+ \ 'code': 'something',
\ },
\ {
\ 'lnum': 31,
@@ -55,7 +57,8 @@ Execute(The tslint handler should parse lines correctly):
\ 'end_lnum': 31,
\ 'type': 'E',
\ 'end_col': 20,
- \ 'text': 'no-console: Calls to console.log are not allowed.'
+ \ 'text': 'Calls to console.log are not allowed.',
+ \ 'code': 'no-console',
\ },
\ ] ,
\ ale_linters#typescript#tslint#Handle(bufnr(''), [json_encode([
@@ -155,7 +158,8 @@ Execute(The tslint handler report errors for empty files by default):
\ 'end_lnum': 2,
\ 'type': 'E',
\ 'end_col': 1,
- \ 'text': 'no-consecutive-blank-lines: Consecutive blank lines are forbidden',
+ \ 'text': 'Consecutive blank lines are forbidden',
+ \ 'code': 'no-consecutive-blank-lines',
\ },
\ ],
\ ale_linters#typescript#tslint#Handle(bufnr(''), [json_encode([{
@@ -228,7 +232,8 @@ Execute(The tslint handler should report errors when the ignore option is on, bu
\ 'end_lnum': 2,
\ 'type': 'E',
\ 'end_col': 1,
- \ 'text': 'no-consecutive-blank-lines: Consecutive blank lines are forbidden',
+ \ 'text': 'Consecutive blank lines are forbidden',
+ \ 'code': 'no-consecutive-blank-lines',
\ },
\ ],
\ ale_linters#typescript#tslint#Handle(bufnr(''), [json_encode([{