浏览代码

Command Palette search now also uses original English command names

Both localized and non localized names will be used while filtering

The highest score between the two will be picked when determining
the entries order

(cherry picked from commit 09460cfaaf6524143b482c3082566f05ef227389)
Tefatika 2 年之前
父节点
当前提交
e58001bd0d
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      editor/editor_command_palette.cpp

+ 8 - 2
editor/editor_command_palette.cpp

@@ -75,9 +75,15 @@ void EditorCommandPalette::_update_command_search(const String &search_text) {
 		r.shortcut_text = E.value.shortcut;
 		r.last_used = E.value.last_used;
 
-		if (search_text.is_subsequence_ofn(r.display_name)) {
+		bool is_subsequence_of_key_name = search_text.is_subsequence_ofn(r.key_name);
+		bool is_subsequence_of_display_name = search_text.is_subsequence_ofn(r.display_name);
+
+		if (is_subsequence_of_key_name || is_subsequence_of_display_name) {
 			if (!search_text.is_empty()) {
-				r.score = _score_path(search_text, r.display_name.to_lower());
+				float key_name_score = is_subsequence_of_key_name ? _score_path(search_text, r.key_name.to_lower()) : .0f;
+				float display_name_score = is_subsequence_of_display_name ? _score_path(search_text, r.display_name.to_lower()) : .0f;
+
+				r.score = MAX(key_name_score, display_name_score);
 			}
 
 			entries.push_back(r);