diff options
author | dx <aryadevchavali1@gmail.com> | 2020-05-23 21:09:33 +0100 |
---|---|---|
committer | dx <aryadevchavali1@gmail.com> | 2020-05-23 21:13:02 +0100 |
commit | da348e56996ffd163c64f0308db1ddb04d898035 (patch) | |
tree | 7828a5e08c3140c27871b40dd2c52f850bf3c7c2 | |
parent | 664fa86acd90acaf1c5f54a336f5894f21415282 (diff) | |
download | mdhtml-da348e56996ffd163c64f0308db1ddb04d898035.tar.gz mdhtml-da348e56996ffd163c64f0308db1ddb04d898035.tar.bz2 mdhtml-da348e56996ffd163c64f0308db1ddb04d898035.zip |
-list item regex, +nitems variable, ~bold and italic
List item regex can be replaced with a simple algorithm to check the
first character of the line to see if it's a bullet character.
I must check the bold before the italic code, as the regex may greedily
eat up the double asterisks if I don't use it.
squash! -list item regex, +nitems variable
-rw-r--r-- | Compiler/includes/compiler.hpp | 2 | ||||
-rw-r--r-- | Compiler/src/compiler.cpp | 9 |
2 files changed, 6 insertions, 5 deletions
diff --git a/Compiler/includes/compiler.hpp b/Compiler/includes/compiler.hpp index 808b21f..d761dcf 100644 --- a/Compiler/includes/compiler.hpp +++ b/Compiler/includes/compiler.hpp @@ -5,8 +5,8 @@ enum Type { - Italic, Bold, + Italic, Underline, StrikeThrough, ListItem, diff --git a/Compiler/src/compiler.cpp b/Compiler/src/compiler.cpp index fd45e78..7571fc2 100644 --- a/Compiler/src/compiler.cpp +++ b/Compiler/src/compiler.cpp @@ -1,12 +1,13 @@ #include "../includes/compiler.hpp" #include <regex> +static const unsigned short N_ITEMS = 4; /* Encoded regexes using the Type enum (convert to integer) */ static const std::regex REGEXES[] = { - std::regex("\\*(.*?)\\*"), std::regex("\\*\\*(.*?)\\*\\*"), - std::regex("_(.*?)_"), std::regex("~(.*?)~"), std::regex("-(.*)")}; + std::regex("\\*\\*(.*?)\\*\\*"), std::regex("\\*(.*?)\\*"), + std::regex("_(.*?)_"), std::regex("~(.*?)~")}; /* Encoded replacement strings using the Type enum (convert to integer) */ -static const char *REPLACEMENTS[] = {"<i>$1</i>", "<strong>$1</strong>", - "<u>$1</u>", "<s>$1</s>", "<li>$1</li>"}; +static const char *REPLACEMENTS[] = {"<strong>$1</strong>", "<i>$1</i>", + "<u>$1</u>", "<s>$1</s>"}; |