@@ -76,8 +76,9 @@ syn region markdownCodeBlock start=" \|\t" end="$" contained
76
76
syn match markdownListMarker " \% (\t\| \{ 0,4\}\) [-*+]\% (\s\+\S\)\@ =" contained
77
77
syn match markdownOrderedListMarker " \% (\t\| \{ 0,4}\)\<\d\+\.\% (\s\+\S\)\@ =" contained
78
78
79
- syn match markdownRule " \* *\* *\* [ *]*$" contained
80
- syn match markdownRule " - *- *-[ -]*$" contained
79
+ syn match markdownRule " ^ \{ 0,3\}\* *\* *\* [ *]*$" contained
80
+ syn match markdownRule " ^ \{ 0,3\} - *- *-[ -]*$" contained
81
+ syn match markdownRule " ^ \{ 0,3\} _ *_ *_[ _]*$" contained
81
82
82
83
syn match markdownLineBreak " \{ 2,\} $"
83
84
@@ -97,12 +98,12 @@ let s:concealends = ''
97
98
if has (' conceal' ) && get (g: , ' markdown_syntax_conceal' , 1 ) == 1
98
99
let s: concealends = ' concealends'
99
100
endif
100
- exe ' syn region markdownItalic matchgroup=markdownItalicDelimiter start="\S\ @<=\*\|\*\S \@=" end="\S\@<=\*\|\*\S\@=" skip="\\\*" contains=markdownLineStart,@Spell' . s: concealends
101
- exe ' syn region markdownItalic matchgroup=markdownItalicDelimiter start="\w\@<!_\S \@=" end="\S\@<=_\w\@!" skip="\\_" contains=markdownLineStart,@Spell' . s: concealends
102
- exe ' syn region markdownBold matchgroup=markdownBoldDelimiter start="\S\ @<=\*\*\|\*\*\S \@=" end="\S\@<=\*\*\|\*\*\S\@=" skip="\\\*" contains=markdownLineStart,markdownItalic,@Spell' . s: concealends
103
- exe ' syn region markdownBold matchgroup=markdownBoldDelimiter start="\w\@<!__\S \@=" end="\S\@<=__\w\@!" skip="\\_" contains=markdownLineStart,markdownItalic,@Spell' . s: concealends
104
- exe ' syn region markdownBoldItalic matchgroup=markdownBoldItalicDelimiter start="\S\ @<=\*\*\*\|\*\*\*\S \@=" end="\S\@<=\*\*\*\|\*\*\*\S\@=" skip="\\\*" contains=markdownLineStart,@Spell' . s: concealends
105
- exe ' syn region markdownBoldItalic matchgroup=markdownBoldItalicDelimiter start="\w\@<!___\S \@=" end="\S\@<=___\w\@!" skip="\\_" contains=markdownLineStart,@Spell' . s: concealends
101
+ exe ' syn region markdownItalic matchgroup=markdownItalicDelimiter start="\%(\S\&[^\*]\)\ @<=\*\|\*\%(\S\&[^\*]\) \@=" end="\S\@<=\*\|\*\S\@=" skip="\\\*" contains=markdownLineStart,@Spell' . s: concealends
102
+ exe ' syn region markdownItalic matchgroup=markdownItalicDelimiter start="\w\@<!_\%(\S\&[^_]\) \@=" end="\S\@<=_\w\@!" skip="\\_" contains=markdownLineStart,@Spell' . s: concealends
103
+ exe ' syn region markdownBold matchgroup=markdownBoldDelimiter start="\%(\S\&[^\*]\)\ @<=\*\*\|\*\*\%(\S\&[^\*]\) \@=" end="\S\@<=\*\*\|\*\*\S\@=" skip="\\\*" contains=markdownLineStart,markdownItalic,@Spell' . s: concealends
104
+ exe ' syn region markdownBold matchgroup=markdownBoldDelimiter start="\w\@<!__\%(\S\&[^_]\) \@=" end="\S\@<=__\w\@!" skip="\\_" contains=markdownLineStart,markdownItalic,@Spell' . s: concealends
105
+ exe ' syn region markdownBoldItalic matchgroup=markdownBoldItalicDelimiter start="\%(\S\&[^\*]\)\ @<=\*\*\*\|\*\*\*\%(\S\&[^\*]\) \@=" end="\S\@<=\*\*\*\|\*\*\*\S\@=" skip="\\\*" contains=markdownLineStart,@Spell' . s: concealends
106
+ exe ' syn region markdownBoldItalic matchgroup=markdownBoldItalicDelimiter start="\w\@<!___\%(\S\&[^_]\) \@=" end="\S\@<=___\w\@!" skip="\\_" contains=markdownLineStart,@Spell' . s: concealends
106
107
107
108
syn region markdownCode matchgroup =markdownCodeDelimiter start =" `" end =" `" keepend contains =markdownLineStart
108
109
syn region markdownCode matchgroup =markdownCodeDelimiter start =" `` \= " end =" \= ``" keepend contains =markdownLineStart
0 commit comments