From 64717eba9de6e3dc60e47c322b5f1c1632ed3b21 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Thu, 17 Sep 2026 08:54:32 +0000 Subject: add quotation mark support allow arguments of a command to be quoted --- src/lexer/token.cc | 9 +++++---- src/util/string.cc | 10 ++++++++++ 2 files changed, 15 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/lexer/token.cc b/src/lexer/token.cc index 26ad1f2..b9b8242 100644 --- a/src/lexer/token.cc +++ b/src/lexer/token.cc @@ -12,7 +12,7 @@ using namespace std; // remove this -constexpr bool TOKEN_DEBUG = false; +constexpr bool TOKEN_DEBUG = true; namespace ov4 { @@ -35,7 +35,8 @@ bool T_lexer::is_single_symbol(char c) { string s = " "; s[0] = c; - if (symbol_property.contains(s)) + // quotation marks are treated as text + if (symbol_property.contains(s) && c != '\'' && c != '\"') return true; return false; } @@ -119,8 +120,8 @@ void T_lexer::token_push(const string &push_s, int bracket_depth, bool force_tex else { if constexpr (TOKEN_DEBUG) loggerln("token_push: adding text"); - if (force_text) - trimmed = trim(trimmed, "\'\""); + // if (force_text) + // trimmed = trim(trimmed, "\'\""); tmp.token_type = TEXT; tmp.text = trimmed; } diff --git a/src/util/string.cc b/src/util/string.cc index c486a4f..9fad804 100644 --- a/src/util/string.cc +++ b/src/util/string.cc @@ -1,5 +1,7 @@ #include "util/string.h" +#include + using namespace std; namespace ov4 @@ -40,4 +42,12 @@ std::string safe_str(const char *s, const char *fallback) return (s != nullptr) ? s : fallback; } +void print_str_hex(const std::string &s) +{ + for (unsigned char c : s) + { + print("{:02X} ", c); + } +} + } -- cgit v1.3.1-4-g156e