summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorD. Ben Knoble <ben.knoble+github@gmail.com>2021-10-06 22:33:33 -0400
committerGitHub <noreply@github.com>2021-10-07 11:33:33 +0900
commit34a972f85d0aa80997b7b0ac36c667a6137ce9a0 (patch)
treeb4b3189a1be3e865c8ecc1e498a85f55d14a6f9f
parentefa563826d3dd20c4dbd5cbb6b2bdf2f46ac286e (diff)
downloadale-34a972f85d0aa80997b7b0ac36c667a6137ce9a0.zip
sml: use filenames (fix #1084) (#3860)
-rw-r--r--autoload/ale/handlers/sml.vim22
-rw-r--r--test/handler/test_sml_handler.vader12
2 files changed, 17 insertions, 17 deletions
diff --git a/autoload/ale/handlers/sml.vim b/autoload/ale/handlers/sml.vim
index 594ee4f7..f5365dd6 100644
--- a/autoload/ale/handlers/sml.vim
+++ b/autoload/ale/handlers/sml.vim
@@ -56,19 +56,19 @@ function! ale#handlers#sml#Handle(buffer, lines) abort
" Try to match basic sml errors
" TODO(jez) We can get better errorfmt strings from Syntastic
let l:out = []
- let l:pattern = '^.*\:\([0-9\.]\+\)\ \(\w\+\)\:\ \(.*\)'
- let l:pattern2 = '^.*\:\([0-9]\+\)\.\?\([0-9]\+\).* \(\(Warning\|Error\): .*\)'
+ let l:pattern = '^\(.*\)\:\([0-9\.]\+\)\ \(\w\+\)\:\ \(.*\)'
+ let l:pattern2 = '^\(.*\)\:\([0-9]\+\)\.\?\([0-9]\+\).* \(\(Warning\|Error\): .*\)'
for l:line in a:lines
let l:match2 = matchlist(l:line, l:pattern2)
if len(l:match2) != 0
call add(l:out, {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:match2[1] + 0,
- \ 'col' : l:match2[2] - 1,
- \ 'text': l:match2[3],
- \ 'type': l:match2[3] =~# '^Warning' ? 'W' : 'E',
+ \ 'filename': l:match2[1],
+ \ 'lnum': l:match2[2] + 0,
+ \ 'col' : l:match2[3] - 1,
+ \ 'text': l:match2[4],
+ \ 'type': l:match2[4] =~# '^Warning' ? 'W' : 'E',
\})
continue
@@ -78,10 +78,10 @@ function! ale#handlers#sml#Handle(buffer, lines) abort
if len(l:match) != 0
call add(l:out, {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:match[1] + 0,
- \ 'text': l:match[2] . ': ' . l:match[3],
- \ 'type': l:match[2] is# 'error' ? 'E' : 'W',
+ \ 'filename': l:match[1],
+ \ 'lnum': l:match[2] + 0,
+ \ 'text': l:match[3] . ': ' . l:match[4],
+ \ 'type': l:match[3] is# 'error' ? 'E' : 'W',
\})
continue
endif
diff --git a/test/handler/test_sml_handler.vader b/test/handler/test_sml_handler.vader
index 90e7c2c1..4e16e244 100644
--- a/test/handler/test_sml_handler.vader
+++ b/test/handler/test_sml_handler.vader
@@ -1,7 +1,7 @@
Execute (Testing on EOF error):
AssertEqual [
\ {
- \ 'bufnr': 42,
+ \ 'filename': 'a.sml',
\ 'lnum': 2,
\ 'col': 15,
\ 'type': 'E',
@@ -18,14 +18,14 @@ Execute (Testing on EOF error):
Execute (Testing if the handler can handle multiple errors on the same line):
AssertEqual [
\ {
- \ 'bufnr': 42,
+ \ 'filename': 'a.sml',
\ 'lnum': 1,
\ 'col': 5,
\ 'type': 'E',
\ 'text': "Error: can't find function arguments in clause",
\ },
\ {
- \ 'bufnr': 42,
+ \ 'filename': 'a.sml',
\ 'lnum': 1,
\ 'col': 12,
\ 'type': 'E',
@@ -44,14 +44,14 @@ Execute (Testing if the handler can handle multiple errors on the same line):
Execute (Testing rarer errors):
AssertEqual [
\ {
- \ 'bufnr': 42,
+ \ 'filename': 'a.sml',
\ 'lnum': 5,
\ 'col': 18,
\ 'type': 'E',
\ 'text': "Error: syntax error found at ID",
\ },
\ {
- \ 'bufnr': 42,
+ \ 'filename': 'a.sml',
\ 'lnum': 7,
\ 'col': 0,
\ 'type': 'E',
@@ -70,7 +70,7 @@ Execute (Testing rarer errors):
Execute (Testing a warning):
AssertEqual [
\ {
- \ 'bufnr': 42,
+ \ 'filename': 'a.sml',
\ 'lnum': 4,
\ 'col': 4,
\ 'type': 'W',