Issue 2: g:vimwiki_rxListBullet is not defined
Move g:vimwiki_rxListBullet definition to corresponding syntax files. Restore multiple bullets (*, **, ***) functionality, set up vimwiki default lists have only one bullet.
This commit is contained in:
parent
a405c7317a
commit
6d15d32652
@ -992,6 +992,14 @@ function! s:adjust_mrkr(item) "{{{
|
||||
let new_mrkr = neighbor_item.mrkr
|
||||
endif
|
||||
|
||||
"if possible, set e.g. *** if parent has ** as marker
|
||||
if neighbor_item.type == 0 && a:item.type == 1 && has_key(g:vimwiki_bullet_points, s:first_char(a:item.mrkr)) && g:vimwiki_bullet_points[s:first_char(a:item.mrkr)] == 1
|
||||
let parent_item = s:get_parent(a:item)
|
||||
if parent_item.type == 1 && s:first_char(parent_item.mrkr) == s:first_char(a:item.mrkr)
|
||||
let new_mrkr = repeat(s:first_char(parent_item.mrkr), s:string_length(parent_item.mrkr)+1)
|
||||
endif
|
||||
endif
|
||||
|
||||
call s:substitute_string_in_line(a:item.lnum, a:item.mrkr, new_mrkr)
|
||||
call s:adjust_numbered_list(a:item, 0, 1)
|
||||
endfunction "}}}
|
||||
|
@ -44,47 +44,11 @@ setlocal formatoptions-=2
|
||||
setlocal formatoptions+=n
|
||||
|
||||
|
||||
if VimwikiGet('syntax') == 'default'
|
||||
"1 means multiple bullets, like * ** ***
|
||||
let g:vimwiki_bullet_points = { '-':0, '*':1, '#':1 , '◆':1}
|
||||
let g:vimwiki_bullet_numbers = ['1iIaA', '.)]']
|
||||
"this should contain at least one element
|
||||
"it is used for i_<C-A> among other things
|
||||
let g:vimwiki_list_markers = ['-', '#', '◆', '1.', 'i)', 'a)']
|
||||
elseif VimwikiGet('syntax') == 'markdown'
|
||||
let g:vimwiki_bullet_points = { '-':0, '*':0, '+':0 }
|
||||
let g:vimwiki_bullet_numbers = ['1', '.']
|
||||
let g:vimwiki_list_markers = ['-', '*', '+', '1.']
|
||||
else "media
|
||||
"better leave this as it is, because media syntax is special
|
||||
let g:vimwiki_bullet_points = { '*':1, '#':1 }
|
||||
let g:vimwiki_bullet_numbers = ['', '']
|
||||
let g:vimwiki_list_markers = ['*', '#']
|
||||
endif
|
||||
|
||||
let g:vimwiki_rxListBullet = join( map(keys(g:vimwiki_bullet_points), 'vimwiki#u#escape(v:val) . repeat("\\+", g:vimwiki_bullet_points[v:val])') , '\|')
|
||||
|
||||
"create regex for numbered list
|
||||
if g:vimwiki_bullet_numbers[0] == ''
|
||||
"regex that matches nothing
|
||||
let g:vimwiki_rxListNumber = '$^'
|
||||
else
|
||||
let s:char_to_rx = {'1': '\d\+', 'i': '[ivxlcdm]\+', 'I': '[IVXLCDM]\+', 'a': '\l\{1,3}', 'A': '\u\{1,3}'}
|
||||
let g:vimwiki_rxListNumber = '\C\%(' . join( map(split(g:vimwiki_bullet_numbers[0], '.\zs'), "s:char_to_rx[v:val]"), '\|').'\)'
|
||||
let g:vimwiki_rxListNumber .= '['.vimwiki#u#escape(g:vimwiki_bullet_numbers[1]).']'
|
||||
endif
|
||||
|
||||
if VimwikiGet('syntax') == 'default' || VimwikiGet('syntax') == 'markdown'
|
||||
let g:vimwiki_rxListItemAndChildren = '^\(\s*\)\%('.g:vimwiki_rxListBullet.'\|'.g:vimwiki_rxListNumber.'\)\s\+\['.g:vimwiki_listsyms[4].'\]\s.*\%(\n\%(\1\s.*\|^$\)\)*'
|
||||
else
|
||||
let g:vimwiki_rxListItemAndChildren = '^\('.g:vimwiki_rxListBullet.'\)\s\+\['.g:vimwiki_listsyms[4].'\]\s.*\%(\n\%(\1\%('.g:vimwiki_rxListBullet.'\).*\|^$\|^\s.*\)\)*'
|
||||
endif
|
||||
|
||||
"Create 'formatlistpat'
|
||||
let &formatlistpat = vimwiki#lst#get_list_item_rx(1)
|
||||
|
||||
|
||||
|
||||
if !empty(&langmap)
|
||||
" Valid only if langmap is a comma separated pairs of chars
|
||||
let l_o = matchstr(&langmap, '\C,\zs.\zeo,')
|
||||
|
@ -49,7 +49,6 @@ execute 'runtime! syntax/vimwiki_'.VimwikiGet('syntax').'.vim'
|
||||
" -------------------------------------------------------------------------
|
||||
let time0 = vimwiki#u#time(starttime) "XXX
|
||||
|
||||
|
||||
" LINKS: setup of larger regexes {{{
|
||||
|
||||
" LINKS: setup wikilink regexps {{{
|
||||
@ -275,7 +274,6 @@ call s:add_target_syntax_ON(target, 'VimwikiLink')
|
||||
|
||||
" }}}
|
||||
|
||||
|
||||
" generic headers "{{{
|
||||
if g:vimwiki_symH
|
||||
"" symmetric
|
||||
@ -379,6 +377,28 @@ let g:vimwiki_rxTodo = '\C\%(TODO:\|DONE:\|STARTED:\|FIXME:\|FIXED:\|XXX:\)'
|
||||
execute 'syntax match VimwikiTodo /'. g:vimwiki_rxTodo .'/'
|
||||
" }}}
|
||||
|
||||
" Lists "{{{
|
||||
let g:vimwiki_rxListBullet = join( map(keys(g:vimwiki_bullet_points), 'vimwiki#u#escape(v:val) . repeat("\\+", g:vimwiki_bullet_points[v:val])') , '\|')
|
||||
|
||||
"create regex for numbered list
|
||||
if g:vimwiki_bullet_numbers[0] == ''
|
||||
"regex that matches nothing
|
||||
let g:vimwiki_rxListNumber = '$^'
|
||||
else
|
||||
let s:char_to_rx = {'1': '\d\+', 'i': '[ivxlcdm]\+', 'I': '[IVXLCDM]\+', 'a': '\l\{1,3}', 'A': '\u\{1,3}'}
|
||||
let g:vimwiki_rxListNumber = '\C\%(' . join( map(split(g:vimwiki_bullet_numbers[0], '.\zs'), "s:char_to_rx[v:val]"), '\|').'\)'
|
||||
let g:vimwiki_rxListNumber .= '['.vimwiki#u#escape(g:vimwiki_bullet_numbers[1]).']'
|
||||
endif
|
||||
|
||||
" XXX: Should this be in corresponding syntax file?
|
||||
if VimwikiGet('syntax') == 'default' || VimwikiGet('syntax') == 'markdown'
|
||||
let g:vimwiki_rxListItemAndChildren = '^\(\s*\)\%('.g:vimwiki_rxListBullet.'\|'.g:vimwiki_rxListNumber.'\)\s\+\['.g:vimwiki_listsyms[4].'\]\s.*\%(\n\%(\1\s.*\|^$\)\)*'
|
||||
else
|
||||
let g:vimwiki_rxListItemAndChildren = '^\('.g:vimwiki_rxListBullet.'\)\s\+\['.g:vimwiki_listsyms[4].'\]\s.*\%(\n\%(\1\%('.g:vimwiki_rxListBullet.'\).*\|^$\|^\s.*\)\)*'
|
||||
endif
|
||||
|
||||
"}}}
|
||||
|
||||
" main syntax groups {{{
|
||||
|
||||
" Tables
|
||||
@ -494,8 +514,6 @@ else
|
||||
endif
|
||||
"}}}
|
||||
|
||||
|
||||
|
||||
" syntax group highlighting "{{{
|
||||
|
||||
hi def link VimwikiMarkers Normal
|
||||
|
@ -72,6 +72,13 @@ let g:vimwiki_rxHR = '^-----*$'
|
||||
" Tables. Each line starts and ends with '|'; each cell is separated by '|'
|
||||
let g:vimwiki_rxTableSep = '|'
|
||||
|
||||
" Lists
|
||||
"1 means multiple bullets, like * ** ***
|
||||
let g:vimwiki_bullet_points = { '-':0, '*':0, '#':0 , '◆':0}
|
||||
let g:vimwiki_bullet_numbers = ['1iIaA', '.)]']
|
||||
"this should contain at least one element
|
||||
"it is used for i_<C-A> among other things
|
||||
let g:vimwiki_list_markers = ['-', '#', '◆', '1.', 'i)', 'a)']
|
||||
let g:vimwiki_rxListDefine = '::\(\s\|$\)'
|
||||
|
||||
" Preformatted text
|
||||
|
@ -72,6 +72,10 @@ let g:vimwiki_rxHR = '^-----*$'
|
||||
" Tables. Each line starts and ends with '|'; each cell is separated by '|'
|
||||
let g:vimwiki_rxTableSep = '|'
|
||||
|
||||
" Lists
|
||||
let g:vimwiki_bullet_points = { '-':0, '*':0, '+':0 }
|
||||
let g:vimwiki_bullet_numbers = ['1', '.']
|
||||
let g:vimwiki_list_markers = ['-', '*', '+', '1.']
|
||||
let g:vimwiki_rxListDefine = '::\%(\s\|$\)'
|
||||
|
||||
" Preformatted text
|
||||
|
@ -53,6 +53,10 @@ let g:vimwiki_rxHR = '^-----*$'
|
||||
" Tables. Each line starts and ends with '|'; each cell is separated by '|'
|
||||
let g:vimwiki_rxTableSep = '|'
|
||||
|
||||
" Lists
|
||||
let g:vimwiki_bullet_points = { '*':1, '#':1 }
|
||||
let g:vimwiki_bullet_numbers = ['', '']
|
||||
let g:vimwiki_list_markers = ['*', '#']
|
||||
let g:vimwiki_rxListDefine = '^\%(;\|:\)\s'
|
||||
|
||||
" Preformatted text
|
||||
|
Loading…
Reference in New Issue
Block a user