Add deadnix linter (#4443)

This commit is contained in:
Albert Peschar
2023-03-07 02:31:14 +01:00
committed by GitHub
parent c8e9146049
commit 6ae26df22b
6 changed files with 111 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
Execute(The deadnix handler should handle deadnix output):
let output = [
\'{"file":"./flake.nix","results":[{"column":5,"endColumn":9,"line":23,"message":"Unused lambda pattern: self"},{"column":2,"endColumn":6,"line":1,"message":"Unused lambda pattern: pkgs"}]}'
\]
AssertEqual
\ [
\ {
\ 'lnum': 23,
\ 'col': 5,
\ 'end_col': 9,
\ 'text': 'Unused lambda pattern: self',
\ 'type': 'W',
\ },
\ {
\ 'lnum': 1,
\ 'col': 2,
\ 'end_col': 6,
\ 'text': 'Unused lambda pattern: pkgs',
\ 'type': 'W',
\ },
\ ],
\ ale#handlers#deadnix#Handle(bufnr(''), output)
AssertEqual [], ale#handlers#deadnix#Handle(bufnr(''), [''])
AssertEqual [], ale#handlers#deadnix#Handle(bufnr(''), ['not json'])
AssertEqual [], ale#handlers#deadnix#Handle(bufnr(''), ['{"results":[{}]}'])

View File

@@ -0,0 +1,19 @@
Before:
call ale#assert#SetUpLinterTest('nix', 'deadnix')
After:
call ale#assert#TearDownLinterTest()
Execute(The deadnix command should be correct):
AssertLinter 'deadnix', ale#Escape('deadnix') . ' -o json -- %t'
Execute(Additional deadnix options should be configurable):
let g:ale_nix_deadnix_options = '--foobar'
AssertLinter 'deadnix',
\ ale#Escape('deadnix') . ' -o json --foobar -- %t'
Execute(The deadnix command should be configurable):
let g:ale_nix_deadnix_executable = 'foo/bar'
AssertLinter 'foo/bar', ale#Escape('foo/bar') . ' -o json -- %t'