summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/string_utils.cc4
-rw-r--r--src/string_utils.hh6
2 files changed, 7 insertions, 3 deletions
diff --git a/src/string_utils.cc b/src/string_utils.cc
index 55c7562e..628bff32 100644
--- a/src/string_utils.cc
+++ b/src/string_utils.cc
@@ -351,8 +351,8 @@ UnitTest test_string{[]()
kak_assert(wrapped2[1] == "unknown");
kak_assert(wrapped2[2] == "type");
- kak_assert(escape("youpi:matin:tchou:", ':', '\\') == "youpi\\:matin\\:tchou\\:");
- kak_assert(unescape("youpi\\:matin\\:tchou\\:", ':', '\\') == "youpi:matin:tchou:");
+ kak_assert(escape(R"(\youpi:matin:tchou\:)", ":\\", '\\') == R"(\\youpi\:matin\:tchou\\\:)");
+ kak_assert(unescape(R"(\\youpi\:matin\:tchou\\\:)", ":\\", '\\') == R"(\youpi:matin:tchou\:)");
kak_assert(prefix_match("tchou kanaky", "tchou"));
kak_assert(prefix_match("tchou kanaky", "tchou kanaky"));
diff --git a/src/string_utils.hh b/src/string_utils.hh
index f1796f7c..e8442fc2 100644
--- a/src/string_utils.hh
+++ b/src/string_utils.hh
@@ -14,7 +14,11 @@ String escape(StringView str, StringView characters, char escape);
String unescape(StringView str, StringView characters, char escape);
template<char character, char escape>
-String unescape(StringView str) { return unescape(str, character, escape); }
+String unescape(StringView str)
+{
+ const char to_escape[2] = { character, escape };
+ return unescape(str, {to_escape, 2}, escape);
+}
String indent(StringView str, StringView indent = " ");