@ -95,18 +95,6 @@ function! s:populate_global_variables()
|
||||
let g:vimwiki_global_vars.WikiLinkTemplate2 = wikilink_prefix . '__LinkUrl__'. wikilink_separator
|
||||
\ . '__LinkDescription__' . wikilink_suffix
|
||||
|
||||
" template for matching all wiki links with a given target file
|
||||
let g:vimwiki_global_vars.WikiLinkMatchUrlTemplate =
|
||||
\ g:vimwiki_global_vars.rx_wikilink_prefix .
|
||||
\ '\zs__LinkUrl__\ze\%(#.*\)\?' .
|
||||
\ g:vimwiki_global_vars.rx_wikilink_suffix .
|
||||
\ '\|' .
|
||||
\ g:vimwiki_global_vars.rx_wikilink_prefix .
|
||||
\ '\zs__LinkUrl__\ze\%(#.*\)\?' .
|
||||
\ g:vimwiki_global_vars.rx_wikilink_separator .
|
||||
\ '.*' .
|
||||
\ g:vimwiki_global_vars.rx_wikilink_suffix
|
||||
|
||||
let valid_chars = '[^\\\]]'
|
||||
let g:vimwiki_global_vars.rxWikiLinkUrl = valid_chars.'\{-}'
|
||||
let g:vimwiki_global_vars.rxWikiLinkDescr = valid_chars.'\{-}'
|
||||
@ -118,14 +106,6 @@ function! s:populate_global_variables()
|
||||
let g:vimwiki_global_vars.rxWord = '[^[:blank:]!"$%&''()*+,:;<=>?\[\]\\^`{}]\+'
|
||||
|
||||
" [[URL]], or [[URL|DESCRIPTION]]
|
||||
" a) match [[URL|DESCRIPTION]]
|
||||
let g:vimwiki_global_vars.rxWikiLink = g:vimwiki_global_vars.rx_wikilink_prefix.
|
||||
\ g:vimwiki_global_vars.rxWikiLinkUrl.'\%('.g:vimwiki_global_vars.rx_wikilink_separator.
|
||||
\ g:vimwiki_global_vars.rxWikiLinkDescr.'\)\?'.g:vimwiki_global_vars.rx_wikilink_suffix
|
||||
" b) match URL within [[URL|DESCRIPTION]]
|
||||
let g:vimwiki_global_vars.rxWikiLinkMatchUrl = g:vimwiki_global_vars.rx_wikilink_prefix.
|
||||
\ '\zs'. g:vimwiki_global_vars.rxWikiLinkUrl.'\ze\%('. g:vimwiki_global_vars.rx_wikilink_separator.
|
||||
\ g:vimwiki_global_vars.rxWikiLinkDescr.'\)\?'.g:vimwiki_global_vars.rx_wikilink_suffix
|
||||
" c) match DESCRIPTION within [[URL|DESCRIPTION]]
|
||||
let g:vimwiki_global_vars.rxWikiLinkMatchDescr = g:vimwiki_global_vars.rx_wikilink_prefix.
|
||||
\ g:vimwiki_global_vars.rxWikiLinkUrl . g:vimwiki_global_vars.rx_wikilink_separator.'\%('.
|
||||
@ -176,9 +156,6 @@ function! s:populate_global_variables()
|
||||
" 0b) match DESCRIPTION within URL
|
||||
let g:vimwiki_global_vars.rxWeblinkMatchDescr = ''
|
||||
|
||||
let g:vimwiki_global_vars.rxAnyLink = g:vimwiki_global_vars.rxWikiLink.'\|'.
|
||||
\ g:vimwiki_global_vars.rxWikiIncl.'\|'.g:vimwiki_global_vars.rxWeblink
|
||||
|
||||
let g:vimwiki_global_vars.rxTodo = '\C\%(TODO:\|DONE:\|STARTED:\|FIXME:\|FIXED:\|XXX:\)'
|
||||
|
||||
" default colors when headers of different levels are highlighted differently
|
||||
@ -370,6 +347,113 @@ function! vimwiki#vars#populate_syntax_vars(syntax)
|
||||
else
|
||||
let g:vimwiki_syntax_variables[a:syntax].rxListItemAndChildren = '^\(\s*\)\%('.g:vimwiki_syntax_variables[a:syntax].rxListBullet.'\|'.g:vimwiki_syntax_variables[a:syntax].rxListNumber.'\)\s\+\['.g:vimwiki_syntax_variables[a:syntax].listsyms_list[4].'\]\s.*\%(\n\%(\1\s.*\|^$\)\)*'
|
||||
endif
|
||||
|
||||
" template for matching all wiki links with a given target file
|
||||
let g:vimwiki_syntax_variables[a:syntax].WikiLinkMatchUrlTemplate =
|
||||
\ g:vimwiki_global_vars.rx_wikilink_prefix .
|
||||
\ '\zs__LinkUrl__\ze\%(#.*\)\?' .
|
||||
\ g:vimwiki_global_vars.rx_wikilink_suffix .
|
||||
\ '\|' .
|
||||
\ g:vimwiki_global_vars.rx_wikilink_prefix .
|
||||
\ '\zs__LinkUrl__\ze\%(#.*\)\?' .
|
||||
\ g:vimwiki_global_vars.rx_wikilink_separator .
|
||||
\ '.*' .
|
||||
\ g:vimwiki_global_vars.rx_wikilink_suffix
|
||||
|
||||
" a) match [[URL|DESCRIPTION]]
|
||||
let g:vimwiki_syntax_variables[a:syntax].rxWikiLink = g:vimwiki_global_vars.rx_wikilink_prefix.
|
||||
\ g:vimwiki_global_vars.rxWikiLinkUrl.'\%('.g:vimwiki_global_vars.rx_wikilink_separator.
|
||||
\ g:vimwiki_global_vars.rxWikiLinkDescr.'\)\?'.g:vimwiki_global_vars.rx_wikilink_suffix
|
||||
let g:vimwiki_syntax_variables[a:syntax].rxAnyLink = g:vimwiki_syntax_variables[a:syntax].rxWikiLink.'\|'.
|
||||
\ g:vimwiki_global_vars.rxWikiIncl.'\|'.g:vimwiki_global_vars.rxWeblink
|
||||
" b) match URL within [[URL|DESCRIPTION]]
|
||||
let g:vimwiki_syntax_variables[a:syntax].rxWikiLinkMatchUrl = g:vimwiki_global_vars.rx_wikilink_prefix.
|
||||
\ '\zs'. g:vimwiki_global_vars.rxWikiLinkUrl.'\ze\%('. g:vimwiki_global_vars.rx_wikilink_separator.
|
||||
\ g:vimwiki_global_vars.rxWikiLinkDescr.'\)\?'.g:vimwiki_global_vars.rx_wikilink_suffix
|
||||
|
||||
if a:syntax ==# 'markdown'
|
||||
call s:populate_extra_markdown_vars()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:populate_extra_markdown_vars()
|
||||
let mkd_syntax = g:vimwiki_syntax_variables['markdown']
|
||||
|
||||
" 0a) match [[URL|DESCRIPTION]]
|
||||
let mkd_syntax.vimwiki_rxWikiLink0 = mkd_syntax.rxWikiLink
|
||||
" 0b) match URL within [[URL|DESCRIPTION]]
|
||||
let mkd_syntax.vimwiki_rxWikiLink0MatchUrl = mkd_syntax.rxWikiLinkMatchUrl
|
||||
" 0c) match DESCRIPTION within [[URL|DESCRIPTION]]
|
||||
let mkd_syntax.vimwiki_rxWikiLink0MatchDescr = g:vimwiki_global_vars.rxWikiLinkMatchDescr
|
||||
|
||||
let wikilink_md_prefix = '['
|
||||
let wikilink_md_suffix = ']'
|
||||
let wikilink_md_separator = ']['
|
||||
let rx_wikilink_md_separator = vimwiki#u#escape(wikilink_md_separator)
|
||||
let mkd_syntax.rx_wikilink_md_prefix = vimwiki#u#escape(wikilink_md_prefix)
|
||||
let mkd_syntax.rx_wikilink_md_suffix = vimwiki#u#escape(wikilink_md_suffix)
|
||||
|
||||
" [URL][]
|
||||
let mkd_syntax.WikiLink1Template1 = wikilink_md_prefix . '__LinkUrl__'.
|
||||
\ wikilink_md_separator. wikilink_md_suffix
|
||||
" [DESCRIPTION][URL]
|
||||
let mkd_syntax.WikiLink1Template2 = wikilink_md_prefix. '__LinkDescription__'.
|
||||
\ wikilink_md_separator. '__LinkUrl__'. wikilink_md_suffix
|
||||
let mkd_syntax.WikiLinkMatchUrlTemplate .=
|
||||
\ '\|' .
|
||||
\ mkd_syntax.rx_wikilink_md_prefix .
|
||||
\ '.*' .
|
||||
\ rx_wikilink_md_separator .
|
||||
\ '\zs__LinkUrl__\ze\%(#.*\)\?' .
|
||||
\ mkd_syntax.rx_wikilink_md_suffix .
|
||||
\ '\|' .
|
||||
\ mkd_syntax.rx_wikilink_md_prefix .
|
||||
\ '\zs__LinkUrl__\ze\%(#.*\)\?' .
|
||||
\ rx_wikilink_md_separator .
|
||||
\ mkd_syntax.rx_wikilink_md_suffix
|
||||
|
||||
let valid_chars = '[^\\\[\]]'
|
||||
let mkd_syntax.rxWikiLink1Url = valid_chars.'\{-}'
|
||||
let mkd_syntax.rxWikiLink1Descr = valid_chars.'\{-}'
|
||||
let mkd_syntax.rxWikiLink1InvalidPrefix = '[\]\[]\@<!'
|
||||
let mkd_syntax.rxWikiLink1InvalidSuffix = '[\]\[]\@!'
|
||||
let mkd_syntax.rx_wikilink_md_prefix = mkd_syntax.rxWikiLink1InvalidPrefix.
|
||||
\ mkd_syntax.rx_wikilink_md_prefix
|
||||
let mkd_syntax.rx_wikilink_md_suffix = mkd_syntax.rx_wikilink_md_suffix.
|
||||
\ mkd_syntax.rxWikiLink1InvalidSuffix
|
||||
|
||||
" 1. match [URL][], [DESCRIPTION][URL]
|
||||
let mkd_syntax.rxWikiLink1 = mkd_syntax.rx_wikilink_md_prefix.
|
||||
\ mkd_syntax.rxWikiLink1Url. mkd_syntax.rx_wikilink_md_separator.
|
||||
\ mkd_syntax.rx_wikilink_md_suffix.
|
||||
\ '\|'. mkd_syntax.rx_wikilink_md_prefix.
|
||||
\ mkd_syntax.rxWikiLink1Descr . mkd_syntax.rx_wikilink_md_separator.
|
||||
\ mkd_syntax.rxWikiLink1Url . mkd_syntax.rx_wikilink_md_suffix
|
||||
" 2. match URL within [URL][], [DESCRIPTION][URL]
|
||||
let mkd_syntax.rxWikiLink1MatchUrl = mkd_syntax.rx_wikilink_md_prefix.
|
||||
\ '\zs'. mkd_syntax.rxWikiLink1Url. '\ze'. mkd_syntax.rx_wikilink_md_separator.
|
||||
\ mkd_syntax.rx_wikilink_md_suffix.
|
||||
\ '\|'. mkd_syntax.rx_wikilink_md_prefix.
|
||||
\ mkd_syntax.rxWikiLink1Descr. mkd_syntax.rx_wikilink_md_separator.
|
||||
\ '\zs'. mkd_syntax.rxWikiLink1Url. '\ze'. mkd_syntax.rx_wikilink_md_suffix
|
||||
" 3. match DESCRIPTION within [DESCRIPTION][URL]
|
||||
let mkd_syntax.rxWikiLink1MatchDescr = mkd_syntax.rx_wikilink_md_prefix.
|
||||
\ '\zs'. mkd_syntax.rxWikiLink1Descr.'\ze'. mkd_syntax.rx_wikilink_md_separator.
|
||||
\ mkd_syntax.rxWikiLink1Url . mkd_syntax.rx_wikilink_md_suffix
|
||||
|
||||
let mkd_syntax.rxWikiLink1Prefix1 = mkd_syntax.rx_wikilink_md_prefix
|
||||
let mkd_syntax.rxWikiLink1Suffix1 = mkd_syntax.rx_wikilink_md_separator.
|
||||
\ mkd_syntax.rxWikiLink1Url . mkd_syntax.rx_wikilink_md_suffix
|
||||
|
||||
" 1. match ANY wikilink
|
||||
let mkd_syntax.rxWikiLink = ''.
|
||||
\ mkd_syntax.rxWikiLink0.'\|'.
|
||||
\ mkd_syntax.rxWikiLink1
|
||||
" 2. match URL within ANY wikilink
|
||||
let mkd_syntax.rxWikiLinkMatchUrl = ''.
|
||||
\ g:vimwiki_rxWikiLink0MatchUrl.'\|'.
|
||||
\ g:vimwiki_rxWikiLink1MatchUrl
|
||||
endfunction
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user