+Before:
+ runtime ale_linters/nim/nimcheck.vim
+
+After:
+ call ale#linter#Reset()
+
+Execute(Parsing nim errors should work):
+ silent file foobar.nim
+
+ AssertEqual
+ \ [
+ \ {
+ \ 'lnum': 8,
+ \ 'col': 8,
+ \ 'text': 'use {.base.} for base methods; baseless methods are deprecated',
+ \ 'code': 'UseBase',
+ \ 'type': 'W',
+ \ },
+ \ {
+ \ 'lnum': 12,
+ \ 'col': 2,
+ \ 'text': 'identifier expected, but found ''a.barfoo''',
+ \ 'type': 'E',
+ \ 'end_col': 9,
+ \ },
+ \ {
+ \ 'lnum': 2,
+ \ 'col': 5,
+ \ 'text': '''NotUsed'' is declared but not used',
+ \ 'code': 'XDeclaredButNotUsed',
+ \ 'type': 'W',
+ \ 'end_col': 11,
+ \ },
+ \ {
+ \ 'lnum': 12,
+ \ 'col': 2,
+ \ 'text': 'with : character',
+ \ 'type': 'E',
+ \ },
+ \ {
+ \ 'lnum': 1,
+ \ 'col': 8,
+ \ 'text': 'imported and not used: ''strutils''',
+ \ 'code': 'UnusedImport',
+ \ 'type': 'W',
+ \ 'end_col': 15,
+ \ },
+ \ {
+ \ 'lnum': 12,
+ \ 'col': 9,
+ \ 'text': 'undeclared identifier: ''total''',
+ \ 'type': 'E',
+ \ 'end_col': 13,
+ \ },
+ \ {
+ \ 'lnum': 14,
+ \ 'col': 1,
+ \ 'text': '''sum'' cannot be assigned to',
+ \ 'type': 'E',
+ \ 'end_col': 3,
+ \ },
+ \ {
+ \ 'lnum': 15,
+ \ 'col': 1,
+ \ 'text': 'redefinition of ''getName''; previous declaration here: /nested/folder/foobar.nim(14, 6)',
+ \ 'type': 'E',
+ \ 'end_col': 7,
+ \ },
+ \ ],
+ \ ale_linters#nim#nimcheck#Handle(bufnr(''), [
+ \ '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',
+ \ 'foobar.nim(1, 8) Warning: imported and not used: ''strutils'' [UnusedImport]',
+ \ 'foobar.nim(12, 9) Error: undeclared identifier: ''total''',
+ \ 'foobar.nim(14, 1) Error: ''sum'' cannot be assigned to',
+ \ 'foobar.nim(15, 1) Error: redefinition of ''getName''; previous declaration here: /nested/folder/foobar.nim(14, 6)',
+ \ ])