From 6703ccb0fc3aca7ba4bdb9083f199fe0c1b66bd9 Mon Sep 17 00:00:00 2001
From: 魏曹先生 <1992414357@qq.com>
Date: Thu, 7 May 2026 20:53:04 +0800
Subject: Add dispatch tree feature for fast argument matching
---
mingling_core/src/asset/comp.rs | 2 +-
mingling_core/src/asset/dispatcher.rs | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
(limited to 'mingling_core/src/asset')
diff --git a/mingling_core/src/asset/comp.rs b/mingling_core/src/asset/comp.rs
index a6299e1..cf1f48c 100644
--- a/mingling_core/src/asset/comp.rs
+++ b/mingling_core/src/asset/comp.rs
@@ -51,7 +51,7 @@ impl CompletionHelper {
let program = this::
();
let args = ctx.all_words.iter().skip(1).cloned().collect::>();
- let suggest = if let Ok((dispatcher, args)) = match_user_input(program, args) {
+ let suggest = if let Ok((dispatcher, args)) = match_user_input(program, &args) {
trace!(
"dispatcher matched, dispatcher=\"{}\", args={:?}",
dispatcher.node().to_string(),
diff --git a/mingling_core/src/asset/dispatcher.rs b/mingling_core/src/asset/dispatcher.rs
index 761c399..cf8fcca 100644
--- a/mingling_core/src/asset/dispatcher.rs
+++ b/mingling_core/src/asset/dispatcher.rs
@@ -29,6 +29,7 @@ where
impl Program {
/// Adds a dispatcher to the program.
+ #[cfg(not(feature = "dispatch_tree"))]
pub fn with_dispatcher(&mut self, dispatcher: Disp)
where
Disp: Dispatcher + Send + Sync + 'static,
@@ -37,6 +38,7 @@ impl Program {
}
/// Add some dispatchers to the program.
+ #[cfg(not(feature = "dispatch_tree"))]
pub fn with_dispatchers(&mut self, dispatchers: D)
where
D: Into>,
--
cgit