diff options
author | Thakee Nathees <thakeenathees@gmail.com> | 2020-03-14 02:34:18 +0530 |
---|---|---|
committer | Thakee Nathees <thakeenathees@gmail.com> | 2020-03-15 05:37:15 +0530 |
commit | f6cee4a1215e455f2b1e54ec4e099c7ff12ca475 (patch) | |
tree | 32a4c32ff72dfb6723bbe0d664db119c8ec1928a /modules/gdscript/gdscript_tokenizer.cpp | |
parent | 3c376a898ae6f4b6332d732d29c44d090978b887 (diff) | |
download | redot-engine-f6cee4a1215e455f2b1e54ec4e099c7ff12ca475.tar.gz |
python like string escape implemented
Diffstat (limited to 'modules/gdscript/gdscript_tokenizer.cpp')
-rw-r--r-- | modules/gdscript/gdscript_tokenizer.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/modules/gdscript/gdscript_tokenizer.cpp b/modules/gdscript/gdscript_tokenizer.cpp index 9064998d32..a5a48a2c49 100644 --- a/modules/gdscript/gdscript_tokenizer.cpp +++ b/modules/gdscript/gdscript_tokenizer.cpp @@ -803,19 +803,16 @@ void GDScriptTokenizerText::_advance() { switch (next) { - case 'a': res = 7; break; - case 'b': res = 8; break; - case 't': res = 9; break; - case 'n': res = 10; break; - case 'v': res = 11; break; - case 'f': res = 12; break; - case 'r': res = 13; break; + case 'a': res = '\a'; break; + case 'b': res = '\b'; break; + case 't': res = '\t'; break; + case 'n': res = '\n'; break; + case 'v': res = '\v'; break; + case 'f': res = '\f'; break; + case 'r': res = '\r'; break; case '\'': res = '\''; break; case '\"': res = '\"'; break; case '\\': res = '\\'; break; - case '/': - res = '/'; - break; //wtf case 'u': { // hex number @@ -847,6 +844,10 @@ void GDScriptTokenizerText::_advance() { i += 3; } break; + case '\n': { + line++; + column = 1; + } break; default: { _make_error("Invalid escape sequence"); @@ -854,7 +855,8 @@ void GDScriptTokenizerText::_advance() { } break; } - str += res; + if (next != '\n') + str += res; } else { if (CharType(GETCHAR(i)) == '\n') { |