From 7503033650f2886cbc7e0fe7af52061dfea756bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Rutkowski?= Date: Sun, 17 Feb 2019 19:25:35 +0100 Subject: [PATCH] Handle task lists that start with numbers --- .../noties/markwon/tasklist/TaskListBlockParser.java | 6 +++--- markwon/src/test/resources/tests/task-list.yaml | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/markwon/src/main/java/ru/noties/markwon/tasklist/TaskListBlockParser.java b/markwon/src/main/java/ru/noties/markwon/tasklist/TaskListBlockParser.java index 6b0c7aaa..9f235e61 100644 --- a/markwon/src/main/java/ru/noties/markwon/tasklist/TaskListBlockParser.java +++ b/markwon/src/main/java/ru/noties/markwon/tasklist/TaskListBlockParser.java @@ -23,7 +23,7 @@ import java.util.regex.Pattern; @SuppressWarnings("WeakerAccess") class TaskListBlockParser extends AbstractBlockParser { - private static final Pattern PATTERN = Pattern.compile("\\s*[-*+]\\s+\\[(x|X|\\s)\\]\\s+(.*)"); + private static final Pattern PATTERN = Pattern.compile("\\s*([-*+]|\\d+[.)])\\s+\\[(x|X|\\s)]\\s+(.*)"); private final TaskListBlock block = new TaskListBlock(); @@ -88,9 +88,9 @@ class TaskListBlockParser extends AbstractBlockParser { continue; } listItem = new TaskListItem() - .done(isDone(matcher.group(1))) + .done(isDone(matcher.group(2))) .indent(item.indent / 2); - inlineParser.parse(matcher.group(2), listItem); + inlineParser.parse(matcher.group(3), listItem); block.appendChild(listItem); } } diff --git a/markwon/src/test/resources/tests/task-list.yaml b/markwon/src/test/resources/tests/task-list.yaml index ebde6ab8..1663940c 100644 --- a/markwon/src/test/resources/tests/task-list.yaml +++ b/markwon/src/test/resources/tests/task-list.yaml @@ -8,6 +8,8 @@ input: |- + [ ] First plus + [x] Second plus + [X] Third plus + 1. [x] Number with dot + 3) [ ] Number output: - task-list: "First" @@ -45,3 +47,11 @@ output: - task-list: "Third plus" blockIdent: 1 done: true + - text: "\n" + - task-list: "Number with dot" + blockIdent: 1 + done: true + - text: "\n" + - task-list: "Number" + blockIdent: 1 + done: false