azalea_brigadier/arguments/
argument_type.rs

1use std::{any::Any, sync::Arc};
2
3use crate::{
4    exceptions::CommandSyntaxException,
5    string_reader::StringReader,
6    suggestion::{Suggestions, SuggestionsBuilder},
7};
8
9pub trait ArgumentType {
10    fn parse(&self, reader: &mut StringReader) -> Result<Arc<dyn Any>, CommandSyntaxException>;
11
12    fn list_suggestions(&self, _builder: SuggestionsBuilder) -> Suggestions {
13        Suggestions::default()
14    }
15
16    fn examples(&self) -> Vec<String> {
17        vec![]
18    }
19}