Add wikilocal option showing description in generated links

This commit is contained in:
Stefan Schuhbäck
2021-04-21 16:16:46 +02:00
committed by Tinmarino
parent 4c7ab73c51
commit f6c419fb87
4 changed files with 73 additions and 6 deletions
+9 -3
View File
@@ -437,12 +437,14 @@ function! vimwiki#base#generate_links(create, ...) abort
function! GeneratorLinks.f() abort
let lines = []
let links = vimwiki#base#get_wikilinks(vimwiki#vars#get_bufferlocal('wiki_nr'), 0, s:pattern)
let wiki_nr = vimwiki#vars#get_bufferlocal('wiki_nr')
let links = vimwiki#base#get_wikilinks(wiki_nr, 0, s:pattern)
call sort(links)
let bullet = repeat(' ', vimwiki#lst#get_list_margin()) . vimwiki#lst#default_symbol().' '
let l:diary_file_paths = vimwiki#diary#get_diary_files()
let use_caption = vimwiki#vars#get_wikilocal('generated_links_caption', wiki_nr)
for link in links
let link_infos = vimwiki#base#resolve_link(link)
if !vimwiki#base#is_diary_file(link_infos.filename, copy(l:diary_file_paths))
@@ -451,14 +453,18 @@ function! vimwiki#base#generate_links(create, ...) abort
let link_caption = vimwiki#base#read_caption(link_infos.filename)
if link_caption ==? '' " default to link if caption not found
let link_caption = link
else
if use_caption
" switch to [[URL|DESCRIPTION]] if caption is not empty
" Link2 is the same for mardown syntax
let link_tpl = vimwiki#vars#get_syntaxlocal('Link2')
endif
endif
" Replace Url, Description
let entry = s:safesubstitute(link_tpl, '__LinkUrl__', link, '')
let entry = s:safesubstitute(entry, '__LinkDescription__', link_caption, '')
" Replace Extension
let wiki_nr = vimwiki#vars#get_bufferlocal('wiki_nr')
let extension = vimwiki#vars#get_wikilocal('ext', wiki_nr)
let entry = substitute(entry, '__FileExtension__', extension, 'g')
+3
View File
@@ -507,6 +507,7 @@ function! s:get_default_wikilocal() abort
\ 'bullet_types': {'type': type([]), 'default': []},
\ 'cycle_bullets': {'type': type(0), 'default': 0},
\ 'html_filename_parameterization': {'type': type(0), 'default': 0, 'min': 0, 'max': 1},
\ 'generated_links_caption': {'type': type(0), 'default': 0 },
\ 'index': {'type': type(''), 'default': 'index', 'min_length': 1},
\ 'links_space_char': {'type': type(''), 'default': ' ', 'min_length': 1},
\ 'list_ignore_newline': {'type': type(0), 'default': 1, 'min': 0, 'max': 1},
@@ -1285,8 +1286,10 @@ function! s:normalize_syntax_settings(syntax) abort
" command generate link form file name (generate_link)
if a:syntax ==# 'markdown'
let syntax_dic.Link1 = syntax_dic.Weblink1Template
let syntax_dic.Link2 = syntax_dic.Weblink1Template
else
let syntax_dic.Link1 = vimwiki#vars#get_global('WikiLinkTemplate1')
let syntax_dic.Link2 = vimwiki#vars#get_global('WikiLinkTemplate2')
endif
endfunction