From: Ciro Santilli Date: Fri, 5 Sep 2014 23:17:14 +0000 (+0200) Subject: Highlight angle braced hyperlinks. X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/028e1faf98a73d8a39939aebdb1c25ba0ef0447a?ds=inline Highlight angle braced hyperlinks. Also fix autolinks without angle braces which were not being highlighted on top level. --- diff --git a/syntax/mkd.vim b/syntax/mkd.vim index eb87165..4dc8a49 100644 --- a/syntax/mkd.vim +++ b/syntax/mkd.vim @@ -5,8 +5,6 @@ " 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: Handle stuff contained within stuff (e.g. headings within blockquotes) @@ -51,12 +49,16 @@ syn region mkdFootnotes matchgroup=mkdDelimiter start="\[^" end="\]" syn region mkdID matchgroup=mkdDelimiter start="\[" end="\]" contained oneline syn region mkdURL matchgroup=mkdDelimiter start="(" end=")" contained oneline syn region mkdLink matchgroup=mkdDelimiter start="\\\@ ]*>\)\@=" end=">" + " Link definitions: [id]: URL (Optional Title) -" TODO handle automatic links without colliding with htmlTag () 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 @@ -99,14 +101,14 @@ if get(g:, 'vim_markdown_math', 0) syn region mkdMath matchgroup=mkdDelimiter start="\\\@ c + +Execute (autolink): + AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' + AssertEqual SyntaxOf('<'), 'mkdDelimiter' + AssertEqual SyntaxOf('b'), 'mkdInlineURL' + AssertEqual SyntaxOf('>'), 'mkdDelimiter' + AssertNotEqual SyntaxOf('c'), 'mkdInlineURL' + +Given mkd; + + +Execute (autolink with scheme case is insensitive): + AssertEqual SyntaxOf('a'), 'mkdInlineURL' + +Given mkd; + + +Execute (autolink without known scheme is not a link): + AssertNotEqual SyntaxOf('n'), 'mkdInlineURL' + +Given mkd; + + +Execute (autolink without scheme is not a link): + AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' + +Given mkd; +< http://a > + + + +Execute (autolink with space is not a link): + AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' + AssertNotEqual SyntaxOf('b'), 'mkdInlineURL' + AssertNotEqual SyntaxOf('c'), 'mkdInlineURL' + AssertNotEqual SyntaxOf('d'), 'mkdInlineURL' + AssertNotEqual SyntaxOf('e'), 'mkdInlineURL' + +Given mkd; +\ + +Execute (autolinks can be backslash escaped): + AssertNotEqual SyntaxOf('<'), 'mkdDelimiter' + # Math Given mkd;