From 5a6ed5fcb3b89d0c2b4e8ba2953c4ba806d4b171 Mon Sep 17 00:00:00 2001 From: Kumar Damani Date: Fri, 26 Apr 2019 14:49:26 -0400 Subject: added vim dir --- vim/.vim/plugged/vimwiki/syntax/vimwiki.vim | 487 +++++++++++++++++++++ .../plugged/vimwiki/syntax/vimwiki_default.vim | 110 +++++ .../plugged/vimwiki/syntax/vimwiki_markdown.vim | 104 +++++ .../vimwiki/syntax/vimwiki_markdown_custom.vim | 194 ++++++++ vim/.vim/plugged/vimwiki/syntax/vimwiki_media.vim | 85 ++++ 5 files changed, 980 insertions(+) create mode 100644 vim/.vim/plugged/vimwiki/syntax/vimwiki.vim create mode 100644 vim/.vim/plugged/vimwiki/syntax/vimwiki_default.vim create mode 100644 vim/.vim/plugged/vimwiki/syntax/vimwiki_markdown.vim create mode 100644 vim/.vim/plugged/vimwiki/syntax/vimwiki_markdown_custom.vim create mode 100644 vim/.vim/plugged/vimwiki/syntax/vimwiki_media.vim (limited to 'vim/.vim/plugged/vimwiki/syntax') diff --git a/vim/.vim/plugged/vimwiki/syntax/vimwiki.vim b/vim/.vim/plugged/vimwiki/syntax/vimwiki.vim new file mode 100644 index 0000000..512aad9 --- /dev/null +++ b/vim/.vim/plugged/vimwiki/syntax/vimwiki.vim @@ -0,0 +1,487 @@ +" vim:tabstop=2:shiftwidth=2:expandtab:textwidth=99 +" Vimwiki syntax file +" Home: https://github.com/vimwiki/vimwiki/ + + +" Quit if syntax file is already loaded +if v:version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + + +let s:current_syntax = vimwiki#vars#get_wikilocal('syntax') + + +call vimwiki#vars#populate_syntax_vars(s:current_syntax) + + +" LINKS: highlighting is complicated due to "nonexistent" links feature +function! s:add_target_syntax_ON(target, type) + let prefix0 = 'syntax match '.a:type.' `' + let suffix0 = '` display contains=@NoSpell,VimwikiLinkRest,'.a:type.'Char' + let prefix1 = 'syntax match '.a:type.'T `' + let suffix1 = '` display contained' + execute prefix0. a:target. suffix0 + execute prefix1. a:target. suffix1 +endfunction + + +function! s:add_target_syntax_OFF(target) + let prefix0 = 'syntax match VimwikiNoExistsLink `' + let suffix0 = '` display contains=@NoSpell,VimwikiLinkRest,VimwikiLinkChar' + let prefix1 = 'syntax match VimwikiNoExistsLinkT `' + let suffix1 = '` display contained' + execute prefix0. a:target. suffix0 + execute prefix1. a:target. suffix1 +endfunction + + +function! s:highlight_existing_links() + " Wikilink + " Conditional highlighting that depends on the existence of a wiki file or + " directory is only available for *schemeless* wiki links + " Links are set up upon BufEnter (see plugin/...) + let safe_links = '\%('.vimwiki#base#file_pattern( + \ vimwiki#vars#get_bufferlocal('existing_wikifiles')) . '\%(#[^|]*\)\?\|#[^|]*\)' + " Wikilink Dirs set up upon BufEnter (see plugin/...) + let safe_dirs = vimwiki#base#file_pattern(vimwiki#vars#get_bufferlocal('existing_wikidirs')) + + " match [[URL]] + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_global('WikiLinkTemplate1')), + \ safe_links, vimwiki#vars#get_global('rxWikiLinkDescr'), '') + call s:add_target_syntax_ON(target, 'VimwikiLink') + " match [[URL|DESCRIPTION]] + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_global('WikiLinkTemplate2')), + \ safe_links, vimwiki#vars#get_global('rxWikiLinkDescr'), '') + call s:add_target_syntax_ON(target, 'VimwikiLink') + + " match {{URL}} + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_global('WikiInclTemplate1')), + \ safe_links, vimwiki#vars#get_global('rxWikiInclArgs'), '') + call s:add_target_syntax_ON(target, 'VimwikiLink') + " match {{URL|...}} + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_global('WikiInclTemplate2')), + \ safe_links, vimwiki#vars#get_global('rxWikiInclArgs'), '') + call s:add_target_syntax_ON(target, 'VimwikiLink') + " match [[DIRURL]] + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_global('WikiLinkTemplate1')), + \ safe_dirs, vimwiki#vars#get_global('rxWikiLinkDescr'), '') + call s:add_target_syntax_ON(target, 'VimwikiLink') + " match [[DIRURL|DESCRIPTION]] + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_global('WikiLinkTemplate2')), + \ safe_dirs, vimwiki#vars#get_global('rxWikiLinkDescr'), '') + call s:add_target_syntax_ON(target, 'VimwikiLink') +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_syntaxlocal('rxWikiLink')) + " WikiIncl + call s:add_target_syntax_OFF(vimwiki#vars#get_global('rxWikiIncl')) + + " Subsequently, links verified on vimwiki's path are highlighted as existing + call s:highlight_existing_links() +else + " Wikilink + 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 + + +" Weblink +call s:add_target_syntax_ON(vimwiki#vars#get_syntaxlocal('rxWeblink'), 'VimwikiLink') + + +" WikiLink +" All remaining schemes are highlighted automatically +let s:rxSchemes = '\%('. + \ vimwiki#vars#get_global('schemes') . '\|'. + \ vimwiki#vars#get_global('web_schemes1'). + \ '\):' + +" a) match [[nonwiki-scheme-URL]] +let s:target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_global('WikiLinkTemplate1')), + \ s:rxSchemes.vimwiki#vars#get_global('rxWikiLinkUrl'), + \ vimwiki#vars#get_global('rxWikiLinkDescr'), '') +call s:add_target_syntax_ON(s:target, 'VimwikiLink') +" b) match [[nonwiki-scheme-URL|DESCRIPTION]] +let s:target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_global('WikiLinkTemplate2')), + \ s:rxSchemes.vimwiki#vars#get_global('rxWikiLinkUrl'), + \ vimwiki#vars#get_global('rxWikiLinkDescr'), '') +call s:add_target_syntax_ON(s:target, 'VimwikiLink') + +" a) match {{nonwiki-scheme-URL}} +let s:target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_global('WikiInclTemplate1')), + \ s:rxSchemes.vimwiki#vars#get_global('rxWikiInclUrl'), + \ vimwiki#vars#get_global('rxWikiInclArgs'), '') +call s:add_target_syntax_ON(s:target, 'VimwikiLink') +" b) match {{nonwiki-scheme-URL}[{...}]} +let s:target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_global('WikiInclTemplate2')), + \ s:rxSchemes.vimwiki#vars#get_global('rxWikiInclUrl'), + \ vimwiki#vars#get_global('rxWikiInclArgs'), '') +call s:add_target_syntax_ON(s:target, 'VimwikiLink') + + + +" Header levels, 1-6 +for s:i in range(1,6) + execute 'syntax match VimwikiHeader'.s:i + \ . ' /'.vimwiki#vars#get_syntaxlocal('rxH'.s:i, s:current_syntax). + \ '/ contains=VimwikiTodo,VimwikiHeaderChar,VimwikiNoExistsLink,VimwikiCode,'. + \ 'VimwikiLink,@Spell' + execute 'syntax region VimwikiH'.s:i.'Folding start=/'. + \ vimwiki#vars#get_syntaxlocal('rxH'.s:i.'_Start', s:current_syntax).'/ end=/'. + \ vimwiki#vars#get_syntaxlocal('rxH'.s:i.'_End', s:current_syntax). + \ '/me=s-1 transparent fold' +endfor + + + +" possibly concealed chars +let s:conceal = exists("+conceallevel") ? ' conceal' : '' + +execute 'syn match VimwikiEqInChar contained /'. + \ vimwiki#vars#get_syntaxlocal('char_eqin').'/'.s:conceal +execute 'syn match VimwikiBoldChar contained /'. + \ vimwiki#vars#get_syntaxlocal('char_bold').'/'.s:conceal +execute 'syn match VimwikiItalicChar contained /'. + \ vimwiki#vars#get_syntaxlocal('char_italic').'/'.s:conceal +execute 'syn match VimwikiBoldItalicChar contained /'. + \ vimwiki#vars#get_syntaxlocal('char_bolditalic').'/'.s:conceal +execute 'syn match VimwikiItalicBoldChar contained /'. + \ vimwiki#vars#get_syntaxlocal('char_italicbold').'/'.s:conceal +execute 'syn match VimwikiCodeChar contained /'. + \ vimwiki#vars#get_syntaxlocal('char_code').'/'.s:conceal +execute 'syn match VimwikiDelTextChar contained /'. + \ vimwiki#vars#get_syntaxlocal('char_deltext').'/'.s:conceal +execute 'syn match VimwikiSuperScript contained /'. + \ vimwiki#vars#get_syntaxlocal('char_superscript').'/'.s:conceal +execute 'syn match VimwikiSubScript contained /'. + \ vimwiki#vars#get_syntaxlocal('char_subscript').'/'.s:conceal + + + + + +let s:options = ' contained transparent contains=NONE' + +" A shortener for long URLs: LinkRest (a middle part of the URL) is concealed +" VimwikiLinkRest group is left undefined if link shortening is not desired +if exists("+conceallevel") && vimwiki#vars#get_global('url_maxsave') > 0 + let s:options .= s:conceal + execute 'syn match VimwikiLinkRest `\%(///\=[^/ \t]\+/\)\zs\S\+\ze' + \.'\%([/#?]\w\|\S\{'.vimwiki#vars#get_global('url_maxsave').'}\)`'.' cchar=~'.s:options +endif + +" VimwikiLinkChar is for syntax markers (and also URL when a description +" is present) and may be concealed + +" conceal wikilinks +execute 'syn match VimwikiLinkChar /'.vimwiki#vars#get_global('rx_wikilink_prefix').'/'.s:options +execute 'syn match VimwikiLinkChar /'.vimwiki#vars#get_global('rx_wikilink_suffix').'/'.s:options +execute 'syn match VimwikiLinkChar /'.vimwiki#vars#get_global('rx_wikilink_prefix1').'/'.s:options +execute 'syn match VimwikiLinkChar /'.vimwiki#vars#get_global('rx_wikilink_suffix1').'/'.s:options + +" conceal wikiincls +execute 'syn match VimwikiLinkChar /'.vimwiki#vars#get_global('rxWikiInclPrefix').'/'.s:options +execute 'syn match VimwikiLinkChar /'.vimwiki#vars#get_global('rxWikiInclSuffix').'/'.s:options +execute 'syn match VimwikiLinkChar /'.vimwiki#vars#get_global('rxWikiInclPrefix1').'/'.s:options +execute 'syn match VimwikiLinkChar /'.vimwiki#vars#get_global('rxWikiInclSuffix1').'/'.s:options + + +" non concealed chars +execute 'syn match VimwikiHeaderChar contained /\%(^\s*'. + \ vimwiki#vars#get_syntaxlocal('rxH').'\+\)\|\%('.vimwiki#vars#get_syntaxlocal('rxH'). + \ '\+\s*$\)/' +execute 'syn match VimwikiEqInCharT contained /' + \ .vimwiki#vars#get_syntaxlocal('char_eqin').'/' +execute 'syn match VimwikiBoldCharT contained /' + \ .vimwiki#vars#get_syntaxlocal('char_bold').'/' +execute 'syn match VimwikiItalicCharT contained /' + \ .vimwiki#vars#get_syntaxlocal('char_italic').'/' +execute 'syn match VimwikiBoldItalicCharT contained /' + \ .vimwiki#vars#get_syntaxlocal('char_bolditalic').'/' +execute 'syn match VimwikiItalicBoldCharT contained /' + \ .vimwiki#vars#get_syntaxlocal('char_italicbold').'/' +execute 'syn match VimwikiCodeCharT contained /' + \ .vimwiki#vars#get_syntaxlocal('char_code').'/' +execute 'syn match VimwikiDelTextCharT contained /' + \ .vimwiki#vars#get_syntaxlocal('char_deltext').'/' +execute 'syn match VimwikiSuperScriptT contained /' + \ .vimwiki#vars#get_syntaxlocal('char_superscript').'/' +execute 'syn match VimwikiSubScriptT contained /' + \ .vimwiki#vars#get_syntaxlocal('char_subscript').'/' + + +execute 'syntax match VimwikiTodo /'. vimwiki#vars#get_global('rxTodo') .'/' + + + +" Tables +syntax match VimwikiTableRow /^\s*|.\+|\s*$/ + \ transparent contains=VimwikiCellSeparator, + \ VimwikiLinkT, + \ VimwikiNoExistsLinkT, + \ VimwikiTodo, + \ VimwikiBoldT, + \ VimwikiItalicT, + \ VimwikiBoldItalicT, + \ VimwikiItalicBoldT, + \ VimwikiDelTextT, + \ VimwikiSuperScriptT, + \ VimwikiSubScriptT, + \ VimwikiCodeT, + \ VimwikiEqInT, + \ @Spell +syntax match VimwikiCellSeparator + \ /\%(|\)\|\%(-\@<=+\-\@=\)\|\%([|+]\@<=-\+\)/ contained + + +" Lists +execute 'syntax match VimwikiList /'.vimwiki#vars#get_syntaxlocal('rxListItemWithoutCB').'/' +execute 'syntax match VimwikiList /'.vimwiki#vars#get_syntaxlocal('rxListDefine').'/' +execute 'syntax match VimwikiListTodo /'.vimwiki#vars#get_syntaxlocal('rxListItem').'/' + +if vimwiki#vars#get_global('hl_cb_checked') == 1 + execute 'syntax match VimwikiCheckBoxDone /'.vimwiki#vars#get_syntaxlocal('rxListItemWithoutCB') + \ . '\s*\[['.vimwiki#vars#get_syntaxlocal('listsyms_list')[-1] + \ . vimwiki#vars#get_global('listsym_rejected') + \ . ']\]\s.*$/ contains=VimwikiNoExistsLink,VimwikiLink,@Spell' +elseif vimwiki#vars#get_global('hl_cb_checked') == 2 + execute 'syntax match VimwikiCheckBoxDone /' + \ . vimwiki#vars#get_syntaxlocal('rxListItemAndChildren') + \ .'/ contains=VimwikiNoExistsLink,VimwikiLink,@Spell' +endif + + +execute 'syntax match VimwikiEqIn /'.vimwiki#vars#get_syntaxlocal('rxEqIn'). + \ '/ contains=VimwikiEqInChar' +execute 'syntax match VimwikiEqInT /'.vimwiki#vars#get_syntaxlocal('rxEqIn'). + \ '/ contained contains=VimwikiEqInCharT' + +execute 'syntax match VimwikiBold /'.vimwiki#vars#get_syntaxlocal('rxBold'). + \ '/ contains=VimwikiBoldChar,@Spell' +execute 'syntax match VimwikiBoldT /'.vimwiki#vars#get_syntaxlocal('rxBold'). + \ '/ contained contains=VimwikiBoldCharT,@Spell' + +execute 'syntax match VimwikiItalic /'.vimwiki#vars#get_syntaxlocal('rxItalic'). + \ '/ contains=VimwikiItalicChar,@Spell' +execute 'syntax match VimwikiItalicT /'.vimwiki#vars#get_syntaxlocal('rxItalic'). + \ '/ contained contains=VimwikiItalicCharT,@Spell' + +execute 'syntax match VimwikiBoldItalic /'.vimwiki#vars#get_syntaxlocal('rxBoldItalic'). + \ '/ contains=VimwikiBoldItalicChar,VimwikiItalicBoldChar,@Spell' +execute 'syntax match VimwikiBoldItalicT /'.vimwiki#vars#get_syntaxlocal('rxBoldItalic'). + \ '/ contained contains=VimwikiBoldItalicChatT,VimwikiItalicBoldCharT,@Spell' + +execute 'syntax match VimwikiItalicBold /'.vimwiki#vars#get_syntaxlocal('rxItalicBold'). + \ '/ contains=VimwikiBoldItalicChar,VimwikiItalicBoldChar,@Spell' +execute 'syntax match VimwikiItalicBoldT /'.vimwiki#vars#get_syntaxlocal('rxItalicBold'). + \ '/ contained contains=VimwikiBoldItalicCharT,VimsikiItalicBoldCharT,@Spell' + +execute 'syntax match VimwikiDelText /'.vimwiki#vars#get_syntaxlocal('rxDelText'). + \ '/ contains=VimwikiDelTextChar,@Spell' +execute 'syntax match VimwikiDelTextT /'.vimwiki#vars#get_syntaxlocal('rxDelText'). + \ '/ contained contains=VimwikiDelTextChar,@Spell' + +execute 'syntax match VimwikiSuperScript /'.vimwiki#vars#get_syntaxlocal('rxSuperScript'). + \ '/ contains=VimwikiSuperScriptChar,@Spell' +execute 'syntax match VimwikiSuperScriptT /'.vimwiki#vars#get_syntaxlocal('rxSuperScript'). + \ '/ contained contains=VimwikiSuperScriptCharT,@Spell' + +execute 'syntax match VimwikiSubScript /'.vimwiki#vars#get_syntaxlocal('rxSubScript'). + \ '/ contains=VimwikiSubScriptChar,@Spell' +execute 'syntax match VimwikiSubScriptT /'.vimwiki#vars#get_syntaxlocal('rxSubScript'). + \ '/ contained contains=VimwikiSubScriptCharT,@Spell' + +execute 'syntax match VimwikiCode /'.vimwiki#vars#get_syntaxlocal('rxCode'). + \ '/ contains=VimwikiCodeChar' +execute 'syntax match VimwikiCodeT /'.vimwiki#vars#get_syntaxlocal('rxCode'). + \ '/ contained contains=VimwikiCodeCharT' + + +"
horizontal rule +execute 'syntax match VimwikiHR /'.vimwiki#vars#get_syntaxlocal('rxHR').'/' + +execute 'syntax region VimwikiPre start=/'.vimwiki#vars#get_syntaxlocal('rxPreStart'). + \ '/ end=/'.vimwiki#vars#get_syntaxlocal('rxPreEnd').'/ contains=@Spell' + +execute 'syntax region VimwikiMath start=/'.vimwiki#vars#get_syntaxlocal('rxMathStart'). + \ '/ end=/'.vimwiki#vars#get_syntaxlocal('rxMathEnd').'/ contains=@Spell' + + +" placeholders +syntax match VimwikiPlaceholder /^\s*%nohtml\s*$/ +syntax match VimwikiPlaceholder + \ /^\s*%title\ze\%(\s.*\)\?$/ nextgroup=VimwikiPlaceholderParam skipwhite +syntax match VimwikiPlaceholder + \ /^\s*%date\ze\%(\s.*\)\?$/ nextgroup=VimwikiPlaceholderParam skipwhite +syntax match VimwikiPlaceholder + \ /^\s*%template\ze\%(\s.*\)\?$/ nextgroup=VimwikiPlaceholderParam skipwhite +syntax match VimwikiPlaceholderParam /.*/ contained + + +" html tags +if vimwiki#vars#get_global('valid_html_tags') != '' + let s:html_tags = join(split(vimwiki#vars#get_global('valid_html_tags'), '\s*,\s*'), '\|') + exe 'syntax match VimwikiHTMLtag #\c#' + execute 'syntax match VimwikiBold #\c.\{-}# contains=VimwikiHTMLTag' + execute 'syntax match VimwikiItalic #\c.\{-}# contains=VimwikiHTMLTag' + execute 'syntax match VimwikiUnderline #\c.\{-}# contains=VimwikiHTMLTag' + + execute 'syntax match VimwikiComment /'.vimwiki#vars#get_syntaxlocal('rxComment'). + \ '/ contains=@Spell,VimwikiTodo' +endif + +" tags +execute 'syntax match VimwikiTag /'.vimwiki#vars#get_syntaxlocal('rxTags').'/' + + + +" header groups highlighting +if vimwiki#vars#get_global('hl_headers') == 0 + " Strangely in default colorscheme Title group is not set to bold for cterm... + if !exists("g:colors_name") + hi Title cterm=bold + endif + for s:i in range(1,6) + execute 'hi def link VimwikiHeader'.s:i.' Title' + endfor +else + for s:i in range(1,6) + execute 'hi def VimwikiHeader'.s:i.' guibg=bg guifg=' + \ .vimwiki#vars#get_global('hcolor_guifg_'.&bg)[s:i-1].' gui=bold ctermfg=' + \ .vimwiki#vars#get_global('hcolor_ctermfg_'.&bg)[s:i-1].' term=bold cterm=bold' + endfor +endif + + + +hi def link VimwikiMarkers Normal + +hi def link VimwikiEqIn Number +hi def link VimwikiEqInT VimwikiEqIn + +hi def VimwikiBold term=bold cterm=bold gui=bold +hi def link VimwikiBoldT VimwikiBold + +hi def VimwikiItalic term=italic cterm=italic gui=italic +hi def link VimwikiItalicT VimwikiItalic + +hi def VimwikiBoldItalic term=bold cterm=bold gui=bold,italic +hi def link VimwikiItalicBold VimwikiBoldItalic +hi def link VimwikiBoldItalicT VimwikiBoldItalic +hi def link VimwikiItalicBoldT VimwikiBoldItalic + +hi def VimwikiUnderline gui=underline + +hi def link VimwikiCode PreProc +hi def link VimwikiCodeT VimwikiCode + +hi def link VimwikiPre PreProc +hi def link VimwikiPreT VimwikiPre + +hi def link VimwikiMath Number +hi def link VimwikiMathT VimwikiMath + +hi def link VimwikiNoExistsLink SpellBad +hi def link VimwikiNoExistsLinkT VimwikiNoExistsLink + +hi def link VimwikiLink Underlined +hi def link VimwikiLinkT VimwikiLink + +hi def link VimwikiList Identifier +hi def link VimwikiListTodo VimwikiList +hi def link VimwikiCheckBoxDone Comment +hi def link VimwikiHR Identifier +hi def link VimwikiTag Keyword + +hi def link VimwikiDelText Constant +hi def link VimwikiDelTextT VimwikiDelText + +hi def link VimwikiSuperScript Number +hi def link VimwikiSuperScriptT VimwikiSuperScript + +hi def link VimwikiSubScript Number +hi def link VimwikiSubScriptT VimwikiSubScript + +hi def link VimwikiTodo Todo +hi def link VimwikiComment Comment + +hi def link VimwikiPlaceholder SpecialKey +hi def link VimwikiPlaceholderParam String +hi def link VimwikiHTMLtag SpecialKey + +hi def link VimwikiEqInChar VimwikiMarkers +hi def link VimwikiCellSeparator VimwikiMarkers +hi def link VimwikiBoldChar VimwikiMarkers +hi def link VimwikiItalicChar VimwikiMarkers +hi def link VimwikiBoldItalicChar VimwikiMarkers +hi def link VimwikiItalicBoldChar VimwikiMarkers +hi def link VimwikiDelTextChar VimwikiMarkers +hi def link VimwikiSuperScriptChar VimwikiMarkers +hi def link VimwikiSubScriptChar VimwikiMarkers +hi def link VimwikiCodeChar VimwikiMarkers +hi def link VimwikiHeaderChar VimwikiMarkers + +hi def link VimwikiEqInCharT VimwikiMarkers +hi def link VimwikiBoldCharT VimwikiMarkers +hi def link VimwikiItalicCharT VimwikiMarkers +hi def link VimwikiBoldItalicCharT VimwikiMarkers +hi def link VimwikiItalicBoldCharT VimwikiMarkers +hi def link VimwikiDelTextCharT VimwikiMarkers +hi def link VimwikiSuperScriptCharT VimwikiMarkers +hi def link VimwikiSubScriptCharT VimwikiMarkers +hi def link VimwikiCodeCharT VimwikiMarkers +hi def link VimwikiHeaderCharT VimwikiMarkers +hi def link VimwikiLinkCharT VimwikiLinkT +hi def link VimwikiNoExistsLinkCharT VimwikiNoExistsLinkT + + +" Load syntax-specific functionality +call vimwiki#u#reload_regexes_custom() + + +" FIXME it now does not make sense to pretend there is a single syntax "vimwiki" +let b:current_syntax="vimwiki" + + +" EMBEDDED syntax setup +let s:nested = vimwiki#vars#get_wikilocal('nested_syntaxes') +if vimwiki#vars#get_wikilocal('automatic_nested_syntaxes') + let s:nested = extend(s:nested, vimwiki#base#detect_nested_syntax(), "keep") +endif +if !empty(s:nested) + for [s:hl_syntax, s:vim_syntax] in items(s:nested) + call vimwiki#base#nested_syntax(s:vim_syntax, + \ vimwiki#vars#get_syntaxlocal('rxPreStart').'\%(.*[[:blank:][:punct:]]\)\?'. + \ s:hl_syntax.'\%([[:blank:][:punct:]].*\)\?', + \ vimwiki#vars#get_syntaxlocal('rxPreEnd'), 'VimwikiPre') + endfor +endif + + +" LaTeX +call vimwiki#base#nested_syntax('tex', + \ vimwiki#vars#get_syntaxlocal('rxMathStart').'\%(.*[[:blank:][:punct:]]\)\?'. + \ '\%([[:blank:][:punct:]].*\)\?', + \ vimwiki#vars#get_syntaxlocal('rxMathEnd'), 'VimwikiMath') + + +syntax spell toplevel + diff --git a/vim/.vim/plugged/vimwiki/syntax/vimwiki_default.vim b/vim/.vim/plugged/vimwiki/syntax/vimwiki_default.vim new file mode 100644 index 0000000..1fcbdec --- /dev/null +++ b/vim/.vim/plugged/vimwiki/syntax/vimwiki_default.vim @@ -0,0 +1,110 @@ +" vim:tabstop=2:shiftwidth=2:expandtab:textwidth=99 +" Vimwiki syntax file +" Description: Defines default syntax +" Home: https://github.com/vimwiki/vimwiki/ + + +" s:default_syntax is kind of a reference to the dict in +" g:vimwiki_syntax_variables['default']. It is used here simply as an +" abbreviation for the latter. +let s:default_syntax = g:vimwiki_syntax_variables['default'] + + + +" text: $ equation_inline $ +let s:default_syntax.rxEqIn = '\$[^$`]\+\$' +let s:default_syntax.char_eqin = '\$' + +" text: *strong* +" let s:default_syntax.rxBold = '\*[^*]\+\*' +let s:default_syntax.rxBold = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'\*'. + \'\%([^*`[:space:]][^*`]*[^*`[:space:]]\|[^*`[:space:]]\)'. + \'\*'. + \'\%([[:punct:]]\|\s\|$\)\@=' +let s:default_syntax.char_bold = '*' + +" text: _emphasis_ +" let s:default_syntax.rxItalic = '_[^_]\+_' +let s:default_syntax.rxItalic = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'_'. + \'\%([^_`[:space:]][^_`]*[^_`[:space:]]\|[^_`[:space:]]\)'. + \'_'. + \'\%([[:punct:]]\|\s\|$\)\@=' +let s:default_syntax.char_italic = '_' + +" text: *_bold italic_* or _*italic bold*_ +let s:default_syntax.rxBoldItalic = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'\*_'. + \'\%([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`[:space:]]\)'. + \'_\*'. + \'\%([[:punct:]]\|\s\|$\)\@=' +let s:default_syntax.char_bolditalic = '\*_' + +let s:default_syntax.rxItalicBold = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'_\*'. + \'\%([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`[:space:]]\)'. + \'\*_'. + \'\%([[:punct:]]\|\s\|$\)\@=' +let s:default_syntax.char_italicbold = '_\*' + +" text: `code` +let s:default_syntax.rxCode = '`[^`]\+`' +let s:default_syntax.char_code = '`' + +" text: ~~deleted text~~ +let s:default_syntax.rxDelText = '\~\~[^~`]\+\~\~' +let s:default_syntax.char_deltext = '\~\~' + +" text: ^superscript^ +let s:default_syntax.rxSuperScript = '\^[^^`]\+\^' +let s:default_syntax.char_superscript = '^' + +" text: ,,subscript,, +let s:default_syntax.rxSubScript = ',,[^,`]\+,,' +let s:default_syntax.char_subscript = ',,' + +" generic headers +let s:default_syntax.rxH = '=' +let s:default_syntax.symH = 1 + + + +"
, horizontal rule +let s:default_syntax.rxHR = '^-----*$' + +" Tables. Each line starts and ends with '|'; each cell is separated by '|' +let s:default_syntax.rxTableSep = '|' + +" Lists +let s:default_syntax.bullet_types = ['-', '*', '#'] +" 1 means the bullets can be repeatet to indicate the level, like * ** *** +" 0 means the bullets stand on their own and the level is indicated by the indentation +let s:default_syntax.recurring_bullets = 0 +let s:default_syntax.number_types = ['1)', '1.', 'i)', 'I)', 'a)', 'A)'] +"this should contain at least one element +"it is used for i_ among other things +let s:default_syntax.list_markers = ['-', '1.', '*', 'I)', 'a)'] +let s:default_syntax.rxListDefine = '::\(\s\|$\)' + +" Preformatted text +let s:default_syntax.rxPreStart = '{{{' +let s:default_syntax.rxPreEnd = '}}}' + +" Math block +let s:default_syntax.rxMathStart = '{{\$' +let s:default_syntax.rxMathEnd = '}}\$' + +let s:default_syntax.rxComment = '^\s*%%.*$' +let s:default_syntax.rxTags = '\%(^\|\s\)\@<=:\%([^:''[:space:]]\+:\)\+\%(\s\|$\)\@=' + +let s:default_syntax.header_search = '^\s*\(=\{1,6}\)\([^=].*[^=]\)\1\s*$' +let s:default_syntax.header_match = '^\s*\(=\{1,6}\)=\@!\s*__Header__\s*\1=\@!\s*$' +let s:default_syntax.bold_search = '\%(^\|\s\|[[:punct:]]\)\@<=\*\zs\%([^*`[:space:]][^*`]*'. + \ '[^*`[:space:]]\|[^*`[:space:]]\)\ze\*\%([[:punct:]]\|\s\|$\)\@=' +let s:default_syntax.bold_match = '\%(^\|\s\|[[:punct:]]\)\@<=\*__Text__\*'. + \ '\%([[:punct:]]\|\s\|$\)\@=' +let s:default_syntax.wikilink = '\[\[\zs[^\\\]|]\+\ze\%(|[^\\\]]\+\)\?\]\]' +let s:default_syntax.tag_search = '\(^\|\s\)\zs:\([^:''[:space:]]\+:\)\+\ze\(\s\|$\)' +let s:default_syntax.tag_match = '\(^\|\s\):\([^:''[:space:]]\+:\)*__Tag__:'. + \ '\([^:[:space:]]\+:\)*\(\s\|$\)' diff --git a/vim/.vim/plugged/vimwiki/syntax/vimwiki_markdown.vim b/vim/.vim/plugged/vimwiki/syntax/vimwiki_markdown.vim new file mode 100644 index 0000000..5962699 --- /dev/null +++ b/vim/.vim/plugged/vimwiki/syntax/vimwiki_markdown.vim @@ -0,0 +1,104 @@ +" vim:tabstop=2:shiftwidth=2:expandtab:textwidth=99 +" Vimwiki syntax file +" Description: Defines markdown syntax +" Home: https://github.com/vimwiki/vimwiki/ + + +" see the comments in vimwiki_default.vim for some info about this file + + +let s:markdown_syntax = g:vimwiki_syntax_variables['markdown'] + +" text: $ equation_inline $ +let s:markdown_syntax.rxEqIn = '\$[^$`]\+\$' +let s:markdown_syntax.char_eqin = '\$' + +" text: *strong* +" let s:markdown_syntax.rxBold = '\*[^*]\+\*' +let s:markdown_syntax.rxBold = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'\*'. + \'\%([^*`[:space:]][^*`]*[^*`[:space:]]\|[^*`[:space:]]\)'. + \'\*'. + \'\%([[:punct:]]\|\s\|$\)\@=' +let s:markdown_syntax.char_bold = '*' + +" text: _emphasis_ +" let s:markdown_syntax.rxItalic = '_[^_]\+_' +let s:markdown_syntax.rxItalic = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'_'. + \'\%([^_`[:space:]][^_`]*[^_`[:space:]]\|[^_`[:space:]]\)'. + \'_'. + \'\%([[:punct:]]\|\s\|$\)\@=' +let s:markdown_syntax.char_italic = '_' + +" text: *_bold italic_* or _*italic bold*_ +let s:markdown_syntax.rxBoldItalic = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'\*_'. + \'\%([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`[:space:]]\)'. + \'_\*'. + \'\%([[:punct:]]\|\s\|$\)\@=' +let s:markdown_syntax.char_bolditalic = '\*_' + +let s:markdown_syntax.rxItalicBold = '\%(^\|\s\|[[:punct:]]\)\@<='. + \'_\*'. + \'\%([^*_`[:space:]][^*_`]*[^*_`[:space:]]\|[^*_`[:space:]]\)'. + \'\*_'. + \'\%([[:punct:]]\|\s\|$\)\@=' +let s:markdown_syntax.char_italicbold = '_\*' + +" text: `code` +let s:markdown_syntax.rxCode = '`[^`]\+`' +let s:markdown_syntax.char_code = '`' + +" text: ~~deleted text~~ +let s:markdown_syntax.rxDelText = '\~\~[^~`]\+\~\~' +let s:markdown_syntax.char_deltext = '\~\~' + +" text: ^superscript^ +let s:markdown_syntax.rxSuperScript = '\^[^^`]\+\^' +let s:markdown_syntax.char_superscript = '^' + +" text: ,,subscript,, +let s:markdown_syntax.rxSubScript = ',,[^,`]\+,,' +let s:markdown_syntax.char_subscript = ',,' + +" generic headers +let s:markdown_syntax.rxH = '#' +let s:markdown_syntax.symH = 0 + + + +"
, horizontal rule +let s:markdown_syntax.rxHR = '^-----*$' + +" Tables. Each line starts and ends with '|'; each cell is separated by '|' +let s:markdown_syntax.rxTableSep = '|' + +" Lists +let s:markdown_syntax.bullet_types = ['-', '*', '+'] +let s:markdown_syntax.recurring_bullets = 0 +let s:markdown_syntax.number_types = ['1.'] +let s:markdown_syntax.list_markers = ['-', '*', '+', '1.'] +let s:markdown_syntax.rxListDefine = '::\%(\s\|$\)' + +" Preformatted text +let s:markdown_syntax.rxPreStart = '```' +let s:markdown_syntax.rxPreEnd = '```' + +" Math block +let s:markdown_syntax.rxMathStart = '\$\$' +let s:markdown_syntax.rxMathEnd = '\$\$' + +let s:markdown_syntax.rxComment = '^\s*%%.*$\|' +let s:markdown_syntax.rxTags = '\%(^\|\s\)\@<=:\%([^:[:space:]]\+:\)\+\%(\s\|$\)\@=' + +let s:markdown_syntax.header_search = '^\s*\(#\{1,6}\)\([^#].*\)$' +let s:markdown_syntax.header_match = '^\s*\(#\{1,6}\)#\@!\s*__Header__\s*$' +let s:markdown_syntax.bold_search = '\%(^\|\s\|[[:punct:]]\)\@<=\*\zs'. + \ '\%([^*`[:space:]][^*`]*[^*`[:space:]]\|[^*`[:space:]]\)\ze\*\%([[:punct:]]\|\s\|$\)\@=' +let s:markdown_syntax.bold_match = '\%(^\|\s\|[[:punct:]]\)\@<=\*__Text__\*'. + \ '\%([[:punct:]]\|\s\|$\)\@=' +let s:markdown_syntax.wikilink = '\[\[\zs[^\\\]|]\+\ze\%(|[^\\\]]\+\)\?\]\]' +let s:markdown_syntax.tag_search = '\(^\|\s\)\zs:\([^:''[:space:]]\+:\)\+\ze\(\s\|$\)' +let s:markdown_syntax.tag_match = '\(^\|\s\):\([^:''[:space:]]\+:\)*__Tag__:'. + \ '\([^:[:space:]]\+:\)*\(\s\|$\)' diff --git a/vim/.vim/plugged/vimwiki/syntax/vimwiki_markdown_custom.vim b/vim/.vim/plugged/vimwiki/syntax/vimwiki_markdown_custom.vim new file mode 100644 index 0000000..46f3ce1 --- /dev/null +++ b/vim/.vim/plugged/vimwiki/syntax/vimwiki_markdown_custom.vim @@ -0,0 +1,194 @@ + + + + + + +function! s:add_target_syntax_ON(target, type) + let prefix0 = 'syntax match '.a:type.' `' + let suffix0 = '` display contains=@NoSpell,VimwikiLinkRest,'.a:type.'Char' + let prefix1 = 'syntax match '.a:type.'T `' + let suffix1 = '` display contained' + execute prefix0. a:target. suffix0 + execute prefix1. a:target. suffix1 +endfunction + + +function! s:add_target_syntax_OFF(target, type) + let prefix0 = 'syntax match VimwikiNoExistsLink `' + let suffix0 = '` display contains=@NoSpell,VimwikiLinkRest,'.a:type.'Char' + let prefix1 = 'syntax match VimwikiNoExistsLinkT `' + let suffix1 = '` display contained' + execute prefix0. a:target. suffix0 + execute prefix1. a:target. suffix1 +endfunction + + +function! s:wrap_wikilink1_rx(target) + return vimwiki#vars#get_syntaxlocal('rxWikiLink1InvalidPrefix') . a:target. + \ vimwiki#vars#get_syntaxlocal('rxWikiLink1InvalidSuffix') +endfunction + + +function! s:existing_mkd_refs() + return keys(vimwiki#markdown_base#scan_reflinks()) +endfunction + + +function! s:highlight_existing_links() + " Wikilink1 + " Conditional highlighting that depends on the existence of a wiki file or + " directory is only available for *schemeless* wiki links + " Links are set up upon BufEnter (see plugin/...) + let safe_links = '\%('. + \ vimwiki#base#file_pattern(vimwiki#vars#get_bufferlocal('existing_wikifiles')) . + \ '\%(#[^|]*\)\?\|#[^|]*\)' + " Wikilink1 Dirs set up upon BufEnter (see plugin/...) + let safe_dirs = vimwiki#base#file_pattern(vimwiki#vars#get_bufferlocal('existing_wikidirs')) + " Ref links are cached + let safe_reflinks = vimwiki#base#file_pattern(s:existing_mkd_refs()) + + + " match [URL][] + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_syntaxlocal('WikiLink1Template1')), + \ safe_links, vimwiki#vars#get_syntaxlocal('rxWikiLink1Descr'), '') + call s:add_target_syntax_ON(s:wrap_wikilink1_rx(target), 'VimwikiWikiLink1') + " match [DESCRIPTION][URL] + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_syntaxlocal('WikiLink1Template2')), + \ safe_links, vimwiki#vars#get_syntaxlocal('rxWikiLink1Descr'), '') + call s:add_target_syntax_ON(s:wrap_wikilink1_rx(target), 'VimwikiWikiLink1') + + " match [DIRURL][] + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_syntaxlocal('WikiLink1Template1')), + \ safe_dirs, vimwiki#vars#get_syntaxlocal('rxWikiLink1Descr'), '') + call s:add_target_syntax_ON(s:wrap_wikilink1_rx(target), 'VimwikiWikiLink1') + " match [DESCRIPTION][DIRURL] + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_syntaxlocal('WikiLink1Template2')), + \ safe_dirs, vimwiki#vars#get_syntaxlocal('rxWikiLink1Descr'), '') + call s:add_target_syntax_ON(s:wrap_wikilink1_rx(target), 'VimwikiWikiLink1') + + " match [MKDREF][] + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_syntaxlocal('WikiLink1Template1')), + \ safe_reflinks, vimwiki#vars#get_syntaxlocal('rxWikiLink1Descr'), '') + call s:add_target_syntax_ON(s:wrap_wikilink1_rx(target), 'VimwikiWikiLink1') + " match [DESCRIPTION][MKDREF] + let target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_syntaxlocal('WikiLink1Template2')), + \ safe_reflinks, vimwiki#vars#get_syntaxlocal('rxWikiLink1Descr'), '') + call s:add_target_syntax_ON(s:wrap_wikilink1_rx(target), 'VimwikiWikiLink1') +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_syntaxlocal('rxWikiLink1'), 'VimwikiWikiLink1') + + " Subsequently, links verified on vimwiki's path are highlighted as existing + call s:highlight_existing_links() +else + " Wikilink + call s:add_target_syntax_ON(vimwiki#vars#get_syntaxlocal('rxWikiLink1'), 'VimwikiWikiLink1') +endif + + +" Weblink +call s:add_target_syntax_ON(vimwiki#vars#get_syntaxlocal('rxWeblink1'), 'VimwikiWeblink1') + + +" WikiLink +" All remaining schemes are highlighted automatically +let s:rxSchemes = '\%('. + \ vimwiki#vars#get_global('schemes') . '\|'. + \ vimwiki#vars#get_global('web_schemes1'). + \ '\):' + +" a) match [nonwiki-scheme-URL] +let s:target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_syntaxlocal('WikiLink1Template1')), + \ s:rxSchemes . vimwiki#vars#get_syntaxlocal('rxWikiLink1Url'), + \ vimwiki#vars#get_syntaxlocal('rxWikiLink1Descr'), '') +call s:add_target_syntax_ON(s:wrap_wikilink1_rx(s:target), 'VimwikiWikiLink1') +" b) match [DESCRIPTION][nonwiki-scheme-URL] +let s:target = vimwiki#base#apply_template( + \ vimwiki#u#escape(vimwiki#vars#get_syntaxlocal('WikiLink1Template2')), + \ s:rxSchemes . vimwiki#vars#get_syntaxlocal('rxWikiLink1Url'), + \ vimwiki#vars#get_syntaxlocal('rxWikiLink1Descr'), '') +call s:add_target_syntax_ON(s:wrap_wikilink1_rx(s:target), 'VimwikiWikiLink1') + + + +" Header levels, 1-6 +for s:i in range(1,6) + execute 'syntax match VimwikiHeader'.s:i.' /'.vimwiki#vars#get_syntaxlocal('rxH'.s:i). + \ '/ contains=VimwikiTodo,VimwikiHeaderChar,VimwikiNoExistsLink,VimwikiCode,'. + \ 'VimwikiLink,VimwikiWeblink1,VimwikiWikiLink1,@Spell' +endfor + + + +" concealed chars +if exists("+conceallevel") + syntax conceal on +endif + +syntax spell toplevel + +" VimwikiWikiLink1Char is for syntax markers (and also URL when a description +" is present) and may be concealed +let s:options = ' contained transparent contains=NONE' +" conceal wikilink1 +execute 'syn match VimwikiWikiLink1Char /'. + \ vimwiki#vars#get_syntaxlocal('rx_wikilink_md_prefix').'/'.s:options +execute 'syn match VimwikiWikiLink1Char /'. + \ vimwiki#vars#get_syntaxlocal('rx_wikilink_md_suffix').'/'.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 "'. + \ vimwiki#vars#get_syntaxlocal('rxWeblink1Prefix1').'"'.s:options +execute 'syn match VimwikiWeblink1Char "'. + \ vimwiki#vars#get_syntaxlocal('rxWeblink1Suffix1').'"'.s:options + +if exists("+conceallevel") + syntax conceal off +endif + + + +" Tables +syntax match VimwikiTableRow /^\s*|.\+|\s*$/ + \ transparent contains=VimwikiCellSeparator, + \ VimwikiLinkT, + \ VimwikiWeblink1T, + \ VimwikiWikiLink1T, + \ VimwikiNoExistsLinkT, + \ VimwikiTodo, + \ VimwikiBoldT, + \ VimwikiItalicT, + \ VimwikiBoldItalicT, + \ VimwikiItalicBoldT, + \ VimwikiDelTextT, + \ VimwikiSuperScriptT, + \ VimwikiSubScriptT, + \ VimwikiCodeT, + \ VimwikiEqInT, + \ @Spell + + + +" syntax group highlighting +hi def link VimwikiWeblink1 VimwikiLink +hi def link VimwikiWeblink1T VimwikiLink + +hi def link VimwikiWikiLink1 VimwikiLink +hi def link VimwikiWikiLink1T VimwikiLink + diff --git a/vim/.vim/plugged/vimwiki/syntax/vimwiki_media.vim b/vim/.vim/plugged/vimwiki/syntax/vimwiki_media.vim new file mode 100644 index 0000000..6287c7c --- /dev/null +++ b/vim/.vim/plugged/vimwiki/syntax/vimwiki_media.vim @@ -0,0 +1,85 @@ +" vim:tabstop=2:shiftwidth=2:expandtab:textwidth=99 +" Vimwiki syntax file +" Description: Defines mediaWiki syntax +" Home: https://github.com/vimwiki/vimwiki/ + + +" see the comments in vimwiki_default.vim for some info about this file + + +let s:media_syntax = g:vimwiki_syntax_variables['media'] + +" text: $ equation_inline $ +let s:media_syntax.rxEqIn = '\$[^$`]\+\$' +let s:media_syntax.char_eqin = '\$' + +" text: '''strong''' +let s:media_syntax.rxBold = "'''[^']\\+'''" +let s:media_syntax.char_bold = "'''" + +" text: ''emphasis'' +let s:media_syntax.rxItalic = "''[^']\\+''" +let s:media_syntax.char_italic = "''" + +" text: '''''strong italic''''' +let s:media_syntax.rxBoldItalic = "'''''[^']\\+'''''" +let s:media_syntax.rxItalicBold = s:media_syntax.rxBoldItalic +let s:media_syntax.char_bolditalic = "'''''" +let s:media_syntax.char_italicbold = s:media_syntax.char_bolditalic + +" text: `code` +let s:media_syntax.rxCode = '`[^`]\+`' +let s:media_syntax.char_code = '`' + +" text: ~~deleted text~~ +let s:media_syntax.rxDelText = '\~\~[^~]\+\~\~' +let s:media_syntax.char_deltext = '\~\~' + +" text: ^superscript^ +let s:media_syntax.rxSuperScript = '\^[^^]\+\^' +let s:media_syntax.char_superscript = '^' + +" text: ,,subscript,, +let s:media_syntax.rxSubScript = ',,[^,]\+,,' +let s:media_syntax.char_subscript = ',,' + +" generic headers +let s:media_syntax.rxH = '=' +let s:media_syntax.symH = 1 + + + +"
, horizontal rule +let s:media_syntax.rxHR = '^-----*$' + +" Tables. Each line starts and ends with '|'; each cell is separated by '|' +let s:media_syntax.rxTableSep = '|' + +" Lists +let s:media_syntax.bullet_types = ['*', '#'] +let s:media_syntax.recurring_bullets = 1 +let s:media_syntax.number_types = [] +let s:media_syntax.list_markers = ['*', '#'] +let s:media_syntax.rxListDefine = '^\%(;\|:\)\s' + +" Preformatted text +let s:media_syntax.rxPreStart = '
'
+let s:media_syntax.rxPreEnd = '<\/pre>'
+
+" Math block
+let s:media_syntax.rxMathStart = '{{\$'
+let s:media_syntax.rxMathEnd = '}}\$'
+
+let s:media_syntax.rxComment = '^\s*%%.*$'
+let s:media_syntax.rxTags = '\%(^\|\s\)\@<=:\%([^:[:space:]]\+:\)\+\%(\s\|$\)\@='
+
+let s:media_syntax.header_search = '^\s*\(=\{1,6}\)\([^=].*[^=]\)\1\s*$'
+let s:media_syntax.header_match = '^\s*\(=\{1,6}\)=\@!\s*__Header__\s*\1=\@!\s*$'
+let s:media_syntax.bold_search = "'''\\zs[^']\\+\\ze'''"
+let s:media_syntax.bold_match = '''''''__Text__'''''''
+" ^- this strange looking thing is equivalent to "'''__Text__'''" but since we later
+" want to call escape() on this string, we must keep it in single quotes
+let s:media_syntax.wikilink = '\[\[\zs[^\\\]|]\+\ze\%(|[^\\\]]\+\)\?\]\]'
+let s:media_syntax.tag_search = '\(^\|\s\)\zs:\([^:''[:space:]]\+:\)\+\ze\(\s\|$\)'
+let s:media_syntax.tag_match = '\(^\|\s\):\([^:''[:space:]]\+:\)*__Tag__:'.
+      \ '\([^:[:space:]]\+:\)*\(\s\|$\)'
-- 
cgit v1.2.3