From fec7a2bfedc562306523b9d3c51b97e376dc32d9 Mon Sep 17 00:00:00 2001 From: mat Date: Sun, 9 Jan 2022 23:46:23 -0600 Subject: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA --- azalea-brigadier/src/context/command_context.rs | 6 ++++-- azalea-brigadier/src/context/command_context_builder.rs | 14 +++++++++----- azalea-brigadier/src/context/parsed_argument.rs | 6 ++++-- 3 files changed, 17 insertions(+), 9 deletions(-) (limited to 'azalea-brigadier/src/context') diff --git a/azalea-brigadier/src/context/command_context.rs b/azalea-brigadier/src/context/command_context.rs index c6210a88..7a2189d9 100644 --- a/azalea-brigadier/src/context/command_context.rs +++ b/azalea-brigadier/src/context/command_context.rs @@ -3,7 +3,9 @@ use super::{ string_range::StringRange, }; use crate::{ - arguments::argument_type::ArgumentType, command::Command, redirect_modifier::RedirectModifier, + arguments::argument_type::{ArgumentResult, ArgumentType}, + command::Command, + redirect_modifier::RedirectModifier, tree::command_node::CommandNode, }; use std::collections::HashMap; @@ -12,7 +14,7 @@ pub struct CommandContext { source: S, input: String, command: dyn Command, - arguments: HashMap>, + arguments: HashMap>>, root_node: dyn CommandNode, nodes: Vec>, range: StringRange, diff --git a/azalea-brigadier/src/context/command_context_builder.rs b/azalea-brigadier/src/context/command_context_builder.rs index e74b5b1c..ac4a36bb 100644 --- a/azalea-brigadier/src/context/command_context_builder.rs +++ b/azalea-brigadier/src/context/command_context_builder.rs @@ -1,8 +1,10 @@ use std::collections::HashMap; use crate::{ - arguments::argument_type::ArgumentType, command::Command, - command_dispatcher::CommandDispatcher, redirect_modifier::RedirectModifier, + arguments::argument_type::{ArgumentResult, ArgumentType}, + command::Command, + command_dispatcher::CommandDispatcher, + redirect_modifier::RedirectModifier, tree::command_node::CommandNode, }; @@ -26,7 +28,7 @@ use super::{ #[derive(Clone)] pub struct CommandContextBuilder { - arguments: HashMap>, + arguments: HashMap>>, root_node: dyn CommandNode, nodes: Vec>, dispatcher: CommandDispatcher, @@ -77,13 +79,15 @@ impl CommandContextBuilder { pub fn with_argument( mut self, name: String, - argument: ParsedArgument, + argument: ParsedArgument>, ) -> Self { self.arguments.insert(name, argument); self } - pub fn arguments(&self) -> &HashMap> { + pub fn arguments( + &self, + ) -> &HashMap>> { &self.arguments } diff --git a/azalea-brigadier/src/context/parsed_argument.rs b/azalea-brigadier/src/context/parsed_argument.rs index 5f9c2cdb..77a47078 100644 --- a/azalea-brigadier/src/context/parsed_argument.rs +++ b/azalea-brigadier/src/context/parsed_argument.rs @@ -1,12 +1,14 @@ +use std::marker::PhantomData; + use super::string_range::StringRange; #[derive(PartialEq, Eq, Hash)] -pub struct ParsedArgument { +pub struct ParsedArgument { range: StringRange, result: T, } -impl ParsedArgument { +impl ParsedArgument { fn new(start: usize, end: usize, result: T) -> Self { Self { range: StringRange::between(start, end), -- cgit v1.2.3