From e025c9ed11ce1bdfd9ac020437de726a063833a0 Mon Sep 17 00:00:00 2001 From: Adam Johnston Date: Tue, 29 Apr 2025 17:39:59 -0700 Subject: [PATCH] Add original index field to fuzzy search result --- core/string/fuzzy_search.cpp | 5 +++-- core/string/fuzzy_search.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/string/fuzzy_search.cpp b/core/string/fuzzy_search.cpp index 2fd0d3995ed..f67193b252e 100644 --- a/core/string/fuzzy_search.cpp +++ b/core/string/fuzzy_search.cpp @@ -338,9 +338,10 @@ bool FuzzySearch::search(const String &p_target, FuzzySearchResult &p_result) co void FuzzySearch::search_all(const PackedStringArray &p_targets, Vector &p_results) const { p_results.clear(); - for (const String &target : p_targets) { + for (int i = 0; i < p_targets.size(); i++) { FuzzySearchResult result; - if (search(target, result)) { + result.original_index = i; + if (search(p_targets[i], result)) { p_results.append(result); } } diff --git a/core/string/fuzzy_search.h b/core/string/fuzzy_search.h index e95726896eb..de46d613b91 100644 --- a/core/string/fuzzy_search.h +++ b/core/string/fuzzy_search.h @@ -76,6 +76,7 @@ class FuzzySearchResult { public: String target; int score = 0; + int original_index = -1; int dir_index = -1; Vector token_matches; };