vimwiki

Personal wiki for vim
git clone https://github.com/vimwiki/vimwiki.git
Log | Files | Refs | README | LICENSE

commit b61ff8b5ee1e00057adc31bfdae8f4bc001300bd
parent 1806d3edfacd293b6e7c99ba97dbea163161a62f
Author: EinfachToll <istjanichtzufassen@googlemail.com>
Date:   Wed, 11 Jan 2017 22:12:33 +0100

Start refactoring the rest -- part 6

Ref #256

Diffstat:
Mautoload/vimwiki/base.vim | 20++++++++++----------
Mautoload/vimwiki/html.vim | 4++--
Mautoload/vimwiki/markdown_base.vim | 10+++++-----
Mautoload/vimwiki/tags.vim | 2+-
Mautoload/vimwiki/u.vim | 5-----
Mautoload/vimwiki/vars.vim | 130+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------
Msyntax/vimwiki.vim | 4++--
Msyntax/vimwiki_markdown_custom.vim | 100++++---------------------------------------------------------------------------
8 files changed, 131 insertions(+), 144 deletions(-)

diff --git a/autoload/vimwiki/base.vim b/autoload/vimwiki/base.vim @@ -824,7 +824,7 @@ function! s:update_wiki_links_dir(dir, old_fname, new_fname) " {{{ let new_fname = a:new_fname let old_fname_r = vimwiki#base#apply_template( - \ vimwiki#vars#get_global('WikiLinkMatchUrlTemplate'), old_fname, '', '') + \ vimwiki#vars#get_syntaxlocal('WikiLinkMatchUrlTemplate'), old_fname, '', '') let files = split(glob(vimwiki#vars#get_wikilocal('path').a:dir.'*'.vimwiki#vars#get_wikilocal('ext')), '\n') for fname in files @@ -1056,7 +1056,7 @@ endfunction "}}} " WIKI link following functions {{{ " vimwiki#base#find_next_link function! vimwiki#base#find_next_link() "{{{ - call vimwiki#base#search_word(vimwiki#vars#get_global('rxAnyLink'), '') + call vimwiki#base#search_word(vimwiki#vars#get_syntaxlocal('rxAnyLink'), '') endfunction " }}} " vimwiki#base#find_prev_link @@ -1064,9 +1064,9 @@ function! vimwiki#base#find_prev_link() "{{{ "Jump 2 times if the cursor is in the middle of a link if synIDattr(synID(line('.'), col('.'), 0), "name") =~# "VimwikiLink.*" && \ synIDattr(synID(line('.'), col('.')-1, 0), "name") =~# "VimwikiLink.*" - call vimwiki#base#search_word(vimwiki#vars#get_global('rxAnyLink'), 'b') + call vimwiki#base#search_word(vimwiki#vars#get_syntaxlocal('rxAnyLink'), 'b') endif - call vimwiki#base#search_word(vimwiki#vars#get_global('rxAnyLink'), 'b') + call vimwiki#base#search_word(vimwiki#vars#get_syntaxlocal('rxAnyLink'), 'b') endfunction " }}} " vimwiki#base#follow_link @@ -1094,8 +1094,8 @@ function! vimwiki#base#follow_link(split, ...) "{{{ Parse link at cursor and pas endif " try WikiLink - let lnk = matchstr(vimwiki#base#matchstr_at_cursor(vimwiki#vars#get_global('rxWikiLink')), - \ vimwiki#vars#get_global('rxWikiLinkMatchUrl')) + let lnk = matchstr(vimwiki#base#matchstr_at_cursor(vimwiki#vars#get_syntaxlocal('rxWikiLink')), + \ vimwiki#vars#get_syntaxlocal('rxWikiLinkMatchUrl')) " try WikiIncl if lnk == "" let lnk = matchstr(vimwiki#base#matchstr_at_cursor(vimwiki#vars#get_global('rxWikiIncl')), @@ -1221,7 +1221,7 @@ function! vimwiki#base#rename_link() "{{{ return endif - let url = matchstr(new_link, vimwiki#vars#get_global('rxWikiLinkMatchUrl')) + let url = matchstr(new_link, vimwiki#vars#get_syntaxlocal('rxWikiLinkMatchUrl')) if url != '' let new_link = url endif @@ -1763,12 +1763,12 @@ endfunction " }}} function! s:normalize_link_syntax_n() " {{{ " try WikiLink - let lnk = vimwiki#base#matchstr_at_cursor(vimwiki#vars#get_global('rxWikiLink')) + let lnk = vimwiki#base#matchstr_at_cursor(vimwiki#vars#get_syntaxlocal('rxWikiLink')) if !empty(lnk) let sub = vimwiki#base#normalize_link_helper(lnk, - \ vimwiki#vars#get_global('rxWikiLinkMatchUrl'), vimwiki#vars#get_global('rxWikiLinkMatchDescr'), + \ vimwiki#vars#get_syntaxlocal('rxWikiLinkMatchUrl'), vimwiki#vars#get_global('rxWikiLinkMatchDescr'), \ vimwiki#vars#get_global('WikiLinkTemplate2')) - call vimwiki#base#replacestr_at_cursor(vimwiki#vars#get_global('rxWikiLink'), sub) + call vimwiki#base#replacestr_at_cursor(vimwiki#vars#get_syntaxlocal('rxWikiLink'), sub) return endif diff --git a/autoload/vimwiki/html.vim b/autoload/vimwiki/html.vim @@ -424,7 +424,7 @@ function! s:tag_wikilink(value) "{{{ " [[url#a1#a2]] -> <a href="url.html#a1-a2">url#a1#a2</a> " [[#a1#a2]] -> <a href="#a1-a2">#a1#a2</a> let str = a:value - let url = matchstr(str, vimwiki#vars#get_global('rxWikiLinkMatchUrl')) + let url = matchstr(str, vimwiki#vars#get_syntaxlocal('rxWikiLinkMatchUrl')) let descr = matchstr(str, vimwiki#vars#get_global('rxWikiLinkMatchDescr')) let descr = (substitute(descr,'^\s*\(.*\)\s*$','\1','') != '' ? descr : url) @@ -571,7 +571,7 @@ endfunction " }}} function! s:process_tags_links(line) " {{{ let line = a:line - let line = s:make_tag(line, vimwiki#vars#get_global('rxWikiLink'), 's:tag_wikilink') + let line = s:make_tag(line, vimwiki#vars#get_syntaxlocal('rxWikiLink'), 's:tag_wikilink') let line = s:make_tag(line, vimwiki#vars#get_global('rxWikiIncl'), 's:tag_wikiincl') let line = s:make_tag(line, vimwiki#vars#get_global('rxWeblink'), 's:tag_weblink') return line diff --git a/autoload/vimwiki/markdown_base.vim b/autoload/vimwiki/markdown_base.vim @@ -8,7 +8,7 @@ " vimwiki#markdown_base#reset_mkd_refs function! vimwiki#markdown_base#reset_mkd_refs() "{{{ - call VimwikiClear('markdown_refs') + call vimwiki#vars#set_bufferlocal('markdown_refs', {}) endfunction "}}} " vimwiki#markdown_base#scan_reflinks @@ -92,8 +92,8 @@ function! vimwiki#markdown_base#follow_link(split, ...) "{{{ Parse link at curso endif " try WikiLink - let lnk = matchstr(vimwiki#base#matchstr_at_cursor(vimwiki#vars#get_global('rxWikiLink')), - \ vimwiki#vars#get_global('rxWikiLinkMatchUrl')) + let lnk = matchstr(vimwiki#base#matchstr_at_cursor(vimwiki#vars#get_syntaxlocal('rxWikiLink')), + \ vimwiki#vars#get_syntaxlocal('rxWikiLinkMatchUrl')) " try WikiIncl if lnk == "" let lnk = matchstr(vimwiki#base#matchstr_at_cursor(vimwiki#vars#get_global('rxWikiIncl')), @@ -142,7 +142,7 @@ function! s:normalize_link_syntax_n() " {{{ let lnk = vimwiki#base#matchstr_at_cursor(vimwiki#vars#get_syntaxlocal('rxWikiLink0')) if !empty(lnk) let sub = vimwiki#base#normalize_link_helper(lnk, - \ vimwiki#vars#get_global('rxWikiLinkMatchUrl'), vimwiki#vars#get_global('rxWikiLinkMatchDescr'), + \ vimwiki#vars#get_syntaxlocal('rxWikiLinkMatchUrl'), vimwiki#vars#get_global('rxWikiLinkMatchDescr'), \ vimwiki#vars#get_syntaxlocal('WikiLink1Template2')) call vimwiki#base#replacestr_at_cursor(vimwiki#vars#get_syntaxlocal('rxWikiLink0'), sub) return @@ -152,7 +152,7 @@ function! s:normalize_link_syntax_n() " {{{ let lnk = vimwiki#base#matchstr_at_cursor(vimwiki#vars#get_syntaxlocal('rxWikiLink1')) if !empty(lnk) let sub = vimwiki#base#normalize_link_helper(lnk, - \ vimwiki#vars#get_global('rxWikiLinkMatchUrl'), vimwiki#vars#get_global('rxWikiLinkMatchDescr'), + \ vimwiki#vars#get_syntaxlocal('rxWikiLinkMatchUrl'), vimwiki#vars#get_global('rxWikiLinkMatchDescr'), \ vimwiki#vars#get_global('WikiLinkTemplate2')) call vimwiki#base#replacestr_at_cursor(vimwiki#vars#get_syntaxlocal('rxWikiLink1'), sub) return diff --git a/autoload/vimwiki/tags.vim b/autoload/vimwiki/tags.vim @@ -326,7 +326,7 @@ function! vimwiki#tags#generate_tags(...) abort "{{{ let links_rx = '\m\%(^\s*$\)\|\%('.vimwiki#vars#get_syntaxlocal('rxH2').'\)\|\%(^\s*' \ .vimwiki#u#escape(vimwiki#lst#default_symbol()).' ' - \ .vimwiki#vars#get_global('rxWikiLink').'$\)' + \ .vimwiki#vars#get_syntaxlocal('rxWikiLink').'$\)' call vimwiki#base#update_listing_in_buffer(lines, 'Generated Tags', links_rx, \ line('$')+1, 1) diff --git a/autoload/vimwiki/u.vim b/autoload/vimwiki/u.vim @@ -46,11 +46,6 @@ function vimwiki#u#reload_regexes() "{{{ execute 'runtime! syntax/vimwiki_'.vimwiki#vars#get_wikilocal('syntax').'.vim' endfunction "}}} -" Load omnipresent Wiki syntax -function vimwiki#u#reload_omni_regexes() "{{{ - execute 'runtime! syntax/omnipresent_syntax.vim' -endfunction "}}} - " Load syntax-specific functionality function vimwiki#u#reload_regexes_custom() "{{{ execute 'runtime! syntax/vimwiki_'.vimwiki#vars#get_wikilocal('syntax').'_custom.vim' diff --git a/autoload/vimwiki/vars.vim b/autoload/vimwiki/vars.vim @@ -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 diff --git a/syntax/vimwiki.vim b/syntax/vimwiki.vim @@ -88,7 +88,7 @@ endfunction "}}} " use max highlighting - could be quite slow if there are too many wikifiles if vimwiki#vars#get_wikilocal('maxhi') " WikiLink - call s:add_target_syntax_OFF(vimwiki#vars#get_global('rxWikiLink')) + call s:add_target_syntax_OFF(vimwiki#vars#get_syntaxlocal('rxWikiLink')) " WikiIncl call s:add_target_syntax_OFF(vimwiki#vars#get_global('rxWikiIncl')) @@ -96,7 +96,7 @@ if vimwiki#vars#get_wikilocal('maxhi') call s:highlight_existing_links() else " Wikilink - call s:add_target_syntax_ON(vimwiki#vars#get_global('rxWikiLink'), 'VimwikiLink') + call s:add_target_syntax_ON(vimwiki#vars#get_syntaxlocal('rxWikiLink'), 'VimwikiLink') " WikiIncl call s:add_target_syntax_ON(vimwiki#vars#get_global('rxWikiIncl'), 'VimwikiLink') endif diff --git a/syntax/vimwiki_markdown_custom.vim b/syntax/vimwiki_markdown_custom.vim @@ -16,108 +16,16 @@ " LINKS: setup of larger regexes {{{ -" LINKS: setup wikilink0 regexps {{{ -" 0. [[URL]], or [[URL|DESCRIPTION]] - -" 0a) match [[URL|DESCRIPTION]] -let g:vimwiki_rxWikiLink0 = g:vimwiki_rxWikiLink -" 0b) match URL within [[URL|DESCRIPTION]] -let g:vimwiki_rxWikiLink0MatchUrl = g:vimwiki_rxWikiLinkMatchUrl -" 0c) match DESCRIPTION within [[URL|DESCRIPTION]] -let g:vimwiki_rxWikiLink0MatchDescr = g:vimwiki_rxWikiLinkMatchDescr -" }}} - -" LINKS: setup wikilink1 regexps {{{ -" 1. [URL][], or [DESCRIPTION][URL] - -let s:wikilink_md_prefix = '[' -let s:wikilink_md_suffix = ']' -let s:wikilink_md_separator = '][' -let s:rx_wikilink_md_prefix = vimwiki#u#escape(s:wikilink_md_prefix) -let s:rx_wikilink_md_suffix = vimwiki#u#escape(s:wikilink_md_suffix) -let s:rx_wikilink_md_separator = vimwiki#u#escape(s:wikilink_md_separator) - -" [URL][] -let g:vimwiki_WikiLink1Template1 = s:wikilink_md_prefix . '__LinkUrl__'. - \ s:wikilink_md_separator. s:wikilink_md_suffix -" [DESCRIPTION][URL] -let g:vimwiki_WikiLink1Template2 = s:wikilink_md_prefix. '__LinkDescription__'. - \ s:wikilink_md_separator. '__LinkUrl__'. - \ s:wikilink_md_suffix -" -let g:vimwiki_WikiLinkMatchUrlTemplate .= - \ '\|' . - \ s:rx_wikilink_md_prefix . - \ '.*' . - \ s:rx_wikilink_md_separator . - \ '\zs__LinkUrl__\ze\%(#.*\)\?' . - \ s:rx_wikilink_md_suffix . - \ '\|' . - \ s:rx_wikilink_md_prefix . - \ '\zs__LinkUrl__\ze\%(#.*\)\?' . - \ s:rx_wikilink_md_separator . - \ s:rx_wikilink_md_suffix - -let s:valid_chars = '[^\\\[\]]' -let g:vimwiki_rxWikiLink1Url = s:valid_chars.'\{-}' -let g:vimwiki_rxWikiLink1Descr = s:valid_chars.'\{-}' - -let g:vimwiki_rxWikiLink1InvalidPrefix = '[\]\[]\@<!' -let g:vimwiki_rxWikiLink1InvalidSuffix = '[\]\[]\@!' -let s:rx_wikilink_md_prefix = g:vimwiki_rxWikiLink1InvalidPrefix. - \ s:rx_wikilink_md_prefix -let s:rx_wikilink_md_suffix = s:rx_wikilink_md_suffix. - \ g:vimwiki_rxWikiLink1InvalidSuffix -" -" 1. [URL][], [DESCRIPTION][URL] -" 1a) match [URL][], [DESCRIPTION][URL] -let g:vimwiki_rxWikiLink1 = s:rx_wikilink_md_prefix. - \ g:vimwiki_rxWikiLink1Url. s:rx_wikilink_md_separator. - \ s:rx_wikilink_md_suffix. - \ '\|'. s:rx_wikilink_md_prefix. - \ g:vimwiki_rxWikiLink1Descr.s:rx_wikilink_md_separator. - \ g:vimwiki_rxWikiLink1Url.s:rx_wikilink_md_suffix -" 1b) match URL within [URL][], [DESCRIPTION][URL] -let g:vimwiki_rxWikiLink1MatchUrl = s:rx_wikilink_md_prefix. - \ '\zs'. g:vimwiki_rxWikiLink1Url. '\ze'. s:rx_wikilink_md_separator. - \ s:rx_wikilink_md_suffix. - \ '\|'. s:rx_wikilink_md_prefix. - \ g:vimwiki_rxWikiLink1Descr. s:rx_wikilink_md_separator. - \ '\zs'. g:vimwiki_rxWikiLink1Url. '\ze'. s:rx_wikilink_md_suffix -" 1c) match DESCRIPTION within [DESCRIPTION][URL] -let g:vimwiki_rxWikiLink1MatchDescr = s:rx_wikilink_md_prefix. - \ '\zs'. g:vimwiki_rxWikiLink1Descr.'\ze'. s:rx_wikilink_md_separator. - \ g:vimwiki_rxWikiLink1Url.s:rx_wikilink_md_suffix -" }}} -" LINKS: Syntax helper {{{ -let g:vimwiki_rxWikiLink1Prefix1 = s:rx_wikilink_md_prefix -let g:vimwiki_rxWikiLink1Suffix1 = s:rx_wikilink_md_separator. - \ g:vimwiki_rxWikiLink1Url.s:rx_wikilink_md_suffix -" }}} " *. ANY wikilink {{{ -" *a) match ANY wikilink -let g:vimwiki_rxWikiLink = ''. - \ g:vimwiki_rxWikiLink0.'\|'. - \ g:vimwiki_rxWikiLink1 -" *b) match URL within ANY wikilink -let g:vimwiki_rxWikiLinkMatchUrl = ''. - \ g:vimwiki_rxWikiLink0MatchUrl.'\|'. - \ g:vimwiki_rxWikiLink1MatchUrl " *c) match DESCRIPTION within ANY wikilink let g:vimwiki_rxWikiLinkMatchDescr = ''. \ g:vimwiki_rxWikiLink0MatchDescr.'\|'. \ g:vimwiki_rxWikiLink1MatchDescr " }}} -" LINKS: setup of wikiincl regexps {{{ -" }}} - -" LINKS: Syntax helper {{{ -" }}} - " LINKS: Setup weblink0 regexps {{{ " 0. URL : free-standing links: keep URL UR(L) strip trailing punct: URL; URL) UR(L)) let g:vimwiki_rxWeblink0 = g:vimwiki_rxWeblink @@ -336,12 +244,12 @@ let s:options = ' contained transparent contains=NONE' " conceal wikilink1 execute 'syn match VimwikiWikiLink1Char /'.s:rx_wikilink_md_prefix.'/'.s:options execute 'syn match VimwikiWikiLink1Char /'.s:rx_wikilink_md_suffix.'/'.s:options -execute 'syn match VimwikiWikiLink1Char /'.g:vimwiki_rxWikiLink1Prefix1.'/'.s:options -execute 'syn match VimwikiWikiLink1Char /'.g:vimwiki_rxWikiLink1Suffix1.'/'.s:options +execute 'syn match VimwikiWikiLink1Char /'.vimwiki#vars#get_syntaxlocal('rxWikiLink1Prefix1').'/'.s:options +execute 'syn match VimwikiWikiLink1Char /'.vimwiki#vars#get_syntaxlocal('rxWikiLink1Suffix1').'/'.s:options " conceal weblink1 -execute 'syn match VimwikiWeblink1Char "'.g:vimwiki_rxWeblink1Prefix1.'"'.s:options -execute 'syn match VimwikiWeblink1Char "'.g:vimwiki_rxWeblink1Suffix1.'"'.s:options +execute 'syn match VimwikiWeblink1Char "'.vimwiki#vars#get_syntaxlocal('rxWeblink1Prefix1').'"'.s:options +execute 'syn match VimwikiWeblink1Char "'.vimwiki#vars#get_syntaxlocal('rxWeblink1Suffix1').'"'.s:options if exists("+conceallevel") syntax conceal off