X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/b4f391e58fdad59cd71caf63cbbed0f4be058f51..3c2de6634dee38d4e4085b709442a2dff213c1ea:/mkd.vim?ds=sidebyside diff --git a/mkd.vim b/mkd.vim index 3fe2a40..c6ea381 100644 --- a/mkd.vim +++ b/mkd.vim @@ -2,12 +2,11 @@ " Language: Markdown " Maintainer: Ben Williams " URL: http://plasticboy.com/markdown-vim-mode/ -" Version: 8 -" Last Change: 2008 April 29 +" Version: 9 +" Last Change: 2009 May 18 " Remark: Uses HTML syntax file " Remark: I don't do anything with angle brackets (<>) because that would too easily " easily conflict with HTML syntax -" TODO: Do something appropriate with image syntax " TODO: Handle stuff contained within stuff (e.g. headings within blockquotes) @@ -41,9 +40,22 @@ syn region htmlBold start=/\\\@) +syn region mkdLinkDef matchgroup=mkdDelimiter start="^ \{,3}\zs\[" end="]:" oneline nextgroup=mkdLinkDefTarget skipwhite +syn region mkdLinkDefTarget start="<\?\zs\S" excludenl end="\ze[>[:space:]\n]" contained nextgroup=mkdLinkTitle,mkdLinkDef skipwhite skipnl oneline +syn region mkdLinkTitle matchgroup=mkdDelimiter start=+"+ end=+"+ contained +syn region mkdLinkTitle matchgroup=mkdDelimiter start=+'+ end=+'+ contained +syn region mkdLinkTitle matchgroup=mkdDelimiter start=+(+ end=+)+ contained "define Markdown groups syn match mkdLineContinue ".$" contained @@ -72,6 +84,27 @@ 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 + + + "highlighting for Markdown groups HtmlHiLink mkdString String HtmlHiLink mkdCode String @@ -80,6 +113,15 @@ HtmlHiLink mkdLineContinue Comment HtmlHiLink mkdListItem Identifier HtmlHiLink mkdRule Identifier HtmlHiLink mkdLineBreak Todo +HtmlHiLink mkdLink htmlLink +HtmlHiLink mkdURL htmlString +HtmlHiLink mkdInlineURL htmlLink +HtmlHiLink mkdID Identifier +HtmlHiLink mkdLinkDef mkdID +HtmlHiLink mkdLinkDefTarget mkdURL +HtmlHiLink mkdLinkTitle htmlString + +HtmlHiLink mkdDelimiter Delimiter let b:current_syntax = "mkd"