summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ale_linters/sh/shellcheck.vim3
-rw-r--r--test/handler/test_shellcheck_handler.vader9
2 files changed, 8 insertions, 4 deletions
diff --git a/ale_linters/sh/shellcheck.vim b/ale_linters/sh/shellcheck.vim
index 3e60ad31..27c74531 100644
--- a/ale_linters/sh/shellcheck.vim
+++ b/ale_linters/sh/shellcheck.vim
@@ -71,7 +71,7 @@ function! ale_linters#sh#shellcheck#GetCommand(buffer, version_output) abort
endfunction
function! ale_linters#sh#shellcheck#Handle(buffer, lines) abort
- let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+)?:? ([^:]+): (.+)$'
+ let l:pattern = '\v^([a-zA-Z]?:?[^:]+):(\d+):(\d+)?:? ([^:]+): (.+) \[([^\]]+)\]$'
let l:output = []
for l:match in ale#util#GetMatches(a:lines, l:pattern)
@@ -87,6 +87,7 @@ function! ale_linters#sh#shellcheck#Handle(buffer, lines) abort
\ 'lnum': str2nr(l:match[2]),
\ 'type': l:type,
\ 'text': l:match[5],
+ \ 'code': l:match[6],
\}
if !empty(l:match[3])
diff --git a/test/handler/test_shellcheck_handler.vader b/test/handler/test_shellcheck_handler.vader
index 5a7607e8..bfb73ffa 100644
--- a/test/handler/test_shellcheck_handler.vader
+++ b/test/handler/test_shellcheck_handler.vader
@@ -11,13 +11,15 @@ Execute(The shellcheck handler should handle basic errors or warnings):
\ 'lnum': 2,
\ 'col': 1,
\ 'type': 'W',
- \ 'text': 'In POSIX sh, ''let'' is not supported. [SC2039]',
+ \ 'text': 'In POSIX sh, ''let'' is not supported.',
+ \ 'code': 'SC2039',
\ },
\ {
\ 'lnum': 2,
\ 'col': 3,
\ 'type': 'E',
- \ 'text': 'Don''t put spaces around the = in assignments. [SC1068]',
+ \ 'text': 'Don''t put spaces around the = in assignments.',
+ \ 'code': 'SC1068',
\ },
\ ],
\ ale_linters#sh#shellcheck#Handle(bufnr(''), [
@@ -32,7 +34,8 @@ Execute(The shellcheck handler should handle notes):
\ 'lnum': 3,
\ 'col': 3,
\ 'type': 'I',
- \ 'text': 'Double quote to prevent globbing and word splitting. [SC2086]',
+ \ 'text': 'Double quote to prevent globbing and word splitting.',
+ \ 'code': 'SC2086',
\ },
\ ],
\ ale_linters#sh#shellcheck#Handle(bufnr(''), [