diff options
-rw-r--r-- | autoload/ale/job.vim | 2 | ||||
-rw-r--r-- | doc/ale.txt | 9 |
2 files changed, 9 insertions, 2 deletions
diff --git a/autoload/ale/job.vim b/autoload/ale/job.vim index d4771842..63697c4a 100644 --- a/autoload/ale/job.vim +++ b/autoload/ale/job.vim @@ -195,7 +195,7 @@ function! ale#job#PrepareCommand(buffer, command) abort endif if g:ale_shell =~? 'fish$\|pwsh$' - return ['/bin/sh', g:ale_shell_arguments, l:command] + return ['/bin/sh', '-c', l:command] endif return [g:ale_shell] + split(g:ale_shell_arguments) + [l:command] diff --git a/doc/ale.txt b/doc/ale.txt index f6063718..7b5fa624 100644 --- a/doc/ale.txt +++ b/doc/ale.txt @@ -1999,6 +1999,12 @@ g:ale_shell *g:ale_shell* commands. This variables defaults to the value of the vim option '&shell' which corresponds to the $SHELL environment variable. For example if `$SHELL == '/bin/bash'`, but you want to use zsh, set `g:ale_shell = '/bin/zsh'.` + If this option is set to either `fish` or `pwsh` (either by default or set + with this command), ale will still execute commands with `bin/sh`. + + Please note - if you are using this option you should consider additionally + setting `g:ale``g:ale_shell_arguments` since the default values for that + option might be incompatable with the newly set shell. g:ale_shell_arguments *g:ale_shell_arguments* @@ -2007,7 +2013,8 @@ g:ale_shell_arguments *g:ale_shell_arguments* This variable is used to determine what commands vim will pass to the shell to execute it's commands. By default, `&shellcmdflag` would be set to the - value of '`-c'`. + value of '`-c'`. Similar to `g:ale_shell`, if the shell is set to either + `fish` or `pwsh`, `g:ale_shell_arguments` will no be used. ------------------------------------------------------------------------------- 6.1. Highlights *ale-highlights* |