diff options
author | w0rp <devw0rp@gmail.com> | 2016-10-09 19:32:01 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2016-10-09 19:32:01 +0100 |
commit | 9d52d968db9b6cfdc493e1418348a3ff26177230 (patch) | |
tree | 5d78e2fd6eb42fc08d832aab5963c554b1d47873 | |
parent | 34241edcdbc562f074988ba54b970a6ecf8dd4d9 (diff) | |
download | ale-9d52d968db9b6cfdc493e1418348a3ff26177230.zip |
#69 Improve shell detection
-rw-r--r-- | ale_linters/sh/shell.vim | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/ale_linters/sh/shell.vim b/ale_linters/sh/shell.vim index f5987c03..ce8aa6c8 100644 --- a/ale_linters/sh/shell.vim +++ b/ale_linters/sh/shell.vim @@ -14,20 +14,18 @@ if !exists('g:ale_linters_sh_shell_default_shell') endif function! ale_linters#sh#shell#GetExecutable(buffer) - let shell = g:ale_linters_sh_shell_default_shell - let banglines = getbufline(a:buffer, 1) " Take the shell executable from the hashbang, if we can. - if len(banglines) == 1 - let bangmatch = matchlist(banglines[0], '^#!\([^ ]\+\)') - - if len(bangmatch) > 0 - let shell = bangmatch[1] - endif + if len(banglines) == 1 && banglines[0] =~# '^#!' + for possible_shell in ['bash', 'tcsh', 'csh', 'zsh', 'sh'] + if banglines[0] =~# possible_shell . '\s*$' + return possible_shell + endif + endfor endif - return shell + return g:ale_linters_sh_shell_default_shell endfunction function! ale_linters#sh#shell#GetCommand(buffer) |