X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/2696640fa9dfaebd50195b243469fe2e3c8c0cc1..132a26e5a7a3ee2ae95b6b37dc49809a4b22ece5:/syntax/mkd.vim?ds=sidebyside diff --git a/syntax/mkd.vim b/syntax/mkd.vim index 5232e02..68499f9 100644 --- a/syntax/mkd.vim +++ b/syntax/mkd.vim @@ -36,15 +36,18 @@ syn case ignore syn sync linebreaks=1 "additions to HTML groups -syn region htmlBold start=/\\\@/ end=/$/ contains=mkdLineBreak,mkdLineContinue,@Spell -syn region mkdCode start="]*>" end="" -syn region mkdCode start="]*>" end="" +syn match mkdLineBreak / \+$/ +syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLineBreak,mkdLineContinue,@Spell +syn region mkdCode start=/\(\([^\\]\|^\)\\\)\@]*>" end="" +syn region mkdCode start="]*>" end="" +syn region mkdFootnote start="\[^" end="\]" +syn match mkdCode /^\s*\n\(\(\s\{8,}[^ ]\|\t\t\+[^\t]\).*\n\)\+/ +syn match mkdIndentCode /^\s*\n\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ contained +syn match mkdListItem "^\s*[-*+]\s\+" +syn match mkdListItem "^\s*\d\+\.\s\+" +syn region mkdNonListItemBlock start="\n\(\_^\_$\|\s\{4,}[^ ]\|\t+[^\t]\)\@!" end="^\(\s*[-*+]\s\+\)\@=" contains=@mkdNonListItem +syn region mkdNonListItemBlock start="\n\(\_^\_$\|\s\{4,}[^ ]\|\t+[^\t]\)\@!" end="^\(\s*\d\+\.\s\+\)\@=" contains=@mkdNonListItem +syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*$/ +syn match mkdRule /^\s*-\s\{0,1}-\s\{0,1}-$/ +syn match mkdRule /^\s*_\s\{0,1}_\s\{0,1}_$/ +syn match mkdRule /^\s*-\{3,}$/ +syn match mkdRule /^\s*\*\{3,5}$/ "HTML headings syn region htmlH1 start="^\s*#" end="\($\|#\+\)" contains=@Spell @@ -84,35 +92,19 @@ syn region htmlH6 start="^\s*######" end="\($\|#\+\)" contain syn match htmlH1 /^.\+\n=\+$/ contains=@Spell syn match htmlH2 /^.\+\n-\+$/ contains=@Spell - - -" fold region for headings -syn region mkdHeaderFold - \ start="^\s*\z(#\+\)" - \ skip="^\s*\z1#\+" - \ end="^\(\s*#\)\@=" - \ fold contains=TOP - -" fold region for lists -syn region mkdListFold - \ start="^\z(\s*\)\*\z(\s*\)" - \ skip="^\z1 \z2\s*[^#]" - \ end="^\(.\)\@=" - \ fold contains=TOP - -syn sync fromstart -setlocal foldmethod=syntax - - +syn cluster mkdNonListItem contains=htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdID,mkdURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdIndentCode,mkdListItem,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6 "highlighting for Markdown groups HtmlHiLink mkdString String HtmlHiLink mkdCode String +HtmlHiLink mkdIndentCode String +HtmlHiLink mkdFootnote Comment HtmlHiLink mkdBlockquote Comment HtmlHiLink mkdLineContinue Comment HtmlHiLink mkdListItem Identifier HtmlHiLink mkdRule Identifier HtmlHiLink mkdLineBreak Todo +HtmlHiLink mkdFootnotes htmlLink HtmlHiLink mkdLink htmlLink HtmlHiLink mkdURL htmlString HtmlHiLink mkdInlineURL htmlLink