Skip to content

Commit 57b25a5

Browse files
committed
Todo highlighting in html comments
1 parent cc82d88 commit 57b25a5

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

syntax/markdown.vim

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ syn region mkdNonListItemBlock start="\(\%^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@!\|\n\(
116116
syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*\(\*\|\s\)*$/
117117
syn match mkdRule /^\s*-\s\{0,1}-\s\{0,1}-\(-\|\s\)*$/
118118
syn match mkdRule /^\s*_\s\{0,1}_\s\{0,1}_\(_\|\s\)*$/
119+
syn keyword mkdTodo TODO FIXME XXX TBD contained containedin=htmlComment,htmlCommentPart
119120

120121
" YAML frontmatter
121122
if get(g:, 'vim_markdown_frontmatter', 0)
@@ -179,6 +180,7 @@ HtmlHiLink mkdLinkDef mkdID
179180
HtmlHiLink mkdLinkDefTarget mkdURL
180181
HtmlHiLink mkdLinkTitle htmlString
181182
HtmlHiLink mkdDelimiter Delimiter
183+
HtmlHiLink mkdTodo Todo
182184

183185
let b:current_syntax = 'mkd'
184186

test/syntax.vader

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1302,3 +1302,40 @@ Execute (HTML tag in text):
13021302
AssertEqual SyntaxOf('span'), 'htmlTagName'
13031303
AssertEqual SyntaxOf('<span>'), 'htmlTag'
13041304
AssertEqual SyntaxOf('</span>'), 'htmlEndTag'
1305+
1306+
Given markdown;
1307+
<!--TODO FIXME XXX TBD hello -->
1308+
1309+
Execute (todo inside HTML comment):
1310+
AssertEqual SyntaxOf('TODO'), 'mkdTodo'
1311+
AssertEqual SyntaxOf('FIXME'), 'mkdTodo'
1312+
AssertEqual SyntaxOf('XXX'), 'mkdTodo'
1313+
AssertEqual SyntaxOf('TBD'), 'mkdTodo'
1314+
AssertNotEqual SyntaxOf('hello'), 'mkdTodo'
1315+
1316+
Given markdown;
1317+
<!--ATODO BFIXME CXXX DTBD -->
1318+
1319+
Execute (fake todo inside HTML comment):
1320+
AssertNotEqual SyntaxOf('TODO'), 'mkdTodo'
1321+
AssertNotEqual SyntaxOf('FIXME'), 'mkdTodo'
1322+
AssertNotEqual SyntaxOf('XXX'), 'mkdTodo'
1323+
AssertNotEqual SyntaxOf('TBD'), 'mkdTodo'
1324+
1325+
Given markdown;
1326+
TODO FIXME XXX TBD
1327+
1328+
Execute (todo outside HTML comment):
1329+
AssertNotEqual SyntaxOf('TODO'), 'mkdTodo'
1330+
AssertNotEqual SyntaxOf('FIXME'), 'mkdTodo'
1331+
AssertNotEqual SyntaxOf('XXX'), 'mkdTodo'
1332+
AssertNotEqual SyntaxOf('TBD'), 'mkdTodo'
1333+
1334+
Given markdown;
1335+
> TODO FIXME XXX TBD
1336+
1337+
Execute (todo inside non-HTML comment):
1338+
AssertNotEqual SyntaxOf('TODO'), 'mkdTodo'
1339+
AssertNotEqual SyntaxOf('FIXME'), 'mkdTodo'
1340+
AssertNotEqual SyntaxOf('XXX'), 'mkdTodo'
1341+
AssertNotEqual SyntaxOf('TBD'), 'mkdTodo'

0 commit comments

Comments
 (0)