From 864f0664054f9a1f5e968e4eab91b2271dee8358 Mon Sep 17 00:00:00 2001 From: "R. David Dunphy" Date: Sun, 2 Apr 2023 01:08:36 +0100 Subject: [PATCH] Don't escape filenames for goto() --- autoload/vimwiki/base.vim | 10 ++++------ ftplugin/vimwiki.vim | 4 ++-- test/file_goto.vader | 12 ++++++------ 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/autoload/vimwiki/base.vim b/autoload/vimwiki/base.vim index c388dff..014339a 100644 --- a/autoload/vimwiki/base.vim +++ b/autoload/vimwiki/base.vim @@ -394,7 +394,7 @@ function! vimwiki#base#open_link(cmd, link, ...) abort endfunction -function! vimwiki#base#get_globlinks_escaped(...) abort +function! vimwiki#base#get_globlinks(...) abort " Escape global link " Called by command completion let s_arg_lead = a:0 > 0 ? a:1 : '' @@ -414,8 +414,6 @@ function! vimwiki#base#get_globlinks_escaped(...) abort " " use smart case matching let r_arg = substitute(s_arg_lead, '\u', '[\0\l\0]', 'g') call filter(lst, '-1 != match(v:val, r_arg)') - " Apply fnameescape() to each item - call map(lst, 'fnameescape(v:val)') " Return list (for customlist completion) return lst endfunction @@ -493,7 +491,7 @@ function! vimwiki#base#goto(...) abort " Jump: to other wikifile, specified on command mode " Called: by command VimwikiGoto (Exported) let key = a:0 > 0 && a:1 !=# '' ? a:1 : input('Enter name: ', '', - \ 'customlist,vimwiki#base#complete_links_escaped') + \ 'customlist,vimwiki#base#complete_links') if key ==# '' " Input cancelled @@ -2844,9 +2842,9 @@ function! vimwiki#base#detect_nested_syntax() abort endfunction -function! vimwiki#base#complete_links_escaped(ArgLead, CmdLine, CursorPos) abort +function! vimwiki#base#complete_links(ArgLead, CmdLine, CursorPos) abort " Complete escaping globlinks - return vimwiki#base#get_globlinks_escaped(a:ArgLead) + return vimwiki#base#get_globlinks(a:ArgLead) endfunction diff --git a/ftplugin/vimwiki.vim b/ftplugin/vimwiki.vim index 0885903..4f74dbb 100644 --- a/ftplugin/vimwiki.vim +++ b/ftplugin/vimwiki.vim @@ -322,7 +322,7 @@ command! -buffer -nargs=0 VWB call vimwiki#base#backlinks() command! -buffer -nargs=* VimwikiSearch call vimwiki#base#search() command! -buffer -nargs=* VWS call vimwiki#base#search() -command! -buffer -nargs=* -complete=customlist,vimwiki#base#complete_links_escaped +command! -buffer -nargs=* -complete=customlist,vimwiki#base#complete_links \ VimwikiGoto call vimwiki#base#goto() command! -buffer -range VimwikiCheckLinks call vimwiki#base#check_links(, , ) @@ -568,7 +568,7 @@ if str2nr(vimwiki#vars#get_global('key_mappings').lists) inoremap pumvisible() ? '' : ':VimwikiReturn 2 2' endif endif - + " change symbol for bulleted lists for s:char in vimwiki#vars#get_syntaxlocal('bullet_types') if !hasmapto(':VimwikiChangeSymbolTo '.s:char.'') diff --git a/test/file_goto.vader b/test/file_goto.vader index 48f3e35..fa37363 100644 --- a/test/file_goto.vader +++ b/test/file_goto.vader @@ -40,7 +40,7 @@ Do (,wn buzz_bo + Completion(input()) && Assert): Execute (:VimwikiGoto + Completion (API)): VimwikiIndex 2 AssertEqual $HOME . '/testmarkdown/index.md', expand('%') - let s_complete=string(vimwiki#base#get_globlinks_escaped()) + let s_complete=string(vimwiki#base#get_globlinks()) Assert -1 != stridx(s_complete, 'buzz_bozz') Execute (Create dir1/dir2/test_goto_file.md): @@ -55,23 +55,23 @@ Execute (:VimwikiGoto + Completion in directory): AssertEqual $HOME . '/testmarkdown/index.md', expand('%') " Complete without argment - let s_complete1=string(vimwiki#base#get_globlinks_escaped()) + let s_complete1=string(vimwiki#base#get_globlinks()) Assert -1 != stridx(s_complete1, 'test_goto_file') " Complete with file argument - let s_complete2=string(vimwiki#base#get_globlinks_escaped('test_goto_file')) + let s_complete2=string(vimwiki#base#get_globlinks('test_goto_file')) Assert -1 != stridx(s_complete2, 'test_goto_file') " Complete with start of file argument - let s_complete3=string(vimwiki#base#get_globlinks_escaped('test_got')) + let s_complete3=string(vimwiki#base#get_globlinks('test_got')) Assert -1 != stridx(s_complete3, 'test_goto_file') " Complete with (nested) dir2 argument - let s_complete4=string(vimwiki#base#get_globlinks_escaped('dir2')) + let s_complete4=string(vimwiki#base#get_globlinks('dir2')) Assert -1 != stridx(s_complete4, 'test_goto_file') " Complete with bad argument - let l_complete5=vimwiki#base#get_globlinks_escaped('this_string_is_nowhere') + let l_complete5=vimwiki#base#get_globlinks('this_string_is_nowhere') let s_complete5=string(l_complete5) Assert -1 == stridx(s_complete5, 'test_goto_file') AssertEqual 0, len(l_complete5)