mirror-chatterino2/src/util/irchelpers.hpp
2018-06-05 16:29:06 +02:00

54 lines
1.1 KiB
C++

#pragma once
#include <QString>
namespace chatterino {
namespace util {
inline QString parseTagString(const QString &input)
{
QString output = input;
output.detach();
auto length = output.length();
for (int i = 0; i < length - 1; i++) {
if (output[i] == '\\') {
QChar c = output[i + 1];
switch (c.cell()) {
case 'n': {
output.replace(i, 2, '\n');
} break;
case 'r': {
output.replace(i, 2, '\r');
} break;
case 's': {
output.replace(i, 2, ' ');
} break;
case '\\': {
output.replace(i, 2, '\\');
} break;
case ':': {
output.replace(i, 2, ';');
} break;
default: {
output.remove(i, 1);
} break;
}
i++;
length--;
}
}
return output;
}
} // namespace util
} // namespace chatterino