Add fuzzy string matching to quick open search

Co-authored-by: sam <samsface@gmail.com>
This commit is contained in:
Adam Johnston
2024-10-10 23:50:50 -07:00
parent a3080477ac
commit 3ac043c508
14 changed files with 2095 additions and 499 deletions

View File

@@ -3372,7 +3372,7 @@ int String::find(const char *p_str, int p_from) const {
return -1;
}
int String::find_char(const char32_t &p_char, int p_from) const {
int String::find_char(char32_t p_char, int p_from) const {
return _cowdata.find(p_char, p_from);
}
@@ -3609,6 +3609,10 @@ int String::rfind(const char *p_str, int p_from) const {
return -1;
}
int String::rfind_char(char32_t p_char, int p_from) const {
return _cowdata.rfind(p_char, p_from);
}
int String::rfindn(const String &p_str, int p_from) const {
// establish a limit
int limit = length() - p_str.length();
@@ -3822,6 +3826,15 @@ bool String::is_quoted() const {
return is_enclosed_in("\"") || is_enclosed_in("'");
}
bool String::is_lowercase() const {
for (const char32_t *str = &operator[](0); *str; str++) {
if (is_unicode_upper_case(*str)) {
return false;
}
}
return true;
}
int String::_count(const String &p_string, int p_from, int p_to, bool p_case_insensitive) const {
if (p_string.is_empty()) {
return 0;