Execute(Parsing nim errors should work):
runtime ale_linters/nim/nimcheck.vim
AssertEqual
\ [
\ {
\ 'bufnr': 42,
\ 'lnum': 8,
\ 'col': 8,
\ 'text': 'Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]',
\ 'type': 'W',
\ },
\ 'lnum': 12,
\ 'col': 2,
\ 'text': 'Error: identifier expected, but found ''a.barfoo''',
\ 'type': 'E',
\ 'lnum': 2,
\ 'col': 5,
\ 'text': 'Hint: ''NotUsed'' is declared but not used [XDeclaredButNotUsed]',
\ 'text': 'Error: with : character',
\ ],
\ ale_linters#nim#nimcheck#Handle(42, [
\ 'Line with wrong( format)',
\ 'foobar.nim(8, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]',
\ 'foobar.nim(12, 2) Error: identifier expected, but found ''a.barfoo''',
\ '/nested/folder/foobar.nim(2, 5) Hint: ''NotUsed'' is declared but not used [XDeclaredButNotUsed]',
\ 'foobar.nim(12, 2) Error: with : character',
\ ])