aboutsummaryrefslogtreecommitdiff
path: root/azalea-brigadier/src/exceptions
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-04-17 14:02:13 -0500
committermat <github@matdoes.dev>2022-04-17 14:02:13 -0500
commita72a47ced76065caf739898954cd18edbc39174b (patch)
tree5526c7663f253bbd7c8318b9d98413f1f2074852 /azalea-brigadier/src/exceptions
parent4ff67d4917ce333232189e86aee09f2d82451fc6 (diff)
downloadazalea-drasl-a72a47ced76065caf739898954cd18edbc39174b.tar.xz
Rewrite brigadier
Diffstat (limited to 'azalea-brigadier/src/exceptions')
-rw-r--r--azalea-brigadier/src/exceptions/builtin_exception_provider.rs1
-rw-r--r--azalea-brigadier/src/exceptions/builtin_exceptions.rs16
-rw-r--r--azalea-brigadier/src/exceptions/command_syntax_exception.rs6
-rw-r--r--azalea-brigadier/src/exceptions/mod.rs1
4 files changed, 13 insertions, 11 deletions
diff --git a/azalea-brigadier/src/exceptions/builtin_exception_provider.rs b/azalea-brigadier/src/exceptions/builtin_exception_provider.rs
deleted file mode 100644
index 8b137891..00000000
--- a/azalea-brigadier/src/exceptions/builtin_exception_provider.rs
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/azalea-brigadier/src/exceptions/builtin_exceptions.rs b/azalea-brigadier/src/exceptions/builtin_exceptions.rs
index 1533364b..5f2e1605 100644
--- a/azalea-brigadier/src/exceptions/builtin_exceptions.rs
+++ b/azalea-brigadier/src/exceptions/builtin_exceptions.rs
@@ -1,6 +1,6 @@
use std::fmt;
-use crate::{immutable_string_reader::ImmutableStringReader, message::Message};
+use crate::{message::Message, string_reader::StringReader};
use super::command_syntax_exception::CommandSyntaxException;
@@ -35,9 +35,9 @@ pub enum BuiltInExceptions {
ReaderExpectedBool,
ReaderExpectedSymbol { symbol: char },
- ReaderUnknownCommand,
- ReaderUnknownArgument,
- DusoatcgerExpectedArgumentSeparator,
+ DispatcherUnknownCommand,
+ DispatcherUnknownArgument,
+ DispatcherExpectedArgumentSeparator,
DispatcherParseException { message: String },
}
@@ -127,13 +127,13 @@ impl fmt::Debug for BuiltInExceptions {
write!(f, "Expected '{}'", symbol)
}
- BuiltInExceptions::ReaderUnknownCommand => {
+ BuiltInExceptions::DispatcherUnknownCommand => {
write!(f, "Unknown command")
}
- BuiltInExceptions::ReaderUnknownArgument => {
+ BuiltInExceptions::DispatcherUnknownArgument => {
write!(f, "Incorrect argument for command")
}
- BuiltInExceptions::DusoatcgerExpectedArgumentSeparator => {
+ BuiltInExceptions::DispatcherExpectedArgumentSeparator => {
write!(
f,
"Expected whitespace to end one argument, but found trailing data"
@@ -152,7 +152,7 @@ impl BuiltInExceptions {
CommandSyntaxException::create(self, message)
}
- pub fn create_with_context(self, reader: &dyn ImmutableStringReader) -> CommandSyntaxException {
+ pub fn create_with_context(self, reader: &StringReader) -> CommandSyntaxException {
let message = Message::from(format!("{:?}", self));
CommandSyntaxException::new(self, message, reader.string(), reader.cursor())
}
diff --git a/azalea-brigadier/src/exceptions/command_syntax_exception.rs b/azalea-brigadier/src/exceptions/command_syntax_exception.rs
index 38aa1c3a..6cd4e53d 100644
--- a/azalea-brigadier/src/exceptions/command_syntax_exception.rs
+++ b/azalea-brigadier/src/exceptions/command_syntax_exception.rs
@@ -3,6 +3,7 @@ use std::{cmp, fmt, rc::Rc};
use super::builtin_exceptions::BuiltInExceptions;
use crate::message::Message;
+#[derive(Clone)]
pub struct CommandSyntaxException {
type_: BuiltInExceptions,
message: Message,
@@ -59,7 +60,10 @@ impl CommandSyntaxException {
builder.push_str("...");
}
- builder.push_str(&input[cmp::max(0, cursor - CONTEXT_AMOUNT)..cursor]);
+ builder.push_str(
+ &input
+ [(cmp::max(0, cursor as isize - CONTEXT_AMOUNT as isize) as usize)..cursor],
+ );
builder.push_str("<--[HERE]");
return Some(builder);
diff --git a/azalea-brigadier/src/exceptions/mod.rs b/azalea-brigadier/src/exceptions/mod.rs
index 4a82b01e..0bca556e 100644
--- a/azalea-brigadier/src/exceptions/mod.rs
+++ b/azalea-brigadier/src/exceptions/mod.rs
@@ -1,3 +1,2 @@
-pub mod builtin_exception_provider;
pub mod builtin_exceptions;
pub mod command_syntax_exception;