diff options
author | Holden <holden@axoni.com> | 2019-01-02 19:05:51 -0500 |
---|---|---|
committer | Holden <holden@axoni.com> | 2019-01-02 19:05:51 -0500 |
commit | 5f613a5fd69f4135d892a71b1f825f062ff45758 (patch) | |
tree | 3eb615bb5076687f4e75a0aa7b562d70ba37d138 /autoload | |
parent | 8550fa605958bff90d727cde949ae2b06b870f8f (diff) | |
download | ale-5f613a5fd69f4135d892a71b1f825f062ff45758.zip |
change ale to use value of g:ale_shell regardless of what it is
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/ale/job.vim | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/autoload/ale/job.vim b/autoload/ale/job.vim index 63697c4a..1af95049 100644 --- a/autoload/ale/job.vim +++ b/autoload/ale/job.vim @@ -12,10 +12,10 @@ let g:ale_command_wrapper = get(g:, 'ale_command_wrapper', '') " A setting for the shell used to execute commands -let g:ale_shell = get(g:, 'ale_shell', &shell) +let g:ale_shell = get(g:, 'ale_shell', v:null) " A setting for the arguments we pass to the shell when executing commands -let g:ale_shell_arguments = get(g:, 'ale_shell_arguments', &shellcmdflag) +let g:ale_shell_arguments = get(g:, 'ale_shell_arguments', v:null) if !has_key(s:, 'job_map') let s:job_map = {} @@ -190,15 +190,27 @@ function! ale#job#PrepareCommand(buffer, command) abort " NeoVim handles this issue automatically if the command is a String, " but we'll do this explicitly, so we use the same exact command for both " versions. - if has('win32') - return 'cmd /s/c "' . l:command . '"' - endif + if g:ale_shell is v:null + if has('win32') + return 'cmd /s/c "' . l:command . '"' + endif - if g:ale_shell =~? 'fish$\|pwsh$' - return ['/bin/sh', '-c', l:command] - endif + if &shell =~? 'fish$\|pwsh$' + return ['/bin/sh', '-c', l:command] + endif + + return split(&shell) + split(&shellcmdflag) + [l:command] + else + if has('win32') + return g:ale_shell . l:command . '"' + endif + + let l:shell_arguments = g:ale_shell_arguments is v:null + \ ? &shellcmdflag + \ : g:ale_shell_arguments - return [g:ale_shell] + split(g:ale_shell_arguments) + [l:command] + return split(g:ale_shell) + split(l:shell_arguments) + [l:command] + endif endfunction " Start a job with options which are agnostic to Vim and NeoVim. |