Browse Source

Merge pull request #105930 from a-johnston/fuzzy_search_index_field

Add original index field to fuzzy search result
Thaddeus Crews 3 tháng trước cách đây
mục cha
commit
fb08e94c35
2 tập tin đã thay đổi với 4 bổ sung2 xóa
  1. 3 2
      core/string/fuzzy_search.cpp
  2. 1 0
      core/string/fuzzy_search.h

+ 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;
 };