@@ -86,12 +86,12 @@ syn region mkdLinkTitle matchgroup=mkdDelimiter start=+'+ end=+'+ contained
8686syn region mkdLinkTitle matchgroup =mkdDelimiter start =+ (+ end =+ )+ contained
8787
8888" HTML headings
89- syn region htmlH1 matchgroup =mkdHeading start =" ^\s *#" end =" $" contains =mkdLink,mkdInlineURL,@Spell
90- syn region htmlH2 matchgroup =mkdHeading start =" ^\s *##" end =" $" contains =mkdLink,mkdInlineURL,@Spell
91- syn region htmlH3 matchgroup =mkdHeading start =" ^\s *###" end =" $" contains =mkdLink,mkdInlineURL,@Spell
92- syn region htmlH4 matchgroup =mkdHeading start =" ^\s *####" end =" $" contains =mkdLink,mkdInlineURL,@Spell
93- syn region htmlH5 matchgroup =mkdHeading start =" ^\s *#####" end =" $" contains =mkdLink,mkdInlineURL,@Spell
94- syn region htmlH6 matchgroup =mkdHeading start =" ^\s *######" end =" $" contains =mkdLink,mkdInlineURL,@Spell
89+ syn region htmlH1 matchgroup =mkdHeading start =" ^\s *#" end =" $" contains =mkdEscape, mkdLink,mkdInlineURL,@Spell
90+ syn region htmlH2 matchgroup =mkdHeading start =" ^\s *##" end =" $" contains =mkdEscape, mkdLink,mkdInlineURL,@Spell
91+ syn region htmlH3 matchgroup =mkdHeading start =" ^\s *###" end =" $" contains =mkdEscape, mkdLink,mkdInlineURL,@Spell
92+ syn region htmlH4 matchgroup =mkdHeading start =" ^\s *####" end =" $" contains =mkdEscape, mkdLink,mkdInlineURL,@Spell
93+ syn region htmlH5 matchgroup =mkdHeading start =" ^\s *#####" end =" $" contains =mkdEscape, mkdLink,mkdInlineURL,@Spell
94+ syn region htmlH6 matchgroup =mkdHeading start =" ^\s *######" end =" $" contains =mkdEscape, mkdLink,mkdInlineURL,@Spell
9595syn match htmlH1 / ^.\+\n =\+ $/ contains =mkdLink,mkdInlineURL,@Spell
9696syn match htmlH2 / ^.\+\n -\+ $/ contains =mkdLink,mkdInlineURL,@Spell
9797
@@ -116,6 +116,9 @@ syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*\(\*\|\s\)*$/
116116syn match mkdRule / ^\s *-\s\{ 0,1}-\s\{ 0,1}-\( -\|\s\) *$/
117117syn match mkdRule / ^\s *_\s\{ 0,1}_\s\{ 0,1}_\( _\|\s\) *$/
118118
119+ syntax region mkdEscape matchgroup =mkdEscape start =/ \\\z e[\\\x 60*{}\[\] ()#+\- ,.!_>~|"$%&'\/ :;<=?@^]/ end =/ .\z s/ keepend contains =mkdEscapeCh contained oneline concealends
120+ syntax match mkdEscapeCh / ./ contained
121+
119122" YAML frontmatter
120123if get (g: , ' vim_markdown_frontmatter' , 0 )
121124 syn include @yamlTop syntax/yaml.vim
@@ -155,7 +158,7 @@ if get(g:, 'vim_markdown_strikethrough', 0)
155158 HtmlHiLink mkdStrike htmlStrike
156159endif
157160
158- syn cluster mkdNonListItem contains =@htmlTop,htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdInlineURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,mkdMath,mkdStrike
161+ syn cluster mkdNonListItem contains =@htmlTop,htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdInlineURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,mkdMath,mkdStrike,mkdEscape
159162
160163" highlighting for Markdown groups
161164HtmlHiLink mkdString String
@@ -177,6 +180,7 @@ HtmlHiLink mkdLinkDef mkdID
177180HtmlHiLink mkdLinkDefTarget mkdURL
178181HtmlHiLink mkdLinkTitle htmlString
179182HtmlHiLink mkdDelimiter Delimiter
183+ HtmlHiLink mkdEscape Special
180184
181185let b: current_syntax = " mkd"
182186
0 commit comments