azalea_brigadier/arguments/
argument_type.rs1use 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}