aboutsummaryrefslogtreecommitdiff
path: root/azalea-brigadier/src/builder
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2023-10-12 22:01:15 -0500
committermat <git@matdoes.dev>2023-10-12 22:01:15 -0500
commit79ad1e93bf6ce2b7c2da6925a7c85b33bb76f154 (patch)
tree19004abf51cb19eb3b5cc13c61d670889cb228a0 /azalea-brigadier/src/builder
parentf505ace721d4c214cd32143febd0a066b6b95ce5 (diff)
downloadazalea-drasl-79ad1e93bf6ce2b7c2da6925a7c85b33bb76f154.tar.xz
brigadier suggestions
closes #109
Diffstat (limited to 'azalea-brigadier/src/builder')
-rwxr-xr-xazalea-brigadier/src/builder/required_argument_builder.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/azalea-brigadier/src/builder/required_argument_builder.rs b/azalea-brigadier/src/builder/required_argument_builder.rs
index 60fa713f..1c79f619 100755
--- a/azalea-brigadier/src/builder/required_argument_builder.rs
+++ b/azalea-brigadier/src/builder/required_argument_builder.rs
@@ -1,6 +1,9 @@
use super::argument_builder::{ArgumentBuilder, ArgumentBuilderType};
use crate::{
- arguments::ArgumentType, exceptions::CommandSyntaxException, string_reader::StringReader,
+ arguments::ArgumentType,
+ exceptions::CommandSyntaxException,
+ string_reader::StringReader,
+ suggestion::{Suggestions, SuggestionsBuilder},
};
use std::{any::Any, fmt::Debug, sync::Arc};
@@ -22,6 +25,17 @@ impl Argument {
pub fn parse(&self, reader: &mut StringReader) -> Result<Arc<dyn Any>, CommandSyntaxException> {
self.parser.parse(reader)
}
+
+ pub fn list_suggestions(&self, builder: SuggestionsBuilder) -> Suggestions {
+ // TODO: custom suggestions
+ // https://github.com/Mojang/brigadier/blob/master/src/main/java/com/mojang/brigadier/tree/ArgumentCommandNode.java#L71
+
+ self.parser.list_suggestions(builder)
+ }
+
+ pub fn examples(&self) -> Vec<String> {
+ self.parser.examples()
+ }
}
impl From<Argument> for ArgumentBuilderType {