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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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
" 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

View File

@ -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',