OakErrorKind

Enum OakErrorKind 

Source
pub enum OakErrorKind {
Show 17 variants IoError { error: Error, url: Option<Url>, }, SyntaxError { message: String, offset: usize, url: Option<Url>, }, UnexpectedCharacter { character: char, offset: usize, url: Option<Url>, }, UnexpectedToken { token: String, offset: usize, url: Option<Url>, }, UnexpectedEof { offset: usize, url: Option<Url>, }, CustomError { message: String, }, InvalidTheme { message: String, }, UnsupportedFormat { format: String, }, ColorParseError { color: String, }, FormatError { message: String, }, SemanticError { message: String, }, ProtocolError { message: String, }, ExpectedToken { expected: String, offset: usize, url: Option<Url>, }, ExpectedName { name_kind: String, offset: usize, url: Option<Url>, }, TrailingCommaNotAllowed { offset: usize, url: Option<Url>, }, TestFailure { path: PathBuf, expected: String, actual: String, }, TestRegenerated { path: PathBuf, },
}
Expand description

Enumeration of all possible error kinds in the Oak Core framework.

This enum categorizes different types of language that can occur during parsing operations, each with specific associated data relevant to that error type.

Variants§

§

IoError

I/O error that occurred while reading source files.

Fields

§error: Error

The underlying I/O error.

§url: Option<Url>

Optional URL of the file that caused the error.

§

SyntaxError

Syntax error encountered during parsing.

Fields

§message: String

Human-readable error message describing the kind issue.

§offset: usize

The byte offset where the error occurred.

§url: Option<Url>

Optional URL of the file that caused the error.

§

UnexpectedCharacter

Unexpected character encountered during lexical analysis.

Fields

§character: char

The character that was not expected at this position.

§offset: usize

The byte offset where the unexpected character was found.

§url: Option<Url>

Optional URL of the file that caused the error.

§

UnexpectedToken

Unexpected token encountered during parsing.

Fields

§token: String

The token that was not expected.

§offset: usize

The byte offset where the unexpected token was found.

§url: Option<Url>

Optional URL of the file that caused the error.

§

UnexpectedEof

Unexpected end of file encountered during parsing.

Fields

§offset: usize

The byte offset where the EOF was encountered.

§url: Option<Url>

Optional URL of the file that caused the error.

§

CustomError

Custom error for user-defined error conditions.

Fields

§message: String

The error message describing the custom error condition.

§

InvalidTheme

Invalid theme error for highlighting.

Fields

§message: String

The error message.

§

UnsupportedFormat

Unsupported format error for exporting.

Fields

§format: String

The unsupported format.

§

ColorParseError

Color parsing error for themes.

Fields

§color: String

The invalid color string.

§

FormatError

Formatting error.

Fields

§message: String

The error message.

§

SemanticError

Semantic error.

Fields

§message: String

The error message.

§

ProtocolError

Protocol error (e.g., MCP, LSP).

Fields

§message: String

The error message.

§

ExpectedToken

Expected a specific token.

Fields

§expected: String

The token that was expected.

§offset: usize

The byte offset where the error occurred.

§url: Option<Url>

Optional URL of the file that caused the error.

§

ExpectedName

Expected a name (identifier).

Fields

§name_kind: String

The kind of name that was expected (e.g., “function name”).

§offset: usize

The byte offset where the error occurred.

§url: Option<Url>

Optional URL of the file that caused the error.

§

TrailingCommaNotAllowed

Trailing comma is not allowed.

Fields

§offset: usize

The byte offset where the error occurred.

§url: Option<Url>

Optional URL of the file that caused the error.

§

TestFailure

Test failure error.

Fields

§path: PathBuf

The file that failed the test.

§expected: String

The expected output.

§actual: String

The actual output.

§

TestRegenerated

Test expected result file was missing or regenerated.

Fields

§path: PathBuf

The file that was regenerated.

Implementations§

Source§

impl OakErrorKind

Source

pub fn key(&self) -> &'static str

Gets the i18n key for this error kind.

Trait Implementations§

Source§

impl Clone for OakErrorKind

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OakErrorKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for OakErrorKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for OakErrorKind

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<OakErrorKind> for OakError

Source§

fn from(kind: OakErrorKind) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.