diff options
author | Chuan Wei Foo <chuanwei.foo@hotmail.com> | 2021-11-15 19:35:45 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-15 20:35:45 +0900 |
commit | 01fdd8d66b9ee949747ce53ad37bc65b5df4e084 (patch) | |
tree | d60ccae246332de32f6c2beb83339653fd369d99 /autoload | |
parent | d72a9d64ff4f9ff7fef32d180363180abf4e1f0b (diff) | |
download | ale-01fdd8d66b9ee949747ce53ad37bc65b5df4e084.zip |
Show errors and warnings for the 'smlnj' linter (#3957)
* Show errors and warnings for the 'smlnj' linter
Fixes #3953
* Change smlnj stdIn regex
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/ale/handlers/sml.vim | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/autoload/ale/handlers/sml.vim b/autoload/ale/handlers/sml.vim index f5365dd6..403b25fa 100644 --- a/autoload/ale/handlers/sml.vim +++ b/autoload/ale/handlers/sml.vim @@ -63,26 +63,35 @@ function! ale#handlers#sml#Handle(buffer, lines) abort let l:match2 = matchlist(l:line, l:pattern2) if len(l:match2) != 0 - call add(l:out, { - \ 'filename': l:match2[1], + if l:match2[1] =~# 'stdIn$' + let l:loc = {'bufnr': a:buffer} + else + let l:loc = {'filename': l:match2[1]} + endif + + call add(l:out, extend(l:loc, { \ 'lnum': l:match2[2] + 0, \ 'col' : l:match2[3] - 1, \ 'text': l:match2[4], \ 'type': l:match2[4] =~# '^Warning' ? 'W' : 'E', - \}) - + \})) continue endif let l:match = matchlist(l:line, l:pattern) if len(l:match) != 0 - call add(l:out, { - \ 'filename': l:match[1], + if l:match[1] =~# 'stdIn$' + let l:loc = {'bufnr': a:buffer} + else + let l:loc = {'filename': l:match[1]} + endif + + call add(l:out, extend(l:loc, { \ 'lnum': l:match[2] + 0, \ 'text': l:match[3] . ': ' . l:match[4], \ 'type': l:match[3] is# 'error' ? 'E' : 'W', - \}) + \})) continue endif endfor |