diff options
Diffstat (limited to 'src/cmd/processer.rs')
| -rw-r--r-- | src/cmd/processer.rs | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/src/cmd/processer.rs b/src/cmd/processer.rs deleted file mode 100644 index f5fc2a6..0000000 --- a/src/cmd/processer.rs +++ /dev/null @@ -1,41 +0,0 @@ -use crate::cmd::cmd_system::JVCommandContext; -use crate::cmd::cmds::_registry::{jv_cmd_nodes, jv_cmd_process_node}; -use crate::cmd::errors::CmdProcessError; -use crate::cmd::renderer::JVRenderResult; - -pub async fn jv_cmd_process( - args: Vec<String>, - ctx: JVCommandContext, - renderer_override: String, -) -> Result<JVRenderResult, CmdProcessError> { - let nodes = jv_cmd_nodes(); - let command = args.join(" "); - - // Find nodes that match the beginning of the command - let matching_nodes: Vec<&String> = nodes - .iter() - .filter(|node| command.starts_with(node.as_str())) - .collect(); - - match matching_nodes.len() { - 0 => { - // No matching node found - return Err(CmdProcessError::NoMatchingCommand); - } - 1 => { - let matched_prefix = matching_nodes[0]; - let prefix_len = matched_prefix.split_whitespace().count(); - let trimmed_args: Vec<String> = args.into_iter().skip(prefix_len).collect(); - return jv_cmd_process_node(matched_prefix, trimmed_args, ctx, renderer_override).await; - } - _ => { - // Multiple matching nodes found - return Err(CmdProcessError::AmbiguousCommand( - matching_nodes - .iter() - .map(|s| s.to_string()) - .collect::<Vec<String>>(), - )); - } - } -} |
