syn region mkdLinkTitle matchgroup=mkdDelimiter start=+(+ end=+)+ contained
"HTML headings
-syn region htmlH1 start="^\s*#" end="$" contains=@Spell
-syn region htmlH2 start="^\s*##" end="$" contains=@Spell
-syn region htmlH3 start="^\s*###" end="$" contains=@Spell
-syn region htmlH4 start="^\s*####" end="$" contains=@Spell
-syn region htmlH5 start="^\s*#####" end="$" contains=@Spell
-syn region htmlH6 start="^\s*######" end="$" contains=@Spell
-syn match htmlH1 /^.\+\n=\+$/ contains=@Spell
-syn match htmlH2 /^.\+\n-\+$/ contains=@Spell
+syn region htmlH1 start="^\s*#" end="$" contains=mkdLink,mkdInlineURL,@Spell
+syn region htmlH2 start="^\s*##" end="$" contains=mkdLink,mkdInlineURL,@Spell
+syn region htmlH3 start="^\s*###" end="$" contains=mkdLink,mkdInlineURL,@Spell
+syn region htmlH4 start="^\s*####" end="$" contains=mkdLink,mkdInlineURL,@Spell
+syn region htmlH5 start="^\s*#####" end="$" contains=mkdLink,mkdInlineURL,@Spell
+syn region htmlH6 start="^\s*######" end="$" contains=mkdLink,mkdInlineURL,@Spell
+syn match htmlH1 /^.\+\n=\+$/ contains=mkdLink,mkdInlineURL,@Spell
+syn match htmlH2 /^.\+\n-\+$/ contains=mkdLink,mkdInlineURL,@Spell
"define Markdown groups
syn match mkdLineBreak / \+$/
-syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLineBreak,@Spell
+syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLink,mkdInlineURL,mkdLineBreak,@Spell
syn region mkdCode start=/\(\([^\\]\|^\)\\\)\@<!`/ end=/\(\([^\\]\|^\)\\\)\@<!`/
syn region mkdCode start=/\s*``[^`]*/ end=/[^`]*``\s*/
syn region mkdCode start=/^\s*\z(`\{3,}\)[^`]*$/ end=/^\s*\z1`*\s*$/
syn match mkdCode /^\s*\n\(\(\s\{8,}[^ ]\|\t\t\+[^\t]\).*\n\)\+/
syn match mkdCode /\%^\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/
syn match mkdCode /^\s*\n\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ contained
-syn match mkdListItem /^\s*\%([-*+]\|\d\+\.\)\s\+/ contained
+syn match mkdListItem /^\s*\%([-*+]\|\d\+\.\)\ze\s\+/ contained
syn region mkdListItemLine start="^\s*\%([-*+]\|\d\+\.\)\s\+" end="$" oneline contains=@mkdNonListItem,mkdListItem,@Spell
syn region mkdNonListItemBlock start="\(\%^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@!\|\n\(\_^\_$\|\s\{4,}[^ ]\|\t+[^\t]\)\@!\)" end="^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@=" contains=@mkdNonListItem,@Spell
syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*$/