aboutsummaryrefslogtreecommitdiff
path: root/azalea-brigadier/src/exceptions/command_syntax_exception.rs
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2025-05-30 20:07:28 -0330
committermat <git@matdoes.dev>2025-05-30 16:37:40 -0700
commita5e7ff771d657258cedcc7a8b3ce265c655f0860 (patch)
treeea5fdbbee32c1b9917a7ece03f6a1a70ee8e63fa /azalea-brigadier/src/exceptions/command_syntax_exception.rs
parentda73b4316de4b26322c53f14222c7751a0be55a1 (diff)
downloadazalea-drasl-a5e7ff771d657258cedcc7a8b3ce265c655f0860.tar.xz
implement missing brigadier features and cleanup some more
Diffstat (limited to 'azalea-brigadier/src/exceptions/command_syntax_exception.rs')
-rw-r--r--azalea-brigadier/src/exceptions/command_syntax_exception.rs94
1 files changed, 0 insertions, 94 deletions
diff --git a/azalea-brigadier/src/exceptions/command_syntax_exception.rs b/azalea-brigadier/src/exceptions/command_syntax_exception.rs
deleted file mode 100644
index c9b8134f..00000000
--- a/azalea-brigadier/src/exceptions/command_syntax_exception.rs
+++ /dev/null
@@ -1,94 +0,0 @@
-use std::{
- cmp,
- fmt::{self, Write},
-};
-
-use super::builtin_exceptions::BuiltInExceptions;
-
-#[derive(Clone, PartialEq)]
-pub struct CommandSyntaxException {
- pub type_: BuiltInExceptions,
- message: String,
- input: Option<String>,
- cursor: Option<usize>,
-}
-
-const CONTEXT_AMOUNT: usize = 10;
-
-impl CommandSyntaxException {
- pub fn new(type_: BuiltInExceptions, message: String, input: &str, cursor: usize) -> Self {
- Self {
- type_,
- message,
- input: Some(input.to_string()),
- cursor: Some(cursor),
- }
- }
-
- pub fn create(type_: BuiltInExceptions, message: String) -> Self {
- Self {
- type_,
- message,
- input: None,
- cursor: None,
- }
- }
-
- pub fn message(&self) -> String {
- let mut message = self.message.clone();
- let context = self.context();
- if let Some(context) = context {
- write!(
- message,
- " at position {}: {}",
- self.cursor.unwrap_or(usize::MAX),
- context
- )
- .unwrap();
- }
- message
- }
-
- pub fn raw_message(&self) -> &String {
- &self.message
- }
-
- pub fn context(&self) -> Option<String> {
- if let Some(input) = &self.input
- && let Some(cursor) = self.cursor
- {
- let mut builder = String::new();
- let cursor = cmp::min(input.len(), cursor);
-
- if cursor > CONTEXT_AMOUNT {
- builder.push_str("...");
- }
-
- builder.push_str(
- &input[(cmp::max(0, cursor as isize - CONTEXT_AMOUNT as isize) as usize)..cursor],
- );
- builder.push_str("<--[HERE]");
-
- return Some(builder);
- }
- None
- }
-
- pub fn get_type(&self) -> &BuiltInExceptions {
- &self.type_
- }
-
- pub fn input(&self) -> &Option<String> {
- &self.input
- }
-
- pub fn cursor(&self) -> Option<usize> {
- self.cursor
- }
-}
-
-impl fmt::Debug for CommandSyntaxException {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- write!(f, "{}", self.message())
- }
-}