mirror of
https://github.com/junegunn/vim-plug.git
synced 2024-12-19 02:25:35 -07:00
Use iconv() only if +iconv is enabled. (#921)
TODO: Avoid iconv() for commands using ascii only.
This commit is contained in:
parent
359ce90b9b
commit
b2aa5724c0
17
plug.vim
17
plug.vim
@ -184,8 +184,8 @@ function! s:define_commands()
|
||||
endif
|
||||
if !has('nvim')
|
||||
\ && (has('win32') || has('win32unix'))
|
||||
\ && (!has('multi_byte') || !has('iconv'))
|
||||
return s:err('Vim needs +iconv, +multi_byte features on Windows to run shell commands.')
|
||||
\ && !has('multi_byte')
|
||||
return s:err('Vim needs +multi_byte feature on Windows to run shell commands. Enable +iconv for best results.')
|
||||
endif
|
||||
command! -nargs=* -bar -bang -complete=customlist,s:names PlugInstall call s:install(<bang>0, [<f-args>])
|
||||
command! -nargs=* -bar -bang -complete=customlist,s:names PlugUpdate call s:update(<bang>0, [<f-args>])
|
||||
@ -400,14 +400,19 @@ if s:is_win
|
||||
endfunction
|
||||
|
||||
" Copied from fzf
|
||||
let s:codepage = libcallnr('kernel32.dll', 'GetACP', 0)
|
||||
function! s:wrap_cmds(cmds)
|
||||
return map([
|
||||
let cmds = [
|
||||
\ '@echo off',
|
||||
\ 'setlocal enabledelayedexpansion']
|
||||
\ + (type(a:cmds) == type([]) ? a:cmds : [a:cmds])
|
||||
\ + ['endlocal'],
|
||||
\ printf('iconv(v:val."\r", "%s", "cp%d")', &encoding, s:codepage))
|
||||
\ + ['endlocal']
|
||||
if has('iconv')
|
||||
if !exists('s:codepage')
|
||||
let s:codepage = libcallnr('kernel32.dll', 'GetACP', 0)
|
||||
endif
|
||||
return map(cmds, printf('iconv(v:val."\r", "%s", "cp%d")', &encoding, s:codepage))
|
||||
endif
|
||||
return map(cmds, 'v:val."\r"')
|
||||
endfunction
|
||||
|
||||
function! s:batchfile(cmd)
|
||||
|
Loading…
Reference in New Issue
Block a user