diff --git a/AUTHORS b/AUTHORS index c29b373..f64561c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -6,3 +6,5 @@ a license to everyone to use it as detailed in LICENSE.) M. Petra Baranski (info@progsource.de) Patrick José Pereira (patrickelectric@gmail.com) +Martin Kopecky (martin.kopecky357@gmail.com) + diff --git a/docs/definitions.md b/docs/definitions.md index 6595d8b..fd6f286 100644 --- a/docs/definitions.md +++ b/docs/definitions.md @@ -44,11 +44,13 @@ results in ## Lists ### unordered +Characters "*", "+" or "-" to make an unordered "bullet" list are equivalent. + ``` -* unordered +- unordered * list -* items ++ items ``` results in @@ -66,8 +68,8 @@ results in * list * items * in - * an - * hierarchy + + an + - hierarchy ``` results in diff --git a/include/maddy/unorderedlistparser.h b/include/maddy/unorderedlistparser.h index d8706af..0c1aa5d 100644 --- a/include/maddy/unorderedlistparser.h +++ b/include/maddy/unorderedlistparser.h @@ -54,7 +54,7 @@ public: static bool IsStartingLine(const std::string& line) { - static std::regex re("^\\* .*"); + static std::regex re("^[+*-] .*"); return std::regex_match(line, re); } @@ -89,7 +89,7 @@ protected: bool isStartOfNewListItem = IsStartingLine(line); uint32_t indentation = getIndentationWidth(line); - static std::regex lineRegex("^(\\* )"); + static std::regex lineRegex("^([+*-] )"); line = std::regex_replace(line, lineRegex, ""); if (!this->isStarted) diff --git a/tests/maddy/test_maddy_unorderedlistparser.cpp b/tests/maddy/test_maddy_unorderedlistparser.cpp index df94ba0..eed8427 100644 --- a/tests/maddy/test_maddy_unorderedlistparser.cpp +++ b/tests/maddy/test_maddy_unorderedlistparser.cpp @@ -55,9 +55,14 @@ TEST_F(MADDY_UNORDEREDLISTPARSER, ItReplacesMarkdownWithAnHtmlUnorderedList) std::vector markdown = { "* a" , "* b" + , "- c" + , "- d" + , "+ e" + , "+ f" + , "* g" , "" }; - std::string expected = ""; + std::string expected = ""; for (std::string md : markdown) { @@ -80,9 +85,12 @@ TEST_F(MADDY_UNORDEREDLISTPARSER, ItReplacesMarkdownWithAnHierachicalHtmlList) , " * e" , "* b" , " * c" + , " + x" + , " + y" + , " - z" , "" }; - std::string expected = ""; + std::string expected = ""; for (std::string md : markdown) {