mirror of
https://github.com/godotengine/godot
synced 2024-09-06 02:18:33 +00:00
Merge pull request #12957 from bojidar-bg/12928-numeric-underscores
Allow underscores in GDScript numeric literals
This commit is contained in:
commit
3002130a6d
|
@ -885,6 +885,9 @@ void GDTokenizerText::_advance() {
|
|||
return;
|
||||
}
|
||||
sign_found = true;
|
||||
} else if (GETCHAR(i) == '_') {
|
||||
i++;
|
||||
continue; // Included for readability, shouldn't be a part of the string
|
||||
} else
|
||||
break;
|
||||
|
||||
|
@ -897,7 +900,7 @@ void GDTokenizerText::_advance() {
|
|||
return;
|
||||
}
|
||||
|
||||
INCPOS(str.length());
|
||||
INCPOS(i);
|
||||
if (hexa_found) {
|
||||
int64_t val = str.hex_to_int64();
|
||||
_make_constant(val);
|
||||
|
|
|
@ -894,17 +894,18 @@ void TextEdit::_notification(int p_what) {
|
|||
is_hex_notation = false;
|
||||
}
|
||||
|
||||
// check for dot or 'x' for hex notation in floating point number
|
||||
if ((str[j] == '.' || str[j] == 'x') && !in_word && prev_is_number && !is_number) {
|
||||
// check for dot or underscore or 'x' for hex notation in floating point number
|
||||
if ((str[j] == '.' || str[j] == 'x' || str[j] == '_') && !in_word && prev_is_number && !is_number) {
|
||||
is_number = true;
|
||||
is_symbol = false;
|
||||
is_char = false;
|
||||
|
||||
if (str[j] == 'x' && str[j - 1] == '0') {
|
||||
is_hex_notation = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!in_word && _is_char(str[j])) {
|
||||
if (!in_word && _is_char(str[j]) && !is_number) {
|
||||
in_word = true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue