56 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" 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
 | 
						|
 |