Merge pull request #3425 from pinicarus/custom-dialyzer-options

Custom erlang/dialyzer options
This commit is contained in:
Horacio Sanson 2021-01-27 20:24:26 +09:00 committed by GitHub
commit c9f4005820
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 4 deletions

View File

@ -3,6 +3,11 @@
let g:ale_erlang_dialyzer_executable =
\ get(g:, 'ale_erlang_dialyzer_executable', 'dialyzer')
let g:ale_erlang_dialyzer_options =
\ get(g:, 'ale_erlang_dialyzer_options', '-Wunmatched_returns'
\ . ' -Werror_handling'
\ . ' -Wrace_conditions'
\ . ' -Wunderspecs')
let g:ale_erlang_dialyzer_plt_file =
\ get(g:, 'ale_erlang_dialyzer_plt_file', '')
let g:ale_erlang_dialyzer_rebar3_profile =
@ -47,13 +52,12 @@ function! ale_linters#erlang#dialyzer#GetExecutable(buffer) abort
endfunction
function! ale_linters#erlang#dialyzer#GetCommand(buffer) abort
let l:options = ale#Var(a:buffer, 'erlang_dialyzer_options')
let l:command = ale#Escape(ale_linters#erlang#dialyzer#GetExecutable(a:buffer))
\ . ' -n'
\ . ' --plt ' . ale#Escape(ale_linters#erlang#dialyzer#GetPlt(a:buffer))
\ . ' -Wunmatched_returns'
\ . ' -Werror_handling'
\ . ' -Wrace_conditions'
\ . ' -Wunderspecs'
\ . ' ' . l:options
\ . ' %s'
return l:command

View File

@ -13,6 +13,14 @@ g:ale_erlang_dialyzer_executable *g:ale_erlang_dialyzer_executable*
This variable can be changed to specify the dialyzer executable.
g:ale_erlang_dialyzer_options *g:ale_erlang_dialyzer_options*
*b:ale_erlang_dialyzer_options*
Type: |String|
Default: `'-Wunmatched_returns -Werror_handling -Wrace_conditions -Wunderspec'`
This variable can be changed to specify the options to pass to the dialyzer
executable.
g:ale_erlang_dialyzer_plt_file *g:ale_erlang_dialyzer_plt_file*
*b:ale_erlang_dialyzer_plt_file*
Type: |String|

View File

@ -25,6 +25,14 @@ Execute(The command should accept configured executable.):
\ . ' -Wunderspecs'
\ . ' %s'
Execute(The command should accept configured options.):
let b:ale_erlang_dialyzer_options = '-r ' . expand('$HOME')
AssertLinter 'dialyzer',
\ ale#Escape('dialyzer')
\ . ' -n --plt ' . ale#Escape(expand('$HOME/.dialyzer_plt'))
\ . ' -r ' . expand('$HOME')
\ . ' %s'
Execute(The command should accept configured PLT file.):
let b:ale_erlang_dialyzer_plt_file = 'custom-plt'
AssertLinter 'dialyzer',