From a76a23e33b1038687b644c33dff6e5c8955f7230 Mon Sep 17 00:00:00 2001 From: Peter Elliott Date: Wed, 29 Sep 2021 19:24:22 -0600 Subject: [PATCH] LibMarkdown: Allow spaces before list items also allow '+' as an unordered list marker --- Userland/Libraries/LibMarkdown/List.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibMarkdown/List.cpp b/Userland/Libraries/LibMarkdown/List.cpp index a75757b6e9..5ddc8472e1 100644 --- a/Userland/Libraries/LibMarkdown/List.cpp +++ b/Userland/Libraries/LibMarkdown/List.cpp @@ -67,15 +67,19 @@ OwnPtr List::parse(LineIterator& lines) const StringView& line = *lines; bool appears_unordered = false; - if (line.length() > 2) { - if (line[1] == ' ' && (line[0] == '*' || line[0] == '-')) { + + while (offset < line.length() && line[offset] == ' ') + ++offset; + + if (offset + 2 <= line.length()) { + if (line[offset + 1] == ' ' && (line[offset] == '*' || line[offset] == '-' || line[offset] == '+')) { appears_unordered = true; - offset = 1; + offset++; } } bool appears_ordered = false; - for (size_t i = 0; i < 10 && i < line.length(); i++) { + for (size_t i = offset; i < 10 && i < line.length(); i++) { char ch = line[i]; if ('0' <= ch && ch <= '9') continue;