vimwiki

Personal wiki for vim
git clone https://github.com/vimwiki/vimwiki.git
Log | Files | Refs | README | LICENSE

commit 69a5682d6f78f6f61e8a0bbe1b1a19219a82b559
parent 0700fa4068c84f4efac609c46fda8b1e356a7856
Author: Tinmarino <tinmarino@gmail.com>
Date:   Wed, 14 Jun 2023 12:29:28 -0400

Merge pull request #1324 from rddunphy/dev

File name prompt fixes
Diffstat:
Mautoload/vimwiki/base.vim | 17++++++++++-------
Mftplugin/vimwiki.vim | 4++--
Mtest/file_goto.vader | 12++++++------
3 files changed, 18 insertions(+), 15 deletions(-)

diff --git 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,12 @@ 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 + return + endif let anchor = a:0 > 1 ? a:2 : '' @@ -1106,7 +1109,7 @@ function! vimwiki#base#edit_file(command, filename, anchor, ...) abort " :param: anchor " :param: (1) vimwiki_prev_link " :param: (2) vimwiki#u#ft_is_vw() - let fname = escape(a:filename, '% *|#`') + let fname = fnameescape(a:filename) let dir = fnamemodify(a:filename, ':p:h') let ok = vimwiki#path#mkdir(dir, 1) @@ -2862,9 +2865,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 @@ -322,7 +322,7 @@ command! -buffer -nargs=0 VWB call vimwiki#base#backlinks() command! -buffer -nargs=* VimwikiSearch call vimwiki#base#search(<q-args>) command! -buffer -nargs=* VWS call vimwiki#base#search(<q-args>) -command! -buffer -nargs=* -complete=customlist,vimwiki#base#complete_links_escaped +command! -buffer -nargs=* -complete=customlist,vimwiki#base#complete_links \ VimwikiGoto call vimwiki#base#goto(<q-args>) command! -buffer -range VimwikiCheckLinks call vimwiki#base#check_links(<range>, <line1>, <line2>) @@ -568,7 +568,7 @@ if str2nr(vimwiki#vars#get_global('key_mappings').lists) inoremap <expr><silent><buffer> <S-CR> pumvisible() ? '<CR>' : '<Esc>:VimwikiReturn 2 2<CR>' endif endif - + " change symbol for bulleted lists for s:char in vimwiki#vars#get_syntaxlocal('bullet_types') if !hasmapto(':VimwikiChangeSymbolTo '.s:char.'<CR>') diff --git 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)