Return type directly if Result is unnecessary
This commit is contained in:
parent
04417ea0f9
commit
99259784cf
1 changed files with 17 additions and 17 deletions
34
src/parse.rs
34
src/parse.rs
|
|
@ -31,11 +31,11 @@ fn fail<S: Into<String>, T>(span: Span, message: S) -> Result<T> {
|
||||||
Err(error(span, message))
|
Err(error(span, message))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_title(p: Pair<Rule>) -> Result<String> {
|
fn parse_title(p: Pair<Rule>) -> String {
|
||||||
assert_eq!(p.as_rule(), Rule::title);
|
assert_eq!(p.as_rule(), Rule::title);
|
||||||
let p = p.into_inner().next().unwrap();
|
let p = p.into_inner().next().unwrap();
|
||||||
assert_eq!(p.as_rule(), Rule::rest_some);
|
assert_eq!(p.as_rule(), Rule::rest_some);
|
||||||
Ok(p.as_str().to_string())
|
p.as_str().to_string()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_datum(p: Pair<Rule>) -> Result<NaiveDate> {
|
fn parse_datum(p: Pair<Rule>) -> Result<NaiveDate> {
|
||||||
|
|
@ -98,7 +98,7 @@ impl Amount {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_amount(p: Pair<Rule>) -> Result<Amount> {
|
fn parse_amount(p: Pair<Rule>) -> Amount {
|
||||||
assert_eq!(p.as_rule(), Rule::amount);
|
assert_eq!(p.as_rule(), Rule::amount);
|
||||||
|
|
||||||
let mut sign = None;
|
let mut sign = None;
|
||||||
|
|
@ -117,12 +117,12 @@ fn parse_amount(p: Pair<Rule>) -> Result<Amount> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(Amount { sign, value })
|
Amount { sign, value }
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_weekday(p: Pair<Rule>) -> Result<Weekday> {
|
fn parse_weekday(p: Pair<Rule>) -> Weekday {
|
||||||
assert_eq!(p.as_rule(), Rule::weekday);
|
assert_eq!(p.as_rule(), Rule::weekday);
|
||||||
Ok(match p.as_str() {
|
match p.as_str() {
|
||||||
"mon" => Weekday::Monday,
|
"mon" => Weekday::Monday,
|
||||||
"tue" => Weekday::Tuesday,
|
"tue" => Weekday::Tuesday,
|
||||||
"wed" => Weekday::Wednesday,
|
"wed" => Weekday::Wednesday,
|
||||||
|
|
@ -131,7 +131,7 @@ fn parse_weekday(p: Pair<Rule>) -> Result<Weekday> {
|
||||||
"sat" => Weekday::Saturday,
|
"sat" => Weekday::Saturday,
|
||||||
"sun" => Weekday::Sunday,
|
"sun" => Weekday::Sunday,
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_delta_weekdays(p: Pair<Rule>, sign: &mut Option<Sign>) -> Result<DeltaStep> {
|
fn parse_delta_weekdays(p: Pair<Rule>, sign: &mut Option<Sign>) -> Result<DeltaStep> {
|
||||||
|
|
@ -139,8 +139,8 @@ fn parse_delta_weekdays(p: Pair<Rule>, sign: &mut Option<Sign>) -> Result<DeltaS
|
||||||
let span = p.as_span();
|
let span = p.as_span();
|
||||||
let mut p = p.into_inner();
|
let mut p = p.into_inner();
|
||||||
|
|
||||||
let amount = parse_amount(p.next().unwrap())?;
|
let amount = parse_amount(p.next().unwrap());
|
||||||
let weekday = parse_weekday(p.next().unwrap())?;
|
let weekday = parse_weekday(p.next().unwrap());
|
||||||
|
|
||||||
assert_eq!(p.next(), None);
|
assert_eq!(p.next(), None);
|
||||||
|
|
||||||
|
|
@ -169,7 +169,7 @@ fn parse_delta_step(
|
||||||
));
|
));
|
||||||
|
|
||||||
let span = p.as_span();
|
let span = p.as_span();
|
||||||
let amount = parse_amount(p.into_inner().next().unwrap())?.with_prev_sign(*sign);
|
let amount = parse_amount(p.into_inner().next().unwrap()).with_prev_sign(*sign);
|
||||||
let value = amount
|
let value = amount
|
||||||
.value()
|
.value()
|
||||||
.ok_or_else(|| error(span, "ambiguous sign"))?;
|
.ok_or_else(|| error(span, "ambiguous sign"))?;
|
||||||
|
|
@ -270,9 +270,9 @@ fn parse_date_fixed(p: Pair<Rule>) -> Result<DateSpec> {
|
||||||
Ok(spec)
|
Ok(spec)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_number(p: Pair<Rule>) -> Result<i32> {
|
fn parse_number(p: Pair<Rule>) -> i32 {
|
||||||
assert_eq!(p.as_rule(), Rule::number);
|
assert_eq!(p.as_rule(), Rule::number);
|
||||||
Ok(p.as_str().parse().unwrap())
|
p.as_str().parse().unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_term(p: Pair<Rule>) -> Expr {
|
fn parse_term(p: Pair<Rule>) -> Expr {
|
||||||
|
|
@ -283,10 +283,10 @@ fn parse_op(l: Expr, p: Pair<Rule>, r: Expr) -> Expr {
|
||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_expr(p: Pair<Rule>) -> Result<Expr> {
|
fn parse_expr(p: Pair<Rule>) -> Expr {
|
||||||
assert_eq!(p.as_rule(), Rule::expr);
|
assert_eq!(p.as_rule(), Rule::expr);
|
||||||
let climber = PrecClimber::new(vec![todo!()]);
|
let climber = PrecClimber::new(vec![todo!()]);
|
||||||
Ok(climber.climb(p.into_inner(), parse_term, parse_op))
|
climber.climb(p.into_inner(), parse_term, parse_op)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_date_expr(p: Pair<Rule>) -> Result<FormulaSpec> {
|
fn parse_date_expr(p: Pair<Rule>) -> Result<FormulaSpec> {
|
||||||
|
|
@ -411,7 +411,7 @@ fn parse_task(p: Pair<Rule>) -> Result<Task> {
|
||||||
assert_eq!(p.as_rule(), Rule::task);
|
assert_eq!(p.as_rule(), Rule::task);
|
||||||
let mut p = p.into_inner();
|
let mut p = p.into_inner();
|
||||||
|
|
||||||
let title = parse_title(p.next().unwrap())?;
|
let title = parse_title(p.next().unwrap());
|
||||||
let opts = parse_options(p.next().unwrap())?;
|
let opts = parse_options(p.next().unwrap())?;
|
||||||
let desc = parse_description(p.next().unwrap())?;
|
let desc = parse_description(p.next().unwrap())?;
|
||||||
|
|
||||||
|
|
@ -432,7 +432,7 @@ fn parse_note(p: Pair<Rule>) -> Result<Note> {
|
||||||
assert_eq!(p.as_rule(), Rule::note);
|
assert_eq!(p.as_rule(), Rule::note);
|
||||||
let mut p = p.into_inner();
|
let mut p = p.into_inner();
|
||||||
|
|
||||||
let title = parse_title(p.next().unwrap())?;
|
let title = parse_title(p.next().unwrap());
|
||||||
let opts = parse_options(p.next().unwrap())?;
|
let opts = parse_options(p.next().unwrap())?;
|
||||||
let desc = parse_description(p.next().unwrap())?;
|
let desc = parse_description(p.next().unwrap())?;
|
||||||
|
|
||||||
|
|
@ -483,7 +483,7 @@ fn parse_birthday(p: Pair<Rule>) -> Result<Birthday> {
|
||||||
assert_eq!(p.as_rule(), Rule::birthday);
|
assert_eq!(p.as_rule(), Rule::birthday);
|
||||||
let mut p = p.into_inner();
|
let mut p = p.into_inner();
|
||||||
|
|
||||||
let title = parse_title(p.next().unwrap())?;
|
let title = parse_title(p.next().unwrap());
|
||||||
let when = parse_bdate(p.next().unwrap())?;
|
let when = parse_bdate(p.next().unwrap())?;
|
||||||
let desc = parse_description(p.next().unwrap())?;
|
let desc = parse_description(p.next().unwrap())?;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue