- if (!expand ||
- data[0] != '@' && data[0] != '"' && data[0] != '\'' ||
- data[0] == '@' && data[1] != '"' && data[1] != '\''
- )
- CYLexerHighlight(data, size, *out);
- else for (size_t i(0); i != size; ++i)
- if (data[i] != '\\')
- *out << data[i];
- else switch(data[++i]) {
- case '\0': goto done;
- case '\\': *out << '\\'; break;
- case '\'': *out << '\''; break;
- case '"': *out << '"'; break;
- case 'b': *out << '\b'; break;
- case 'f': *out << '\f'; break;
- case 'n': *out << '\n'; break;
- case 'r': *out << '\r'; break;
- case 't': *out << '\t'; break;
- case 'v': *out << '\v'; break;
- default: *out << '\\'; --i; break;
- }
-
- done: