* Add MSYS2 support as a vim plugin
Add &shellcmdflag and TERM environment variable treatment.
- Make &shellcmdflag `/C` when &shell turns into `cmd.exe`
- Delete %TERM% environment variable before fzf execution
* Change shellescape default value depending on s:is_win flag
* Make TERM environment empty only when gui is running
* Stop checking &shell in fzf#shellescape function
This funcion's behavior is controlled by only if it is Windows or not.
So there is no need to check &shell.
* Take neovim into consideration when to set shellcmdflag
* Add &shellxquote control
This commit fixes a bug where lines that declare multiple hostnames get
omitted from completion entirely if one of the hostnames matches *. For
example:
Host foo.com bar.dev baz.*
The zsh version of the cd widget sets the variable `dir` to the path of
the target directory before invoking `cd`. This causes zsh to treat the
target directory as a named directory, which has the effect of zsh
substituting '%~' with '~dir' instead of the proper path when it
performs prompt expansion.
This commit will cause the widget to unset `dir` before redrawing the
prompt to fix this issue.
Details of zsh prompt expansion can be found in:
http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html
In recent Nvim versions, an "Error running ..." message is shown even for normal
use cases, such as:
:Files
<c-\><c-n>
:close
Closing the window will :bwipeout! the terminal buffer, because fzf sets
bufhiden=wipe.
When deleting the terminal buffer while fzf is still running, Nvim sends SIGHUP.
This happens for quite some time already, but the bug only manifests since this
commit:
https://github.com/neovim/neovim/commit/939d9053b
It's The Right Thing to do when the application exited due to a signal.
Before that commit, no "Error running ..." message was shown, because 1 (instead
of 128 + 1 == SIGHUP) was returned which the exit handler in fzf.vim treats as
"NO MATCH".