Skip to content

Commit 55292d9

Browse files
authored
fix(headings): disallow whitespace before heading #22
1 parent 2ba61cf commit 55292d9

File tree

4 files changed

+447
-448
lines changed

4 files changed

+447
-448
lines changed

corpus/heading1_2.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@ Text
7171
NOT h1 h2 heading
7272
================================================================================
7373

74+
===============================================================================
75+
must-start-at-column-1
76+
77+
===============================================================================
78+
must-start-at-column-1
79+
7480
====
7581
Not-a-heading-1 *heading1*
7682

@@ -93,6 +99,16 @@ Text
9399
--------------------------------------------------------------------------------
94100

95101
(help_file
102+
(block
103+
(line
104+
(word))
105+
(line
106+
(word)))
107+
(block
108+
(line
109+
(word))
110+
(line
111+
(word)))
96112
(block
97113
(line
98114
(word))

grammar.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,15 +97,15 @@ module.exports = grammar({
9797

9898
h1: ($) =>
9999
seq(
100-
field('delimiter', /[\t ]*============+[\t ]*\n/),
100+
token.immediate(field('delimiter', /============+[\t ]*\n/)),
101101
repeat1($._atom),
102102
'\n',
103103
repeat(_blank()),
104104
),
105105

106106
h2: ($) =>
107107
seq(
108-
field('delimiter', /[\t ]*------------+[\t ]*\n/),
108+
token.immediate(field('delimiter', /------------+[\t ]*\n/)),
109109
repeat1($._atom),
110110
'\n',
111111
repeat(_blank()),

src/grammar.json

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -532,11 +532,14 @@
532532
"type": "SEQ",
533533
"members": [
534534
{
535-
"type": "FIELD",
536-
"name": "delimiter",
535+
"type": "IMMEDIATE_TOKEN",
537536
"content": {
538-
"type": "PATTERN",
539-
"value": "[\\t ]*============+[\\t ]*\\n"
537+
"type": "FIELD",
538+
"name": "delimiter",
539+
"content": {
540+
"type": "PATTERN",
541+
"value": "============+[\\t ]*\\n"
542+
}
540543
}
541544
},
542545
{
@@ -567,11 +570,14 @@
567570
"type": "SEQ",
568571
"members": [
569572
{
570-
"type": "FIELD",
571-
"name": "delimiter",
573+
"type": "IMMEDIATE_TOKEN",
572574
"content": {
573-
"type": "PATTERN",
574-
"value": "[\\t ]*------------+[\\t ]*\\n"
575+
"type": "FIELD",
576+
"name": "delimiter",
577+
"content": {
578+
"type": "PATTERN",
579+
"value": "------------+[\\t ]*\\n"
580+
}
575581
}
576582
},
577583
{

0 commit comments

Comments
 (0)