mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-08 21:44:47 +08:00
@@ -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
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
Reference in New Issue
Block a user