mirror of
https://github.com/junegunn/vim-plug.git
synced 2024-12-23 20:45:31 -07:00
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.
This commit is contained in:
parent
ff97806e50
commit
849b76be90
12
plug.vim
12
plug.vim
@ -353,9 +353,15 @@ if s:is_win
|
|||||||
|
|
||||||
" Copied from fzf
|
" Copied from fzf
|
||||||
function! s:wrap_cmds(cmds)
|
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'] +
|
return map([
|
||||||
\ (type(a:cmds) == type([]) ? a:cmds : [a:cmds]) +
|
\ '@echo off',
|
||||||
\ ['chcp !origchcp! > nul','setlocal disabledelayedexpansion'],'v:val."\r"')
|
\ '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
|
endfunction
|
||||||
|
|
||||||
function! s:batchfile(cmd)
|
function! s:batchfile(cmd)
|
||||||
|
Loading…
Reference in New Issue
Block a user