sml: use filenames (fix #1084) (#3860)

This commit is contained in:
D. Ben Knoble
2021-10-06 22:33:33 -04:00
committed by GitHub
parent efa563826d
commit 34a972f85d
2 changed files with 17 additions and 17 deletions

View File

@@ -56,19 +56,19 @@ function! ale#handlers#sml#Handle(buffer, lines) abort
" Try to match basic sml errors " Try to match basic sml errors
" TODO(jez) We can get better errorfmt strings from Syntastic " TODO(jez) We can get better errorfmt strings from Syntastic
let l:out = [] let l:out = []
let l:pattern = '^.*\:\([0-9\.]\+\)\ \(\w\+\)\:\ \(.*\)' let l:pattern = '^\(.*\)\:\([0-9\.]\+\)\ \(\w\+\)\:\ \(.*\)'
let l:pattern2 = '^.*\:\([0-9]\+\)\.\?\([0-9]\+\).* \(\(Warning\|Error\): .*\)' let l:pattern2 = '^\(.*\)\:\([0-9]\+\)\.\?\([0-9]\+\).* \(\(Warning\|Error\): .*\)'
for l:line in a:lines for l:line in a:lines
let l:match2 = matchlist(l:line, l:pattern2) let l:match2 = matchlist(l:line, l:pattern2)
if len(l:match2) != 0 if len(l:match2) != 0
call add(l:out, { call add(l:out, {
\ 'bufnr': a:buffer, \ 'filename': l:match2[1],
\ 'lnum': l:match2[1] + 0, \ 'lnum': l:match2[2] + 0,
\ 'col' : l:match2[2] - 1, \ 'col' : l:match2[3] - 1,
\ 'text': l:match2[3], \ 'text': l:match2[4],
\ 'type': l:match2[3] =~# '^Warning' ? 'W' : 'E', \ 'type': l:match2[4] =~# '^Warning' ? 'W' : 'E',
\}) \})
continue continue
@@ -78,10 +78,10 @@ function! ale#handlers#sml#Handle(buffer, lines) abort
if len(l:match) != 0 if len(l:match) != 0
call add(l:out, { call add(l:out, {
\ 'bufnr': a:buffer, \ 'filename': l:match[1],
\ 'lnum': l:match[1] + 0, \ 'lnum': l:match[2] + 0,
\ 'text': l:match[2] . ': ' . l:match[3], \ 'text': l:match[3] . ': ' . l:match[4],
\ 'type': l:match[2] is# 'error' ? 'E' : 'W', \ 'type': l:match[3] is# 'error' ? 'E' : 'W',
\}) \})
continue continue
endif endif

View File

@@ -1,7 +1,7 @@
Execute (Testing on EOF error): Execute (Testing on EOF error):
AssertEqual [ AssertEqual [
\ { \ {
\ 'bufnr': 42, \ 'filename': 'a.sml',
\ 'lnum': 2, \ 'lnum': 2,
\ 'col': 15, \ 'col': 15,
\ 'type': 'E', \ 'type': 'E',
@@ -18,14 +18,14 @@ Execute (Testing on EOF error):
Execute (Testing if the handler can handle multiple errors on the same line): Execute (Testing if the handler can handle multiple errors on the same line):
AssertEqual [ AssertEqual [
\ { \ {
\ 'bufnr': 42, \ 'filename': 'a.sml',
\ 'lnum': 1, \ 'lnum': 1,
\ 'col': 5, \ 'col': 5,
\ 'type': 'E', \ 'type': 'E',
\ 'text': "Error: can't find function arguments in clause", \ 'text': "Error: can't find function arguments in clause",
\ }, \ },
\ { \ {
\ 'bufnr': 42, \ 'filename': 'a.sml',
\ 'lnum': 1, \ 'lnum': 1,
\ 'col': 12, \ 'col': 12,
\ 'type': 'E', \ 'type': 'E',
@@ -44,14 +44,14 @@ Execute (Testing if the handler can handle multiple errors on the same line):
Execute (Testing rarer errors): Execute (Testing rarer errors):
AssertEqual [ AssertEqual [
\ { \ {
\ 'bufnr': 42, \ 'filename': 'a.sml',
\ 'lnum': 5, \ 'lnum': 5,
\ 'col': 18, \ 'col': 18,
\ 'type': 'E', \ 'type': 'E',
\ 'text': "Error: syntax error found at ID", \ 'text': "Error: syntax error found at ID",
\ }, \ },
\ { \ {
\ 'bufnr': 42, \ 'filename': 'a.sml',
\ 'lnum': 7, \ 'lnum': 7,
\ 'col': 0, \ 'col': 0,
\ 'type': 'E', \ 'type': 'E',
@@ -70,7 +70,7 @@ Execute (Testing rarer errors):
Execute (Testing a warning): Execute (Testing a warning):
AssertEqual [ AssertEqual [
\ { \ {
\ 'bufnr': 42, \ 'filename': 'a.sml',
\ 'lnum': 4, \ 'lnum': 4,
\ 'col': 4, \ 'col': 4,
\ 'type': 'W', \ 'type': 'W',