Tweak unescape template function to unescape the escape char as well
Test that more thouroughly in the unit tests.
This commit is contained in:
parent
99636c6230
commit
2f48bbf6ff
|
@ -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"));
|
||||
|
|
|
@ -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 = " ");
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user