diff options
Diffstat (limited to 'src/fexpr')
-rw-r--r-- | src/fexpr/grammar.lalrpop | 19 | ||||
-rw-r--r-- | src/fexpr/mod.rs | 13 |
2 files changed, 11 insertions, 21 deletions
diff --git a/src/fexpr/grammar.lalrpop b/src/fexpr/grammar.lalrpop index 6333783..ce78396 100644 --- a/src/fexpr/grammar.lalrpop +++ b/src/fexpr/grammar.lalrpop @@ -102,7 +102,6 @@ Regex: Regex = { .map_err(|error| ParseError::User { error: FError { location: l, - data: s.to_string(), kind: error.into(), } }), @@ -112,7 +111,6 @@ Regex: Regex = { .map_err(|error| ParseError::User { error: FError { location: l, - data: s.to_string(), kind: error.into(), } }), @@ -122,8 +120,7 @@ FightOutcome: FightOutcome = { <l:@L> <w:word> =>? w.parse().map_err(|_| ParseError::User { error: FError { location: l, - data: w.into(), - kind: FErrorKind::InvalidFightOutcome, + kind: FErrorKind::FightOutcome, } }), } @@ -132,8 +129,7 @@ Weekday: Weekday = { <l:@L> <w:word> =>? w.parse().map_err(|_| ParseError::User { error: FError { location: l, - data: w.into(), - kind: FErrorKind::InvalidWeekday, + kind: FErrorKind::Weekday, } }), } @@ -142,16 +138,14 @@ Encounter: Encounter = { <l:@L> <w:word> =>? w.parse().map_err(|_| ParseError::User { error: FError { location: l, - data: w.into(), - kind: FErrorKind::InvalidBoss, + kind: FErrorKind::Boss, } }), <l:@L> <s:string> =>? s[1..s.len() -1].parse().map_err(|_| ParseError::User { error: FError { location: l, - data: s.into(), - kind: FErrorKind::InvalidBoss, + kind: FErrorKind::Boss, } }), } @@ -160,8 +154,7 @@ PlayerClass: PlayerClass = { <l:@L> <w:word> =>? w.parse().map_err(|_| ParseError::User { error: FError { location: l, - data: w.into(), - kind: FErrorKind::InvalidClass, + kind: FErrorKind::Class, } }), } @@ -171,7 +164,6 @@ Date: DateTime<Utc> = { .map_err(|error| ParseError::User { error: FError { location: l, - data: d.into(), kind: error.into(), } }) @@ -180,7 +172,6 @@ Date: DateTime<Utc> = { .map_err(|error| ParseError::User { error: FError { location: l, - data: d.into(), kind: error.into(), } }) diff --git a/src/fexpr/mod.rs b/src/fexpr/mod.rs index 90242f2..0fe2acf 100644 --- a/src/fexpr/mod.rs +++ b/src/fexpr/mod.rs @@ -22,7 +22,6 @@ lalrpop_mod!(#[allow(clippy::all)] pub grammar, "/fexpr/grammar.rs"); #[derive(Debug)] pub struct FError { location: usize, - data: String, kind: FErrorKind, } @@ -41,17 +40,17 @@ impl error::Error for FError { #[derive(Debug, Error)] pub enum FErrorKind { #[error("invalid regular expression: {0}")] - InvalidRegex(#[from] regex::Error), + Regex(#[from] regex::Error), #[error("invalid fight outcome")] - InvalidFightOutcome, + FightOutcome, #[error("invalid weekday")] - InvalidWeekday, + Weekday, #[error("invalid timestamp: {0}")] - InvalidTimestamp(#[from] chrono::format::ParseError), + Timestamp(#[from] chrono::format::ParseError), #[error("invalid boss name")] - InvalidBoss, + Boss, #[error("invalid class name")] - InvalidClass, + Class, } /// Shortcut to create a new parser and parse the given input. |