mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-30 16:14:30 +08:00
Add linter for Inko
This adds a linter for Inko (https://inko-lang.org/). The linter makes use of Inko's own compiler, and a newly introduced --check flag to only check for errors; instead of also compiling source code.
This commit is contained in:
54
test/handler/test_inko_handler.vader
Normal file
54
test/handler/test_inko_handler.vader
Normal file
@@ -0,0 +1,54 @@
|
||||
Before:
|
||||
runtime ale_linters/inko/inko.vim
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
||||
|
||||
Execute(The inko handler should parse errors correctly):
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'filename': ale#path#Simplify('/tmp/foo.inko'),
|
||||
\ 'lnum': 4,
|
||||
\ 'col': 5,
|
||||
\ 'text': 'this is an error',
|
||||
\ 'type': 'E',
|
||||
\ }
|
||||
\ ],
|
||||
\ ale#handlers#inko#Handle(bufnr(''), [
|
||||
\ '[',
|
||||
\ ' {',
|
||||
\ ' "file": "/tmp/foo.inko",',
|
||||
\ ' "line": 4,',
|
||||
\ ' "column": 5,',
|
||||
\ ' "message": "this is an error",',
|
||||
\ ' "level": "error"',
|
||||
\ ' }',
|
||||
\ ']'
|
||||
\ ])
|
||||
|
||||
Execute(The inko handler should parse warnings correctly):
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'filename': ale#path#Simplify('/tmp/foo.inko'),
|
||||
\ 'lnum': 4,
|
||||
\ 'col': 5,
|
||||
\ 'text': 'this is a warning',
|
||||
\ 'type': 'W',
|
||||
\ }
|
||||
\ ],
|
||||
\ ale#handlers#inko#Handle(bufnr(''), [
|
||||
\ '[',
|
||||
\ ' {',
|
||||
\ ' "file": "/tmp/foo.inko",',
|
||||
\ ' "line": 4,',
|
||||
\ ' "column": 5,',
|
||||
\ ' "message": "this is a warning",',
|
||||
\ ' "level": "warning"',
|
||||
\ ' }',
|
||||
\ ']'
|
||||
\ ])
|
||||
|
||||
Execute(The inko handler should handle empty output):
|
||||
AssertEqual [], ale#handlers#inko#Handle(bufnr(''), [])
|
||||
Reference in New Issue
Block a user