make options for credo configurable (#2337)
* Add credo --strict option If a user sets 'let g:ale_elixir_credo_strict=1' it will run credo with --strict instead of suggest. The default (0) is to run as suggest. * Added credo docs
This commit is contained in:
parent
a6012d853c
commit
a22ab78dd7
@ -37,11 +37,22 @@ function! ale_linters#elixir#credo#Handle(buffer, lines) abort
|
|||||||
return l:output
|
return l:output
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! ale_linters#elixir#credo#GetMode() abort
|
||||||
|
if get(g:, 'ale_elixir_credo_strict', 0)
|
||||||
|
return '--strict'
|
||||||
|
else
|
||||||
|
return 'suggest'
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! ale_linters#elixir#credo#GetCommand(buffer) abort
|
function! ale_linters#elixir#credo#GetCommand(buffer) abort
|
||||||
let l:project_root = ale#handlers#elixir#FindMixProjectRoot(a:buffer)
|
let l:project_root = ale#handlers#elixir#FindMixProjectRoot(a:buffer)
|
||||||
|
let l:mode = ale_linters#elixir#credo#GetMode()
|
||||||
|
|
||||||
return ale#path#CdString(l:project_root)
|
return ale#path#CdString(l:project_root)
|
||||||
\ . ' mix help credo && mix credo suggest --format=flycheck --read-from-stdin %s'
|
\ . 'mix help credo && '
|
||||||
|
\ . 'mix credo ' . ale_linters#elixir#credo#GetMode()
|
||||||
|
\ . ' --format=flycheck --read-from-stdin %s'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
call ale#linter#Define('elixir', {
|
call ale#linter#Define('elixir', {
|
||||||
|
@ -72,6 +72,18 @@ g:ale_elixir_elixir_ls_config *g:ale_elixir_elixir_ls_config*
|
|||||||
\ }
|
\ }
|
||||||
<
|
<
|
||||||
Consult the ElixirLS documentation for more information about settings.
|
Consult the ElixirLS documentation for more information about settings.
|
||||||
|
===============================================================================
|
||||||
|
credo *ale-elixir-credo*
|
||||||
|
|
||||||
|
Credo (https://github.com/rrrene/credo)
|
||||||
|
|
||||||
|
g:ale_elixir_credo_strict *g:ale_elixir_credo_strict*
|
||||||
|
|
||||||
|
Type: Integer
|
||||||
|
Default: 0
|
||||||
|
|
||||||
|
Tells credo to run in strict mode or suggest mode. Set variable to 1 to
|
||||||
|
enable --strict mode.
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|
||||||
|
@ -119,6 +119,7 @@ ALE supports the following key features for linting:
|
|||||||
mix_format..........................|ale-elixir-mix-format|
|
mix_format..........................|ale-elixir-mix-format|
|
||||||
dialyxir............................|ale-elixir-dialyxir|
|
dialyxir............................|ale-elixir-dialyxir|
|
||||||
elixir-ls...........................|ale-elixir-elixir-ls|
|
elixir-ls...........................|ale-elixir-elixir-ls|
|
||||||
|
credo...............................|ale-elixir-credo|
|
||||||
elm...................................|ale-elm-options|
|
elm...................................|ale-elm-options|
|
||||||
elm-format..........................|ale-elm-elm-format|
|
elm-format..........................|ale-elm-elm-format|
|
||||||
elm-make............................|ale-elm-elm-make|
|
elm-make............................|ale-elm-elm-make|
|
||||||
@ -2256,6 +2257,7 @@ documented in additional help files.
|
|||||||
mix_format............................|ale-elixir-mix-format|
|
mix_format............................|ale-elixir-mix-format|
|
||||||
dialyxir..............................|ale-elixir-dialyxir|
|
dialyxir..............................|ale-elixir-dialyxir|
|
||||||
elixir-ls.............................|ale-elixir-elixir-ls|
|
elixir-ls.............................|ale-elixir-elixir-ls|
|
||||||
|
credo.................................|ale-elixir-credo|
|
||||||
elm.....................................|ale-elm-options|
|
elm.....................................|ale-elm-options|
|
||||||
elm-format............................|ale-elm-elm-format|
|
elm-format............................|ale-elm-elm-format|
|
||||||
elm-make..............................|ale-elm-elm-make|
|
elm-make..............................|ale-elm-elm-make|
|
||||||
|
28
test/command_callback/test_elixir_credo.vader
Normal file
28
test/command_callback/test_elixir_credo.vader
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
Before:
|
||||||
|
call ale#assert#SetUpLinterTest('elixir', 'credo')
|
||||||
|
call ale#test#SetFilename('elixir_paths/mix_project/lib/app.ex')
|
||||||
|
|
||||||
|
|
||||||
|
After:
|
||||||
|
unlet! g:ale_elixir_credo_strict
|
||||||
|
|
||||||
|
call ale#assert#TearDownLinterTest()
|
||||||
|
|
||||||
|
Execute(Builds credo command with --strict mode when set to 1):
|
||||||
|
let g:ale_elixir_credo_strict = 1
|
||||||
|
|
||||||
|
AssertLinter 'mix',
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/elixir_paths/mix_project'))
|
||||||
|
\ . 'mix help credo && mix credo --strict --format=flycheck --read-from-stdin %s'
|
||||||
|
|
||||||
|
Execute(Builds credo command with suggest mode by default):
|
||||||
|
AssertLinter 'mix',
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/elixir_paths/mix_project'))
|
||||||
|
\ . 'mix help credo && mix credo suggest --format=flycheck --read-from-stdin %s'
|
||||||
|
|
||||||
|
Execute(Builds credo command with suggest mode when set to 0):
|
||||||
|
let g:ale_elixir_credo_strict = 0
|
||||||
|
|
||||||
|
AssertLinter 'mix',
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/elixir_paths/mix_project'))
|
||||||
|
\ . 'mix help credo && mix credo suggest --format=flycheck --read-from-stdin %s'
|
Loading…
Reference in New Issue
Block a user