-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f996ede
commit e358afd
Showing
6 changed files
with
115 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
" Author: Benjamin BINIER <[email protected]> | ||
" Description: salt-lint, saltstack linter | ||
|
||
call ale#Set('salt_salt_lint_executable', 'salt-lint') | ||
call ale#Set('salt_salt_lint_options', '') | ||
|
||
function! ale_linters#salt#salt_lint#GetCommand(buffer) abort | ||
return '%e' . ale#Pad(ale#Var(a:buffer, 'salt_salt_lint_options')) | ||
\ . ' --json' | ||
endfunction | ||
|
||
function! ale_linters#salt#salt_lint#Handle(buffer, lines) abort | ||
let l:output = [] | ||
|
||
for l:error in ale#util#FuzzyJSONDecode(a:lines, []) | ||
call add(l:output, { | ||
\ 'lnum': l:error.linenumber + 0, | ||
\ 'code': l:error.id + 0, | ||
\ 'text': l:error.message, | ||
\ 'type': l:error.severity is# 'HIGH' ? 'E' : 'W', | ||
\}) | ||
endfor | ||
|
||
return l:output | ||
endfunction | ||
|
||
call ale#linter#Define('salt', { | ||
\ 'name': 'salt-lint', | ||
\ 'executable': {b -> ale#Var(b, 'salt_salt_lint_executable')}, | ||
\ 'command': function('ale_linters#salt#salt_lint#GetCommand'), | ||
\ 'callback': 'ale_linters#salt#salt_lint#Handle' | ||
\}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
=============================================================================== | ||
ALE SALT Integration *ale-salt-options* | ||
|
||
=============================================================================== | ||
salt-lint *ale-salt-salt-lint* | ||
|
||
Website: https://github.com/warpnet/salt-lint | ||
|
||
|
||
Installation | ||
------------------------------------------------------------------------------- | ||
|
||
Install salt-lint in your a virtualenv directory, locally, or globally: > | ||
pip install salt-lint # After activating virtualenv | ||
pip install --user salt-lint # Install to ~/.local/bin | ||
sudo pip install salt-lint # Install globally | ||
See |g:ale_virtualenv_dir_names| for configuring how ALE searches for | ||
virtualenv directories. | ||
|
||
|
||
Options | ||
------------------------------------------------------------------------------- | ||
|
||
g:ale_salt_salt-lint_executable *g:ale_salt_salt_lint_executable* | ||
*b:ale_salt_salt_lint_executable* | ||
Type: |String| | ||
Default: `'salt-lint'` | ||
|
||
This variable can be set to change the path to salt-lint. | ||
|
||
|
||
g:ale_salt_salt-lint_options *g:ale_salt_salt-lint_options* | ||
*b:ale_salt_salt-lint_options* | ||
Type: |String| | ||
Default: `''` | ||
|
||
This variable can be set to pass additional options to salt-lint. | ||
|
||
|
||
=============================================================================== | ||
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
Before: | ||
runtime ale_linters/salt/salt_lint.vim | ||
|
||
After: | ||
call ale#linter#Reset() | ||
|
||
Execute(The salt handler should parse lines correctly and show error in severity HIGH): | ||
AssertEqual | ||
\ [ | ||
\ { | ||
\ 'lnum': 5, | ||
\ 'code': 207, | ||
\ 'text': 'File modes should always be encapsulated in quotation marks', | ||
\ 'type': 'E' | ||
\ } | ||
\ ], | ||
\ ale_linters#salt#salt_lint#Handle(255, [ | ||
\ '[{"id": "207", "message": "File modes should always be encapsulated in quotation marks", "filename": "test.sls", "linenumber": 5, "line": " - mode: 0755", "severity": "HIGH"}]' | ||
\ ]) | ||
|
||
|
||
Execute(The salt handler should parse lines correctly and show error in severity not HIGH): | ||
AssertEqual | ||
\ [ | ||
\ { | ||
\ 'lnum': 27, | ||
\ 'code': 204, | ||
\ 'text': 'Lines should be no longer that 160 chars', | ||
\ 'type': 'W' | ||
\ } | ||
\ ], | ||
\ ale_linters#salt#salt_lint#Handle(255, [ | ||
\ '[{"id": "204", "message": "Lines should be no longer that 160 chars", "filename": "test2.sls", "linenumber": 27, "line": "this line is definitely longer than 160 chars, this line is definitely longer than 160 chars, this line is definitely longer than 160 chars", "severity": "VERY_LOW"}]' | ||
\ ]) |