You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-09 12:50:35 +00:00
Merge pull request #68450 from KoBeWi/bracket_escapist
Allow to escape closing brackets in CFG tags
This commit is contained in:
@@ -1358,6 +1358,7 @@ Error VariantParser::_parse_tag(Token &token, Stream *p_stream, int &line, Strin
|
||||
if (p_simple_tag) {
|
||||
r_tag.name = "";
|
||||
r_tag.fields.clear();
|
||||
bool escaping = false;
|
||||
|
||||
if (p_stream->is_utf8()) {
|
||||
CharString cs;
|
||||
@@ -1368,7 +1369,15 @@ Error VariantParser::_parse_tag(Token &token, Stream *p_stream, int &line, Strin
|
||||
return ERR_PARSE_ERROR;
|
||||
}
|
||||
if (c == ']') {
|
||||
break;
|
||||
if (escaping) {
|
||||
escaping = false;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
} else if (c == '\\') {
|
||||
escaping = true;
|
||||
} else {
|
||||
escaping = false;
|
||||
}
|
||||
cs += c;
|
||||
}
|
||||
@@ -1381,7 +1390,15 @@ Error VariantParser::_parse_tag(Token &token, Stream *p_stream, int &line, Strin
|
||||
return ERR_PARSE_ERROR;
|
||||
}
|
||||
if (c == ']') {
|
||||
break;
|
||||
if (escaping) {
|
||||
escaping = false;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
} else if (c == '\\') {
|
||||
escaping = true;
|
||||
} else {
|
||||
escaping = false;
|
||||
}
|
||||
r_tag.name += String::chr(c);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user