[a](b) c [d](e)
Execute (multiple links on a line):
- AssertEqual SyntaxOf('c'), ''
+ AssertNotEqual SyntaxOf('c'), 'mkdLink'
+ AssertNotEqual SyntaxOf('c'), 'mkdURL'
# Autolinks
Execute (autolinks can be backslash escaped):
AssertNotEqual SyntaxOf('<'), 'mkdDelimiter'
+Given markdown;
+a (http://b.bb) c
+
+Execute (autolink in parenthesis):
+ AssertNotEqual SyntaxOf('a'), 'mkdInlineURL'
+ AssertEqual SyntaxOf('('), 'mkdDelimiter'
+ AssertEqual SyntaxOf('b'), 'mkdInlineURL'
+ AssertEqual SyntaxOf(')'), 'mkdDelimiter'
+ AssertNotEqual SyntaxOf('c'), 'mkdInlineURL'
+
+Given markdown;
+[![a](http://b)](http://c)
+
+Execute (autolink in link text):
+ AssertEqual SyntaxOf('!'), 'mkdDelimiter'
+ AssertEqual SyntaxOf('a'), 'mkdLink'
+ AssertEqual SyntaxOf('b'), 'mkdURL'
+ AssertEqual SyntaxOf('c'), 'mkdURL'
+
# Code Blocks
Given markdown;
Execute (code blocks can have a language specifier):
AssertEqual SyntaxOf('c'), 'mkdCode'
+Given markdown;
+```c++
+code
+```
+
+text
+
+Execute (code blocks can be fenced with backticks and a language specifier):
+ AssertEqual SyntaxOf('code'), 'mkdCode'
+ AssertNotEqual SyntaxOf('text'), 'mkdCode'
+
+# Indent Code Blocks
+
+Given markdown;
+a
+
+ b
+ c
+
+Execute (indent code blocks):
+ AssertNotEqual SyntaxOf('a'), 'mkdCode'
+ AssertEqual SyntaxOf('b'), 'mkdCode'
+ AssertEqual SyntaxOf('c'), 'mkdCode'
+
+Given markdown;
+# a
+
+b
+
+ c
+
+Execute (indent code blocks after header):
+ AssertNotEqual SyntaxOf('a'), 'mkdCode'
+ AssertNotEqual SyntaxOf('b'), 'mkdCode'
+ AssertEqual SyntaxOf('c'), 'mkdCode'
+
+Given markdown;
+- a
+
+ b
+
+ c
+
+Execute (indent code blocks after list):
+ AssertNotEqual SyntaxOf('a'), 'mkdCode'
+ AssertNotEqual SyntaxOf('b'), 'mkdCode'
+ AssertEqual SyntaxOf('c'), 'mkdCode'
+
# Math
Given markdown;
Given markdown;
$ \sqrt{a}{b} $
-$$ \sqrt{a}{b} $$
+$$ \frac{a}{b} $$
Execute (math tex highlighting):
let g:vim_markdown_math=0
syn off | syn on
- AssertNotEqual SyntaxOf('a'), 'texMatcher'
+ AssertNotEqual SyntaxOf('sqrt'), 'texStatement'
+ AssertNotEqual SyntaxOf('frac'), 'texStatement'
let g:vim_markdown_math=1
syn off | syn on
- AssertEqual SyntaxOf('a'), 'texMatcher'
+ AssertEqual SyntaxOf('sqrt'), 'texStatement'
+ AssertEqual SyntaxOf('frac'), 'texStatement'
# YAML frontmatter
Execute (header title starts with #):
AssertEqual SyntaxOf('a'), 'htmlH1'
AssertEqual SyntaxOf('b'), 'htmlH2'
+
+# List
+
+Given markdown;
+- a & b
+1. c > d
+
+Execute (& and > are not marked as htmlError in lists):
+ AssertEqual SyntaxOf('-'), 'mkdListItem'
+ AssertEqual SyntaxOf('1.'), 'mkdListItem'
+ AssertNotEqual SyntaxOf('&'), 'htmlError'
+ AssertNotEqual SyntaxOf('>'), 'htmlError'
+
+# HTML
+
+Given markdown;
+a
+
+<p>b</p>
+
+- <span>c</span>
+
+Execute (HTML tag in text):
+ AssertEqual SyntaxOf('p'), 'htmlTagName'
+ AssertEqual SyntaxOf('<p>'), 'htmlTag'
+ AssertEqual SyntaxOf('</p>'), 'htmlEndTag'
+ AssertEqual SyntaxOf('span'), 'htmlTagName'
+ AssertEqual SyntaxOf('<span>'), 'htmlTag'
+ AssertEqual SyntaxOf('</span>'), 'htmlEndTag'