From 8b82ecf1fe8da9d10d23503db4c32d592943eb07 Mon Sep 17 00:00:00 2001 From: Swordfish Date: Tue, 11 Feb 2025 14:41:50 +0800 Subject: [PATCH] bugfixed: support non-ascii path under win32 system, add new var `Tlist_Cmd_Encoding` --- autoload/taglist.vim | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/autoload/taglist.vim b/autoload/taglist.vim index 25094f1..a5e6bdc 100644 --- a/autoload/taglist.vim +++ b/autoload/taglist.vim @@ -139,7 +139,8 @@ func! s:OptionsInitDefault() \ ['Use_Right_Window', v:false], \ ['Use_SingleClick', v:false], \ ['WinHeight', 10], - \ ['WinWidth', 30] + \ ['WinWidth', 30], + \ ['Cmd_Encoding', 'default'] \ ] for [name, val] in defvalues let optname = 'g:Tlist_' . name @@ -1777,7 +1778,12 @@ function! s:Tlist_Process_File(filename, ftype) abort " and call the batch file. Do this only on MS-Windows. " Contributed by: David Fishburn. let taglist_tempfile = fnamemodify(tempname(), ':h') . '\taglist.cmd' - call writefile([ctags_cmd], taglist_tempfile, 'b') + if has('iconv') + let ctags_cmd_codepage = iconv(ctags_cmd, 'UTF-8', g:Tlist_Cmd_Encoding) + call writefile([ctags_cmd_codepage], taglist_tempfile, 'b') + else + call writefile([ctags_cmd], taglist_tempfile, 'b') + endif call s:Tlist_Log_Msg('Cmd inside batch file: ' . ctags_cmd) let ctags_cmd = '"' . taglist_tempfile . '"'