diff options
| author | mat <github@matdoes.dev> | 2022-01-09 23:46:23 -0600 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2022-01-09 23:46:23 -0600 |
| commit | fec7a2bfedc562306523b9d3c51b97e376dc32d9 (patch) | |
| tree | a7f95d0eab97c7fa4a20a8b335feff752ba83dff /azalea-brigadier/src/arguments | |
| parent | 315f2258190b33c63df7797a97178019f5aea02b (diff) | |
| download | azalea-drasl-fec7a2bfedc562306523b9d3c51b97e376dc32d9.tar.xz | |
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Diffstat (limited to 'azalea-brigadier/src/arguments')
| -rw-r--r-- | azalea-brigadier/src/arguments/argument_type.rs | 12 | ||||
| -rw-r--r-- | azalea-brigadier/src/arguments/bool_argument_type.rs | 2 |
2 files changed, 10 insertions, 4 deletions
diff --git a/azalea-brigadier/src/arguments/argument_type.rs b/azalea-brigadier/src/arguments/argument_type.rs index 34d57285..ea453a1a 100644 --- a/azalea-brigadier/src/arguments/argument_type.rs +++ b/azalea-brigadier/src/arguments/argument_type.rs @@ -5,7 +5,12 @@ use crate::{ suggestion::{suggestions::Suggestions, suggestions_builder::SuggestionsBuilder}, }; -pub trait ArgumentType { +pub trait ArgumentResult {} + +pub trait ArgumentType<T> +where + T: ArgumentResult, +{ // T parse(StringReader reader) throws CommandSyntaxException; // default <S> CompletableFuture<Suggestions> listSuggestions(final CommandContext<S> context, final SuggestionsBuilder builder) { @@ -16,12 +21,13 @@ pub trait ArgumentType { // return Collections.emptyList(); // } - fn parse<T>(reader: &mut StringReader) -> Result<T, CommandSyntaxException>; + fn parse(&self, reader: &mut StringReader) -> Result<T, CommandSyntaxException>; fn list_suggestions<S>( + &self, context: &CommandContext<S>, builder: &mut SuggestionsBuilder, ) -> Result<Suggestions, CommandSyntaxException>; - fn get_examples() -> Vec<String>; + fn get_examples(&self) -> Vec<String>; } diff --git a/azalea-brigadier/src/arguments/bool_argument_type.rs b/azalea-brigadier/src/arguments/bool_argument_type.rs index f4c03373..74df3331 100644 --- a/azalea-brigadier/src/arguments/bool_argument_type.rs +++ b/azalea-brigadier/src/arguments/bool_argument_type.rs @@ -4,7 +4,7 @@ use super::argument_type::ArgumentType; struct BoolArgumentType {} -impl ArgumentType for BoolArgumentType {} +impl ArgumentType<bool> for BoolArgumentType {} impl BoolArgumentType { const EXAMPLES: &'static [&'static str] = &["true", "false"]; |
