" Customize highlight groups hi link markdownCode Special hi link markdownCodeDelimiter PreProc hi link markdownHeadingDelimiter PreProc hi link markdownLinkDelimiter PreProc hi link markdownLinkTextDelimiter PreProc hi link markdownUrl Include " Add match for GitHub style check boxes syn match markdownCheckboxTick '\[\zsx\ze\]' contained syn match markdownCheckboxDelimiter '\[[ x]\]' contained contains=markdownCheckboxTick syn match markdownCheckbox '\s*\* \[[ x]\] ' contains=markdownCheckboxDelimiter,markdownListMarker syn region markdownCheckboxDone start='\s*\* \ze\[x\] ' keepend end='\ze\(\n^\s*\*\|\n^\s*\n\)' contains=markdownCheckbox,@markdownCheckboxDoneInline if has('conceal') && get(g:, 'markdown_syntax_conceal', 1) == 1 let s:concealends = ' concealends' endif exe 'syn region markdownCheckboxItalic matchgroup=markdownCheckboxItalicDelimiter start="\S\@<=\*\|\*\S\@=" end="\S\@<=\*\|\*\S\@=" keepend contains=markdownLineStart,@Spell contained' . s:concealends exe 'syn region markdownCheckboxItalic matchgroup=markdownCheckboxItalicDelimiter start="\S\@<=_\|_\S\@=" end="\S\@<=_\|_\S\@=" keepend contains=markdownLineStart,@Spell contained' . s:concealends exe 'syn region markdownCheckboxBold matchgroup=markdownCheckboxBoldDelimiter start="\S\@<=\*\*\|\*\*\S\@=" end="\S\@<=\*\*\|\*\*\S\@=" keepend contains=markdownLineStart,markdownItalic,@Spell contained' . s:concealends exe 'syn region markdownCheckboxBold matchgroup=markdownCheckboxBoldDelimiter start="\S\@<=__\|__\S\@=" end="\S\@<=__\|__\S\@=" keepend contains=markdownLineStart,markdownItalic,@Spell contained' . s:concealends exe 'syn region markdownCheckboxBoldItalic matchgroup=markdownCheckboxBoldItalicDelimiter start="\S\@<=\*\*\*\|\*\*\*\S\@=" end="\S\@<=\*\*\*\|\*\*\*\S\@=" keepend contains=markdownLineStart,@Spell contained' . s:concealends exe 'syn region markdownCheckboxBoldItalic matchgroup=markdownCheckboxBoldItalicDelimiter start="\S\@<=___\|___\S\@=" end="\S\@<=___\|___\S\@=" keepend contains=markdownLineStart,@Spell contained' . s:concealends syn region markdownCheckboxCode matchgroup=markdownCheckboxCodeDelimiter start="`" end="`" keepend contains=markdownLineStart contained syn region markdownCheckboxCode matchgroup=markdownCheckboxCodeDelimiter start="`` \=" end=" \=``" keepend contains=markdownLineStart contained syn cluster markdownInline contains=markdownLineBreak,markdownLinkText,markdownItalic,markdownBold,markdownCode,markdownEscape,@htmlTop,markdownError syn cluster markdownCheckboxDoneInline contains=markdownLineBreak,markdownLinkText,markdownCheckboxItalic,markdownCheckboxBold,markdownCheckboxBoldItalic,markdownCheckboxCode,markdownEscape,@htmlTop,markdownError hi link markdownCheckboxTick markdownListMarker hi link markdownCheckboxDelimiter PreProc hi link markdownCheckboxDone Comment call CloneHighlightGroupWithAttributes('markdownCheckboxDone', \ 'markdownCheckboxItalic', 'italic') hi link markdownCheckboxItalicDelimiter markdownCheckboxItalic call CloneHighlightGroupWithAttributes('markdownCheckboxDone', \ 'markdownCheckboxBold', 'bold') hi link markdownCheckboxBoldDelimiter markdownCheckboxBold call CloneHighlightGroupWithAttributes('markdownCheckboxDone', \ 'markdownCheckboxBoldItalic', 'bold,italic') hi link markdownCheckboxBoldItalicDelimiter markdownCheckboxBoldItalic hi link markdownCheckboxCode SpecialComment hi link markdownCheckboxCodeDelimiter PreProc " Add match for TODO syn match markdownTodo 'TODO' hi link markdownTodo Todo syn cluster markdownInline add=markdownTodo " yaml frontmatter syn region markdownFrontmatter matchgroup=markdownFrontmatterDelimiter start='\%^---' keepend end='^---' contains=@markdownHighlightyaml hi default link markdownFrontmatterDelimiter Special