X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/b4f391e58fdad59cd71caf63cbbed0f4be058f51..d049d36988e5799b5ee112d45b7a9a3e0019fdf4:/mkd.vim?ds=inline diff --git a/mkd.vim b/mkd.vim index 3fe2a40..189c721 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,19 @@ 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 +81,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 +110,14 @@ HtmlHiLink mkdLineContinue Comment HtmlHiLink mkdListItem Identifier HtmlHiLink mkdRule Identifier HtmlHiLink mkdLineBreak Todo +HtmlHiLink mkdLink htmlLink +HtmlHiLink mkdURL htmlString +HtmlHiLink mkdID Identifier +HtmlHiLink mkdLinkDef mkdID +HtmlHiLink mkdLinkDefTarget mkdURL +HtmlHiLink mkdLinkTitle htmlString + +HtmlHiLink mkdDelimiter Delimiter let b:current_syntax = "mkd"