2
0
Эх сурвалжийг харах

Add original index field to fuzzy search result

Adam Johnston 4 сар өмнө
parent
commit
e025c9ed11

+ 3 - 2
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<FuzzySearchResult> &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);
 		}
 	}

+ 1 - 0
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<FuzzyTokenMatch> token_matches;
 };