Add String.is_valid_unicode_identifier()

- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
This commit is contained in:
Haoyu Qiu
2024-08-23 14:30:51 +08:00
parent db76de5de8
commit 8bf4ecc026
22 changed files with 132 additions and 60 deletions

View File

@@ -2165,23 +2165,7 @@ TypedArray<Dictionary> TextServer::_shaped_text_get_ellipsis_glyphs_wrapper(cons
}
bool TextServer::is_valid_identifier(const String &p_string) const {
const char32_t *str = p_string.ptr();
int len = p_string.length();
if (len == 0) {
return false; // Empty string.
}
if (!is_unicode_identifier_start(str[0])) {
return false;
}
for (int i = 1; i < len; i++) {
if (!is_unicode_identifier_continue(str[i])) {
return false;
}
}
return true;
return p_string.is_valid_unicode_identifier();
}
bool TextServer::is_valid_letter(uint64_t p_unicode) const {