diff options
author | oaue <pofman@free.fr> | 2017-06-19 12:45:09 +0200 |
---|---|---|
committer | w0rp <w0rp@users.noreply.github.com> | 2017-06-19 11:45:09 +0100 |
commit | b44bd4e24f0c5cf139c428c1239307f3428a0af4 (patch) | |
tree | 0470762697b8ed2159333f82af45f7efed6fcab8 | |
parent | 66b9d025bb87ed941aeff4ce0c72b4ef9f98d431 (diff) | |
download | ale-b44bd4e24f0c5cf139c428c1239307f3428a0af4.zip |
handle column number in javac linter (#660)
* handle column number in javac linter
* Updated tests with column number for javac errors.
* Updated tests with column number for javac errors.
-rw-r--r-- | ale_linters/java/javac.vim | 7 | ||||
-rw-r--r-- | test/handler/test_javac_handler.vader | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/ale_linters/java/javac.vim b/ale_linters/java/javac.vim index 0b429e05..97530882 100644 --- a/ale_linters/java/javac.vim +++ b/ale_linters/java/javac.vim @@ -59,11 +59,14 @@ function! ale_linters#java#javac#Handle(buffer, lines) abort " Main.java:16: error: ';' expected let l:pattern = '\v^.*:(\d+): (.+):(.+)$' + let l:col_pattern = '\v^(\s*\^)$' let l:symbol_pattern = '\v^ +symbol: *(class|method) +([^ ]+)' let l:output = [] - for l:match in ale#util#GetMatches(a:lines, [l:pattern, l:symbol_pattern]) - if empty(l:match[3]) + for l:match in ale#util#GetMatches(a:lines, [l:pattern, l:col_pattern, l:symbol_pattern]) + if empty(l:match[2]) && empty(l:match[3]) + let l:output[-1].col = len(l:match[1]) + elseif empty(l:match[3]) " Add symbols to 'cannot find symbol' errors. if l:output[-1].text ==# 'error: cannot find symbol' let l:output[-1].text .= ': ' . l:match[2] diff --git a/test/handler/test_javac_handler.vader b/test/handler/test_javac_handler.vader index d190ab78..2cf32072 100644 --- a/test/handler/test_javac_handler.vader +++ b/test/handler/test_javac_handler.vader @@ -14,11 +14,13 @@ Execute(The javac handler should handle cannot find symbol errors): \ }, \ { \ 'lnum': 2, + \ 'col': 5, \ 'text': 'error: cannot find symbol: BadName', \ 'type': 'E', \ }, \ { \ 'lnum': 34, + \ 'col': 5, \ 'text': 'error: cannot find symbol: BadName2', \ 'type': 'E', \ }, @@ -29,6 +31,7 @@ Execute(The javac handler should handle cannot find symbol errors): \ }, \ { \ 'lnum': 42, + \ 'col': 11, \ 'text': 'error: cannot find symbol: bar()', \ 'type': 'E', \ }, |