File tree Expand file tree Collapse file tree 1 file changed +19
-4
lines changed
Expand file tree Collapse file tree 1 file changed +19
-4
lines changed Original file line number Diff line number Diff line change 3737#include " core/io/resource_loader.h"
3838#include " core/os/keyboard.h"
3939#include " core/os/os.h"
40+ #include " core/string/fuzzy_search.h"
4041#include " core/version.h"
4142#include " editor/code_editor.h"
4243#include " editor/debugger/editor_debugger_node.h"
@@ -2281,10 +2282,24 @@ void ScriptEditor::_update_script_names() {
22812282 }
22822283
22832284 Vector<_ScriptEditorItemData> sedata_filtered;
2284- for (int i = 0 ; i < sedata.size (); i++) {
2285- String filter = filter_scripts->get_text ();
2286- if (filter.is_empty () || filter.is_subsequence_ofn (sedata[i].name )) {
2287- sedata_filtered.push_back (sedata[i]);
2285+
2286+ String filter = filter_scripts->get_text ();
2287+
2288+ if (filter.is_empty ()) {
2289+ sedata_filtered = sedata;
2290+ } else {
2291+ PackedStringArray search_names;
2292+ for (int i = 0 ; i < sedata.size (); i++) {
2293+ search_names.append (sedata[i].name );
2294+ }
2295+
2296+ Vector<FuzzySearchResult> results;
2297+ FuzzySearch fuzzy;
2298+ fuzzy.set_query (filter, false );
2299+ fuzzy.search_all (search_names, results);
2300+
2301+ for (const FuzzySearchResult &res : results) {
2302+ sedata_filtered.push_back (sedata[res.original_index ]);
22882303 }
22892304 }
22902305
You can’t perform that action at this time.
0 commit comments