vimwiki

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

commit c7436a44cf0849822b669c9b10d766a8a8f5e5bb
parent 6cafc97c9c39227deec13bb877f02e7105e31704
Author: Ivan Tishchenko <ivan.tishchenko@dsr-company.con>
Date:   Mon,  5 Jan 2015 00:39:26 +0300

Reading metadata file; filtering by page name

Diffstat:
Mautoload/vimwiki/base.vim | 20++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/autoload/vimwiki/base.vim b/autoload/vimwiki/base.vim @@ -2039,14 +2039,30 @@ endfunction " }}} " vimwiki#base#load_tags_metadata " Loads tags metadata from file, returns a dictionary function! vimwiki#base#load_tags_metadata() "{{{ - return [] + let metadata_path = VimwikiGet('path') . '/' . s:TAGS_METADATA_FILE_NAME + let metadata = [] + for line in readfile(metadata_path) + let fields = split(line, '\t') + if len(fields) != 4 + throw 'VimwikiTags1: Metadata file corrupted' + endif + let entry = {} + let entry.tagname = fields[0] + let entry.pagename = fields[1] + let entry.lineno = fields[2] + let entry.link = fields[3] + call add(metadata, entry) + endfor + return metadata endfunction " }}} " vimwiki#base#remove_page_from_tags " Removes all entries for given page from metadata in-place. Returns updated " metadata (just in case). function! vimwiki#base#remove_page_from_tags(metadata, page_name) "{{{ - return [] + let metadata = filter(a:metadata, + \ "v:val.pagename != '" . substitute(a:page_name, "'", "''", '') . "'") + return metadata endfunction " }}} " vimwiki#base#merge_tags