summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ale_linters/sh/shellcheck.vim2
-rw-r--r--test/command_callback/test_shellcheck_command_callback.vader9
2 files changed, 10 insertions, 1 deletions
diff --git a/ale_linters/sh/shellcheck.vim b/ale_linters/sh/shellcheck.vim
index 3a2d33f2..004656b5 100644
--- a/ale_linters/sh/shellcheck.vim
+++ b/ale_linters/sh/shellcheck.vim
@@ -44,9 +44,9 @@ function! ale_linters#sh#shellcheck#GetCommand(buffer) abort
let l:dialect = ale_linters#sh#shellcheck#GetDialectArgument(a:buffer)
return ale_linters#sh#shellcheck#GetExecutable(a:buffer)
+ \ . (!empty(l:dialect) ? ' -s ' . l:dialect : '')
\ . (!empty(l:options) ? ' ' . l:options : '')
\ . (!empty(l:exclude_option) ? ' -e ' . l:exclude_option : '')
- \ . (!empty(l:dialect) ? ' -s ' . l:dialect : '')
\ . ' -f gcc -'
endfunction
diff --git a/test/command_callback/test_shellcheck_command_callback.vader b/test/command_callback/test_shellcheck_command_callback.vader
index 0d8fef66..8e229056 100644
--- a/test/command_callback/test_shellcheck_command_callback.vader
+++ b/test/command_callback/test_shellcheck_command_callback.vader
@@ -45,3 +45,12 @@ Execute(The shellcheck command should include the dialect):
AssertEqual
\ 'shellcheck -s bash -f gcc -',
\ ale_linters#sh#shellcheck#GetCommand(bufnr(''))
+
+Execute(The shellcheck command should include the dialect before options and exclusions):
+ let b:is_bash = 1
+ let b:ale_sh_shellcheck_options = '--foobar'
+ let b:ale_sh_shellcheck_exclusions = 'foo,bar'
+
+ AssertEqual
+ \ 'shellcheck -s bash --foobar -e foo,bar -f gcc -',
+ \ ale_linters#sh#shellcheck#GetCommand(bufnr(''))