Implement :VimwikiSearchTags to look up tag instances in a wiki

This commit is contained in:
Ivan Tishchenko 2015-01-06 22:44:41 +03:00
parent df91772d7e
commit a62bebceb2
3 changed files with 16 additions and 1 deletions

View File

@ -2109,6 +2109,15 @@ endfunction " }}}
" Command completion functions {{{
" vimwiki#base#complete_tags
function! vimwiki#base#complete_tags(ArgLead, CmdLine, CursorPos) abort " {{{
" We can safely ignore args if we use -custom=complete option, Vim engine
" will do the job of filtering.
let metadata = vimwiki#base#load_tags_metadata()
let taglist = vimwiki#base#get_tags(metadata)
return join(taglist, "\n")
endfunction " }}}
" 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

View File

@ -596,7 +596,7 @@ il A single list item.
*:VimwikiGoto*
Goto link provided by an argument. For example: >
:VimwikiGoto HelloWorld
< opens opens/creates HelloWorld wiki page.
< opens opens/creates HelloWorld wiki page.
Supports |cmdline-completion| for link name.
@ -708,6 +708,10 @@ il A single list item.
Iterates over all files in a current wiki and rebuilds tags metadata (to
enable tags related commands).
*:VimwikiSearchTags*
Searches over the pages in current wiki and finds all locations of a given
tag. Supports |cmdline-completion|.
==============================================================================
5. Wiki syntax *vimwiki-syntax*

View File

@ -304,6 +304,8 @@ command! -buffer VimwikiDiaryPrevDay call vimwiki#diary#goto_prev_day()
" tags commands
command! -buffer VimwikiRebuildTags call vimwiki#base#update_tags(1)
command! -buffer -nargs=* -complete=custom,vimwiki#base#complete_tags
\ VimwikiSearchTags VimwikiSearch /:<args>:/
" COMMANDS }}}