Merge pull request #83 from t7ko/autocompletion
Autocompletion for VimwikiGoto command.
This commit is contained in:
commit
9fa06803d6
@ -560,8 +560,8 @@ function! vimwiki#base#open_link(cmd, link, ...) "{{{
|
|||||||
endif
|
endif
|
||||||
endfunction " }}}
|
endfunction " }}}
|
||||||
|
|
||||||
" vimwiki#base#generate_links
|
" vimwiki#base#get_globlinks_escaped
|
||||||
function! vimwiki#base#generate_links() "{{{only get links from the current dir
|
function! vimwiki#base#get_globlinks_escaped() abort "{{{only get links from the current dir
|
||||||
" change to the directory of the current file
|
" change to the directory of the current file
|
||||||
let orig_pwd = getcwd()
|
let orig_pwd = getcwd()
|
||||||
lcd! %:h
|
lcd! %:h
|
||||||
@ -571,6 +571,19 @@ function! vimwiki#base#generate_links() "{{{only get links from the current dir
|
|||||||
let globlinks = substitute(globlinks, '\'.VimwikiGet('ext').'\ze\n', '', 'g')
|
let globlinks = substitute(globlinks, '\'.VimwikiGet('ext').'\ze\n', '', 'g')
|
||||||
" restore the original working directory
|
" restore the original working directory
|
||||||
exe 'lcd! '.orig_pwd
|
exe 'lcd! '.orig_pwd
|
||||||
|
" convert to a List
|
||||||
|
let lst = split(globlinks, '\n')
|
||||||
|
" Apply fnameescape() to each item
|
||||||
|
call map(lst, 'fnameescape(v:val)')
|
||||||
|
" Convert back to newline-separated list
|
||||||
|
let globlinks = join(lst, "\n")
|
||||||
|
" return all escaped links as a single newline-separated string
|
||||||
|
return globlinks
|
||||||
|
endfunction " }}}
|
||||||
|
|
||||||
|
" vimwiki#base#generate_links
|
||||||
|
function! vimwiki#base#generate_links() "{{{only get links from the current dir
|
||||||
|
let globlinks = vimwiki#base#get_globlinks()
|
||||||
|
|
||||||
" We don't want link to itself. XXX Why ???
|
" We don't want link to itself. XXX Why ???
|
||||||
" let cur_link = expand('%:t:r')
|
" let cur_link = expand('%:t:r')
|
||||||
@ -1837,6 +1850,17 @@ endfunction "}}}
|
|||||||
|
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
|
" Command completion functions {{{
|
||||||
|
|
||||||
|
" vimwiki#base#complete_links_escaped
|
||||||
|
function! vimwiki#base#complete_links_escaped(ArgLead, CmdLine, CursorPos) abort " {{{
|
||||||
|
" We can safely ignore args if we use -custom=complete option, Vim engine
|
||||||
|
" will do the job of filtering.
|
||||||
|
return vimwiki#base#get_globlinks_escaped()
|
||||||
|
endfunction " }}}
|
||||||
|
|
||||||
|
"}}}
|
||||||
|
|
||||||
" -------------------------------------------------------------------------
|
" -------------------------------------------------------------------------
|
||||||
" Load syntax-specific Wiki functionality
|
" Load syntax-specific Wiki functionality
|
||||||
for s:syn in vimwiki#base#get_known_syntaxes()
|
for s:syn in vimwiki#base#get_known_syntaxes()
|
||||||
|
@ -597,6 +597,8 @@ il A single list item.
|
|||||||
:VimwikiGoto HelloWorld
|
:VimwikiGoto HelloWorld
|
||||||
< opens opens/creates HelloWorld wiki page.
|
< opens opens/creates HelloWorld wiki page.
|
||||||
|
|
||||||
|
Supports |cmdline-completion| for link name.
|
||||||
|
|
||||||
*:VimwikiDeleteLink*
|
*:VimwikiDeleteLink*
|
||||||
Delete the wiki page that you are in.
|
Delete the wiki page that you are in.
|
||||||
|
|
||||||
|
@ -283,7 +283,8 @@ exe 'command! -buffer -nargs=* VimwikiSearch lvimgrep <args> '.
|
|||||||
exe 'command! -buffer -nargs=* VWS lvimgrep <args> '.
|
exe 'command! -buffer -nargs=* VWS lvimgrep <args> '.
|
||||||
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
\ escape(VimwikiGet('path').'**/*'.VimwikiGet('ext'), ' ')
|
||||||
|
|
||||||
command! -buffer -nargs=+ VimwikiGoto call vimwiki#base#goto(<f-args>)
|
command! -buffer -nargs=+ -complete=custom,vimwiki#base#complete_links_escaped
|
||||||
|
\ VimwikiGoto call vimwiki#base#goto(<f-args>)
|
||||||
|
|
||||||
|
|
||||||
" list commands
|
" list commands
|
||||||
|
Loading…
Reference in New Issue
Block a user