From da348e56996ffd163c64f0308db1ddb04d898035 Mon Sep 17 00:00:00 2001 From: dx Date: Sat, 23 May 2020 21:09:33 +0100 Subject: -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 --- Compiler/includes/compiler.hpp | 2 +- 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 +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[] = {"$1", "$1", - "$1", "$1", "
  • $1
  • "}; +static const char *REPLACEMENTS[] = {"$1", "$1", + "$1", "$1"}; -- cgit v1.2.3-13-gbd6f