[vim/windows] Fix chcp parsing for the current codepage

https://github.com/junegunn/vim-plug/pull/888
This commit is contained in:
Junegunn Choi 2019-10-08 09:41:22 +09:00
parent ab11b74be4
commit 3089880f18
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627

View File

@ -50,9 +50,15 @@ if s:is_win
" Use utf-8 for fzf.vim commands
" Return array of shell commands for cmd.exe
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
else
let s:term_marker = ";#FZF"