diff options
author | David Houston <houstdav000@gmail.com> | 2021-11-11 17:34:25 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-12 07:34:25 +0900 |
commit | a9d7f45924b97a5244fb626dd9ae0bf934ca1ee6 (patch) | |
tree | 92469b20ab095a1742fa84f5782b479606824caa /ale_linters/nix | |
parent | 8b3b16d71c4c683da6f3ca39662d207a3e894901 (diff) | |
download | ale-a9d7f45924b97a5244fb626dd9ae0bf934ca1ee6.zip |
Implement statix Linter and Fixer (#3969)
* Add Statix for Linting
Add `statix check` as a linter. Provides a simple set of definition
tests additionally. Variable names specify "check" to allow for later
addition of `statix fix` as a formatter once stream support is added.
Signed-off-by: David Houston <houstdav000@gmail.com>
* Fixup Supported Tools List
I didn't realise there were two separate lists of tools, so add statix
to the other list. Also, remembered "S" comes after "R", and so
re-ordered it.
Signed-off-by: David Houston <houstdav000@gmail.com>
* Fix statix Test File
I refactored the variables for statix to allow for writing a fixer
later, and forgot to update them in the test, so update them now. Also
remove a stray "i", add missing space before checks
Signed-off-by: David Houston <houstdav000@gmail.com>
* Update Output Stream for v0.4.0
statix v0.4.0 provides a breaking change of output stream from stderr to
stdout.
Signed-off-by: David Houston <houstdav000@gmail.com>
* Add statix fix Fixer
Implement statix fix as a fixer for simple Nix antipatterns.
Signed-off-by: David Houston <houstdav000@gmail.com>
* Fix statix Fixer Tests
Fix the statix fixer tests by removing the unnecessary
'read_temporary_file' value from the command, since it simply uses the
default value.
Signed-off-by: David Houston <houstdav000@gmail.com>
* Add statix Handler Test
Add a test for the statix handler per @hsanson's request.
Signed-off-by: David Houston <houstdav000@gmail.com>
* Fix to run only on stdin for linting
Signed-off-by: David Houston <houstdav000@gmail.com>
Diffstat (limited to 'ale_linters/nix')
-rw-r--r-- | ale_linters/nix/statix.vim | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/ale_linters/nix/statix.vim b/ale_linters/nix/statix.vim new file mode 100644 index 00000000..a90a68a6 --- /dev/null +++ b/ale_linters/nix/statix.vim @@ -0,0 +1,18 @@ +scriptencoding utf-8 +" Author: David Houston <houstdav000> +" Description: statix analysis and suggestions for Nix files + +call ale#Set('nix_statix_check_executable', 'statix') +call ale#Set('nix_statix_check_options', '') + +function! ale_linters#nix#statix#GetCommand(buffer) abort + return '%e check -o errfmt --stdin' + \ . ale#Pad(ale#Var(a:buffer, 'nix_statix_check_options')) +endfunction + +call ale#linter#Define('nix', { +\ 'name': 'statix', +\ 'executable': {b -> ale#Var(b, 'nix_statix_check_executable')}, +\ 'command': function('ale_linters#nix#statix#GetCommand'), +\ 'callback': 'ale#handlers#statix#Handle', +\}) |