Commit Graph
15 Commits
Author SHA1 Message Date
Jan Edmund LazoandGitHub d2f8ca2dbc Detect shellslash on Windows (#916)
Warn user if shellslash and shell are incompatible.

Set/unset shellslash for file functions on Windows. Based on https://github.com/junegunn/fzf/blob/16fc6862a89eef0f02d32ab8b365887522719da8/plugin/fzf.vim#L30-L107

Support shellescape for git-bash
Windows user may not set shellslash but wish to use git-bash.
This requires custom shellescape for sh,bash shells
because builtin shellescape() depends on shellslash.
Tested on Vim
2019-12-05 19:34:41 -05:00
Jan Edmund LazoandGitHub 93b702512d Fix shellescaping for git refs and batchfile on Windows (#909)
It was using s:esc() which escapes spaces with a backslash.
This does not work on Windows.

&shell could be escaped on because of spaces.
See patch-8.0.1455 and related 8.1.x patches that address this
for $SHELL on Unix and git-bash on Windows.

Related #852, #908 
Close #890
2019-12-01 21:01:17 -05:00
Jan Edmund LazoandGitHub 68fef9c2fd Delete batchfile only if it exists (#901)
Close #900
2019-11-03 21:10:37 -05:00
Jan Edmund LazoandGitHub 96046c01c3 Detect WSL (Neovim only) (#887)
`has('wsl')` works since Neovim v0.3.0 (https://github.com/neovim/neovim/commit/5d2dd2ebe28c31f223d77355a8f9d40adfb41c82)

Fix: https://github.com/junegunn/vim-plug/issues/821
2019-10-14 13:38:26 -04:00
Jan Edmund LazoandGitHub fcfd5b7e1f Use chcp only if sed is in PATH (#891)
chcp parsing is fragile because of the system locale. There's no convenient way to parse out the codepage value without regex just by relying on cmd.exe builtins and default binaries in PATH.

Vim can be used to parse chcp output but it requires an additional `system` per `s:system` and `chcp` can change within the same console so caching the value won't work on the terminal.

Powershell supports regex but it has a long startup even with `-NoProfile` so running it when `&shell` is not powershell slows down `:PlugInstall` more.
2019-10-14 07:55:41 -04:00
Jan Edmund LazoandGitHub 849b76be90 Fix chcp parsing for the current codepage (#888)
Relying on delimiters or token positions is fragile.
Last value of 'chcp' output is always a number.
2019-10-03 21:19:11 -04:00
Jan Edmund LazoandGitHub ebd534c88b Travis: use default image for osx (#871)
Fix https://travis-ci.org/junegunn/vim-plug/jobs/573145961#L211-L217
2019-08-17 16:51:07 -04:00
Jan Edmund LazoandJunegunn Choi 3b29e1e6e2 Travis: add macOS 10.14 (#870) 2019-08-18 00:44:24 +09:00
Jan Edmund LazoandJunegunn Choi 307b0f244d travis: add ubuntu bionic,xenial (#867)
Travis defaults to it since this year.
Ubuntu trusty reached EOL since April 2019.
Ubuntu bionic provides Vim 8.

Simplify OS install with Travis' apt addon
so that only Vim nightly will be compiled from source.

Ubuntu 14.04.6 provides ruby v.1.9.3, not 1.8.x or older.
Use it to test the ruby provider for backward compatibility.

Signed-off-by: Jan Edmund Lazo <jan.lazo@mail.utoronto.ca>
2019-08-17 12:46:08 +09:00
Jan Edmund LazoandJunegunn Choi 8a44109329 Fix Windows support for Unix shells and powershell (#860)
Excerpt from `:h shell-powershell`:

  To use powershell (on Windows):

    set shell=powershell shellquote=( shellpipe=\| shellxquote=
    set shellcmdflag=-NoLogo\ -NoProfile\ -ExecutionPolicy\ RemoteSigned\ -Command
    set shellredir=\|\ Out-File\ -Encoding\ UTF8
2019-08-16 17:55:17 +09:00
Jan Edmund LazoandJunegunn Choi 226d6abeb2 Don't override shell on Windows (#856)
Assume that the user set the shell options correctly
before running vim-plug so that the user can use bash or powershell
as their shell.

Close #815
2019-07-16 09:06:27 +09:00
Jan Edmund LazoandJunegunn Choi f1ad2d864a Escape batchfile path on Windows (#850)
Close #832
2019-06-17 23:00:59 +02:00
Jan Edmund LazoandJunegunn Choi 4f95bce2f4 Fix PlugDiff for Windows (#681)
Close #680
2017-09-20 11:02:54 +09:00
Jan Edmund LazoandJunegunn Choi 7f96c98b0a Prepend 'silent' to ':!' to avoid hit-enter prompt (#678)
Close #606

Fix for GVim on Windows.
2017-09-19 13:53:35 +09:00
Jan Edmund LazoandJunegunn Choi 05c8983d1a Port fzf#shellescape (#676)
Close #635
Close #668
Close #539

Use a temporary batchfile for :!, system(), and jobs and run it in cmd.exe.
This bypasses Vim/Neovim issues in Windows and reduces the need to set more options.
Also, s:shellesc_cmd works in a batchfile only.

Set shellredir for system() in Windows
$SHELL sets the default value of 'shell' (see :h 'shell').
This affects shellredir but cmd.exe requires '>%s 2>&1'.
2017-09-19 10:37:22 +09:00