summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <w0rp@users.noreply.github.com>2016-10-30 09:24:39 +0000
committerGitHub <noreply@github.com>2016-10-30 09:24:39 +0000
commit629e6a367500e372a5c60ff384859430ea08e386 (patch)
treec6d51c2ef248d5a82b8c1af8976d29ddcd847119
parentc4ab4855b798a45e36518bde0e132e10313084b2 (diff)
parent5fc2f8f6c0d5dd76f3583968f3901b884792b615 (diff)
downloadale-629e6a367500e372a5c60ff384859430ea08e386.zip
Merge pull request #153 from keith/ks/shellcheck
Choose shell dialect based on vim syntax
-rw-r--r--ale_linters/sh/shellcheck.vim18
1 files changed, 17 insertions, 1 deletions
diff --git a/ale_linters/sh/shellcheck.vim b/ale_linters/sh/shellcheck.vim
index 3fdad5f2..d0fe8b11 100644
--- a/ale_linters/sh/shellcheck.vim
+++ b/ale_linters/sh/shellcheck.vim
@@ -16,9 +16,25 @@ else
let s:exclude_option = ''
endif
+function! s:GetDialectArgument()
+ if exists('b:is_bash') && b:is_bash
+ return '-s bash'
+ elseif exists('b:is_sh') && b:is_sh
+ return '-s sh'
+ elseif exists('b:is_kornshell') && b:is_kornshell
+ return '-s ksh'
+ endif
+
+ return ''
+endfunction
+
+function! ale_linters#sh#shellcheck#GetCommand(buffer)
+ return 'shellcheck ' . s:exclude_option . ' ' . s:GetDialectArgument() . ' -f gcc -'
+endfunction
+
call ale#linter#Define('sh', {
\ 'name': 'shellcheck',
\ 'executable': 'shellcheck',
-\ 'command': 'shellcheck ' . s:exclude_option . ' -f gcc -',
+\ 'command_callback': 'ale_linters#sh#shellcheck#GetCommand',
\ 'callback': 'ale#handlers#HandleGCCFormat',
\})