:VimwikiGenerateTags now updates a potentially existing listing

instead of adding it to the end.
Ref #85
This commit is contained in:
EinfachToll
2015-11-09 15:45:56 +01:00
parent 7aa273fd7c
commit 642a94ffae
3 changed files with 104 additions and 106 deletions

View File

@ -261,10 +261,6 @@ function! vimwiki#tags#generate_tags(...) abort "{{{
let metadata = s:load_tags_metadata()
call append(line('$'), [
\ '',
\ substitute(g:vimwiki_rxH1_Template, '__Header__', 'Generated Tags', '') ])
" make a dictionary { tag_name: [tag_links, ...] }
let tags_entries = {}
for entries in values(metadata)
@ -277,19 +273,28 @@ function! vimwiki#tags#generate_tags(...) abort "{{{
endfor
endfor
let lines = []
let bullet = repeat(' ', vimwiki#lst#get_list_margin()).
\ vimwiki#lst#default_symbol().' '
for tagname in sort(keys(tags_entries))
if need_all_tags || index(specific_tags, tagname) != -1
call append(line('$'), [
call extend(lines, [
\ '',
\ substitute(g:vimwiki_rxH2_Template, '__Header__', tagname, ''),
\ '' ])
for taglink in tags_entries[tagname]
call append(line('$'), bullet . '[[' . taglink . ']]')
call add(lines, bullet .
\ substitute(g:vimwiki_WikiLinkTemplate1, '__LinkUrl__', taglink, ''))
endfor
endif
endfor
let links_rx = '\m\%(^\s*$\)\|\%('.g:vimwiki_rxH2.'\)\|\%(^\s*'
\ .vimwiki#u#escape(vimwiki#lst#default_symbol()).' '
\ .g:vimwiki_rxWikiLink.'$\)'
call vimwiki#base#update_listing_in_buffer(lines, 'Generated Tags', links_rx,
\ line('$')+1, 1)
endfunction " }}}
" vimwiki#tags#complete_tags