summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2017-10-28 21:35:06 +0200
committerMatthias Beyer <mail@beyermatthias.de>2017-10-28 21:35:39 +0200
commit8cc947e67d99c6c00f17b9c443f8c1c2bc721410 (patch)
tree8c5fa7e1459abc37a69230ae8e18d379332afe66
parent17fab62f7af0eb8aa67480111a95c3f042331e66 (diff)
Add debug, partialeq, eq derive
-rw-r--r--src/parser.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/parser.rs b/src/parser.rs
index b1d8955..16973e8 100644
--- a/src/parser.rs
+++ b/src/parser.rs
@@ -77,6 +77,7 @@ named!(unit_parser<Unit>, alt_complete!(
tag!("yrs") => { |_| Unit::Year }
));
+#[derive(Debug, PartialEq, Eq)]
pub enum Unit {
Second,
Minute,
@@ -92,6 +93,7 @@ named!(operator_parser<Operator>, alt!(
tag!("-") => { |_| Operator::Minus }
));
+#[derive(Debug, PartialEq, Eq)]
pub enum Operator {
Plus,
Minus,
@@ -103,6 +105,7 @@ named!(amount_parser<Amount>, do_parse!(
(Amount(number, unit))
));
+#[derive(Debug, PartialEq, Eq)]
pub struct Amount(i64, Unit);
named!(iter_spec<Iterspec>, alt!(
@@ -121,6 +124,7 @@ named!(iter_spec<Iterspec>, alt!(
)
));
+#[derive(Debug, PartialEq, Eq)]
pub enum Iterspec {
Secondly,
Minutely,
@@ -138,6 +142,7 @@ named!(amount_expr<AmountExpr>, do_parse!(
(AmountExpr { amount: amount, next: o, })
));
+#[derive(Debug, PartialEq, Eq)]
pub struct AmountExpr {
amount: Amount,
next: Option<(Operator, Box<AmountExpr>)>,
@@ -162,6 +167,7 @@ named!(exact_date_parser<ExactDate>, alt!(
do_parse!(d: parse_datetime >> (ExactDate::Iso8601DateTime(d)))
));
+#[derive(Debug, PartialEq, Eq)]
pub enum ExactDate {
Today,
Yesterday,
@@ -176,6 +182,7 @@ named!(date<Date>, do_parse!(
(Date(exact, o))
));
+#[derive(Debug, PartialEq, Eq)]
pub struct Date(ExactDate, Option<(Operator, AmountExpr)>);
named!(until_spec<UntilSpec>, alt!(
@@ -191,6 +198,7 @@ named!(until_spec<UntilSpec>, alt!(
)
));
+#[derive(Debug, PartialEq, Eq)]
pub enum UntilSpec {
Exact(ExactDate),
Times(i64)