Skip to content

Commit 9c10b4d

Browse files
authoredMay 2, 2022
fix: list item bullet without whitespace (#2431)
1 parent 6efa77e commit 9c10b4d

File tree

3 files changed

+65
-11
lines changed

3 files changed

+65
-11
lines changed
 

‎src/Tokenizer.js

+16-11
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,14 @@ function outputLink(cap, link, raw, lexer) {
2323
};
2424
lexer.state.inLink = false;
2525
return token;
26-
} else {
27-
return {
28-
type: 'image',
29-
raw,
30-
href,
31-
title,
32-
text: escape(text)
33-
};
3426
}
27+
return {
28+
type: 'image',
29+
raw,
30+
href,
31+
title,
32+
text: escape(text)
33+
};
3534
}
3635

3736
function indentCodeCompensation(raw, text) {
@@ -130,7 +129,7 @@ export class Tokenizer {
130129
type: 'heading',
131130
raw: cap[0],
132131
depth: cap[1].length,
133-
text: text,
132+
text,
134133
tokens: []
135134
};
136135
this.lexer.inline(token.text, token.tokens);
@@ -225,7 +224,8 @@ export class Tokenizer {
225224
}
226225

227226
if (!endEarly) {
228-
const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])`);
227+
const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))`);
228+
const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`);
229229

230230
// Check if following lines should be included in List Item
231231
while (src) {
@@ -242,6 +242,11 @@ export class Tokenizer {
242242
break;
243243
}
244244

245+
// Horizontal rule found
246+
if (hrRegex.test(src)) {
247+
break;
248+
}
249+
245250
if (line.search(/[^ ]/) >= indent || !line.trim()) { // Dedent if possible
246251
itemContents += '\n' + line.slice(indent);
247252
} else if (!blankLine) { // Until blank line, item doesn't need indentation
@@ -279,7 +284,7 @@ export class Tokenizer {
279284

280285
list.items.push({
281286
type: 'list_item',
282-
raw: raw,
287+
raw,
283288
task: !!istask,
284289
checked: ischecked,
285290
loose: false,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<h2>*list</h2>
2+
<ul>
3+
<li>list1
4+
*Not list(without space)</li>
5+
<li>list2</li>
6+
</ul>
7+
<h2>+list</h2>
8+
<ul>
9+
<li>list1
10+
+Not list(without space)</li>
11+
<li>list2</li>
12+
</ul>
13+
<h2>-list</h2>
14+
<ul>
15+
<li>list1
16+
-Not list(without space)</li>
17+
<li>list2</li>
18+
</ul>
19+
<h2>number(1.)list</h2>
20+
<ol>
21+
<li>list
22+
1.Notlist(without space)</li>
23+
<li>list</li>
24+
</ol>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
headerIds: false
3+
---
4+
## *list
5+
6+
* list1
7+
*Not list(without space)
8+
* list2
9+
10+
## +list
11+
12+
+ list1
13+
+Not list(without space)
14+
+ list2
15+
16+
## -list
17+
18+
- list1
19+
-Not list(without space)
20+
- list2
21+
22+
## number(1.)list
23+
1. list
24+
1.Notlist(without space)
25+
1. list

1 commit comments

Comments
 (1)

vercel[bot] commented on May 2, 2022

@vercel[bot]
Please sign in to comment.