Allow list symbols to be configured per wiki

This commit is contained in:
Michael F. Schönitzer 2018-09-13 02:16:39 +02:00
parent 75819ca23a
commit 79c295a92f

View File

@ -205,6 +205,8 @@ function! s:populate_wikilocal_options()
\ 'template_ext': '.tpl', \ 'template_ext': '.tpl',
\ 'template_path': $HOME . '/vimwiki/templates/', \ 'template_path': $HOME . '/vimwiki/templates/',
\ 'bullet_types': [], \ 'bullet_types': [],
\ 'listsyms': vimwiki#vars#get_global("listsyms"),
\ 'listsym_rejected': vimwiki#vars#get_global("listsym_rejected"),
\ } \ }
let g:vimwiki_wikilocal_vars = [] let g:vimwiki_wikilocal_vars = []
@ -456,14 +458,12 @@ function! vimwiki#vars#populate_list_vars(wiki)
endif endif
"the user can set the listsyms as string, but vimwiki needs a list "the user can set the listsyms as string, but vimwiki needs a list
" TODO make a true wikilocal and use global only as fallback for compatibility let a:wiki.listsyms_list = split(a:wiki.listsyms, '\zs')
let a:wiki.listsyms_list =
\ split(vimwiki#vars#get_global('listsyms'), '\zs') if match(a:wiki.listsyms, a:wiki.listsym_rejected) != -1
if match(vimwiki#vars#get_global('listsyms'), vimwiki#vars#get_global('listsym_rejected')) != -1 echomsg 'Vimwiki Warning: the value of listsym_rejected ('''
echomsg 'Vimwiki Warning: the value of g:vimwiki_listsym_rejected (''' \ . a:wiki.listsym_rejected . ''') must not be a part of listsyms ('''
\ . vimwiki#vars#get_global('listsym_rejected') \ . a:wiki.listsyms . ''')'
\ . ''') must not be a part of g:vimwiki_listsyms (''' .
\ . vimwiki#vars#get_global('listsyms') . ''')'
endif endif
let a:wiki.rxListItemWithoutCB = let a:wiki.rxListItemWithoutCB =
@ -471,20 +471,20 @@ function! vimwiki#vars#populate_list_vars(wiki)
\ .rxListNumber.'\)\)\s' \ .rxListNumber.'\)\)\s'
let a:wiki.rxListItem = let a:wiki.rxListItem =
\ a:wiki.rxListItemWithoutCB \ a:wiki.rxListItemWithoutCB
\ . '\+\%(\[\(['.vimwiki#vars#get_global('listsyms') \ . '\+\%(\[\(['.a:wiki.listsyms
\ . vimwiki#vars#get_global('listsym_rejected').']\)\]\s\)\?' \ . a:wiki.listsym_rejected.']\)\]\s\)\?'
if recurring_bullets if recurring_bullets
let a:wiki.rxListItemAndChildren = let a:wiki.rxListItemAndChildren =
\ '^\('.rxListBullet.'\)\s\+\[[' \ '^\('.rxListBullet.'\)\s\+\[['
\ . a:wiki.listsyms_list[-1] \ . a:wiki.listsyms_list[-1]
\ . vimwiki#vars#get_global('listsym_rejected') . ']\]\s.*\%(\n\%(\1\%(' \ . a:wiki.listsym_rejected . ']\]\s.*\%(\n\%(\1\%('
\ .rxListBullet.'\).*\|^$\|\s.*\)\)*' \ .rxListBullet.'\).*\|^$\|\s.*\)\)*'
else else
let a:wiki.rxListItemAndChildren = let a:wiki.rxListItemAndChildren =
\ '^\(\s*\)\%('.rxListBullet.'\|' \ '^\(\s*\)\%('.rxListBullet.'\|'
\ . rxListNumber.'\)\s\+\[[' \ . rxListNumber.'\)\s\+\[['
\ . a:wiki.listsyms_list[-1] \ . a:wiki.listsyms_list[-1]
\ . vimwiki#vars#get_global('listsym_rejected') . ']\]\s.*\%(\n\%(\1\s.*\|^$\)\)*' \ . a:wiki.listsym_rejected . ']\]\s.*\%(\n\%(\1\s.*\|^$\)\)*'
endif endif
endfunction endfunction