Merge pull request #589 from bardzusny/ember-template-lint-handler-parsing-error
Ember-template-lint handler: properly handle template parsing errors.
This commit is contained in:
parent
e94aea9144
commit
9b6d6344b2
2 changed files with 44 additions and 7 deletions
|
@ -35,13 +35,23 @@ function! ale_linters#handlebars#embertemplatelint#Handle(buffer, lines) abort
|
|||
let l:file_errors = values(l:input_json)[0]
|
||||
|
||||
for l:error in l:file_errors
|
||||
call add(l:output, {
|
||||
\ 'bufnr': a:buffer,
|
||||
\ 'lnum': l:error.line,
|
||||
\ 'col': l:error.column,
|
||||
\ 'text': l:error.rule . ': ' . l:error.message,
|
||||
\ 'type': l:error.severity == 1 ? 'W' : 'E',
|
||||
\})
|
||||
if has_key(l:error, 'fatal')
|
||||
call add(l:output, {
|
||||
\ 'bufnr': a:buffer,
|
||||
\ 'lnum': 1,
|
||||
\ 'col': 1,
|
||||
\ 'text': l:error.message,
|
||||
\ 'type': l:error.severity == 1 ? 'W' : 'E',
|
||||
\})
|
||||
else
|
||||
call add(l:output, {
|
||||
\ 'bufnr': a:buffer,
|
||||
\ 'lnum': l:error.line,
|
||||
\ 'col': l:error.column,
|
||||
\ 'text': l:error.rule . ': ' . l:error.message,
|
||||
\ 'type': l:error.severity == 1 ? 'W' : 'E',
|
||||
\})
|
||||
endif
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
|
|
|
@ -46,6 +46,33 @@ Execute(The ember-template-lint handler should parse lines correctly):
|
|||
\ ],
|
||||
\ ale_linters#handlebars#embertemplatelint#Handle(347, input_lines)
|
||||
|
||||
Execute(The ember-template-lint handler should handle template parsing error correctly):
|
||||
let input_lines = split('{
|
||||
\ "/ember-project/app/templates/application.hbs": [
|
||||
\ {
|
||||
\ "fatal": true,
|
||||
\ "moduleId": "app/templates/application",
|
||||
\ "message": "Parse error on line 5 ...",
|
||||
\ "line": 1,
|
||||
\ "column": 1,
|
||||
\ "source": "Error: Parse error on line 5 ...",
|
||||
\ "severity": 2
|
||||
\ }
|
||||
\ ]
|
||||
\ }', '\n')
|
||||
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'bufnr': 347,
|
||||
\ 'lnum': 1,
|
||||
\ 'col': 1,
|
||||
\ 'text': 'Parse error on line 5 ...',
|
||||
\ 'type': 'E',
|
||||
\ },
|
||||
\ ],
|
||||
\ ale_linters#handlebars#embertemplatelint#Handle(347, input_lines)
|
||||
|
||||
Execute(The ember-template-lint handler should handle no lint errors/warnings):
|
||||
AssertEqual
|
||||
\ [
|
||||
|
|
Reference in a new issue