From 9d52d968db9b6cfdc493e1418348a3ff26177230 Mon Sep 17 00:00:00 2001 From: w0rp Date: Sun, 9 Oct 2016 19:32:01 +0100 Subject: [PATCH] #69 Improve shell detection --- ale_linters/sh/shell.vim | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/ale_linters/sh/shell.vim b/ale_linters/sh/shell.vim index f5987c0..ce8aa6c 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)