diff --git a/plug.vim b/plug.vim index bc3706c..2571fe3 100644 --- a/plug.vim +++ b/plug.vim @@ -353,9 +353,15 @@ if s:is_win " Copied from fzf function! s:wrap_cmds(cmds) - return map(['@echo off','setlocal enabledelayedexpansion','for /f "delims=: tokens=2" %%a in (''chcp'') do set origchcp=%%a','set origchcp=!origchcp: =!','chcp 65001 > nul'] + - \ (type(a:cmds) == type([]) ? a:cmds : [a:cmds]) + - \ ['chcp !origchcp! > nul','setlocal disabledelayedexpansion'],'v:val."\r"') + return map([ + \ '@echo off', + \ 'setlocal enabledelayedexpansion', + \ 'for /f "tokens=*" %%a in (''chcp'') do for %%b in (%%a) do set origchcp=%%b', + \ 'chcp 65001 > nul' + \ ] + \ + (type(a:cmds) == type([]) ? a:cmds : [a:cmds]) + \ + ['chcp !origchcp! > nul', 'endlocal'], + \ 'v:val."\r"') endfunction function! s:batchfile(cmd)