diff --git a/autoload/vimwiki/base.vim b/autoload/vimwiki/base.vim index 07a99e4..f5c792a 100644 --- a/autoload/vimwiki/base.vim +++ b/autoload/vimwiki/base.vim @@ -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 diff --git a/doc/vimwiki.txt b/doc/vimwiki.txt index 8df4a06..a1db1b3 100644 --- a/doc/vimwiki.txt +++ b/doc/vimwiki.txt @@ -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* diff --git a/ftplugin/vimwiki.vim b/ftplugin/vimwiki.vim index 3dc128f..aa8dd17 100644 --- a/ftplugin/vimwiki.vim +++ b/ftplugin/vimwiki.vim @@ -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 /::/ " COMMANDS }}}