diff options
| author | Laurenz <laurmaedje@gmail.com> | 2019-11-30 14:10:35 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2019-11-30 14:10:35 +0100 |
| commit | b13ed627fff73a599b34d760cd99aa2f08d58ea8 (patch) | |
| tree | f580390e1666af9f4f54c72c95ca438d4c999900 /src/library | |
| parent | b4efae08834a3a950387f01aebaa9e832acd9423 (diff) | |
Better error reporting 🚨
Diffstat (limited to 'src/library')
| -rw-r--r-- | src/library/align.rs (renamed from src/library/axes.rs) | 10 | ||||
| -rw-r--r-- | src/library/mod.rs | 2 | ||||
| -rw-r--r-- | src/library/spacing.rs | 2 |
3 files changed, 9 insertions, 5 deletions
diff --git a/src/library/axes.rs b/src/library/align.rs index 29b624ab..55063ebe 100644 --- a/src/library/axes.rs +++ b/src/library/align.rs @@ -52,7 +52,7 @@ function! { if target.is_none() { *target = Some(parse_align_specifier(arg)?); } else { - err!("duplicate alignment specification for {} axis", axis); + perr!("duplicate alignment specification for {} axis", axis); } }) }; @@ -136,7 +136,7 @@ fn parse_align_specifier(arg: Spanned<&str>) -> ParseResult<AlignSpecifier> { "right" => AlignSpecifier::Right, "top" => AlignSpecifier::Top, "bottom" => AlignSpecifier::Bottom, - s => err!("invalid alignment specifier: {}", s), + s => perr!("invalid alignment specifier: {}", s), }) } @@ -146,6 +146,10 @@ fn generic_alignment(spec: AlignSpecifier, horizontal: bool) -> LayoutResult<Ali (Origin, _) | (Left, true) | (Top, false) => Alignment::Origin, (Center, _) => Alignment::Center, (End, _) | (Right, true) | (Bottom, false) => Alignment::End, - _ => Err(LayoutError::UnalignedAxis("invalid alignment"))?, + _ => lerr!( + "invalid alignment specifier `{}` for {} axis", + format!("{:?}", spec).to_lowercase(), + if horizontal { "horizontal" } else { "vertical" }, + ), }) } diff --git a/src/library/mod.rs b/src/library/mod.rs index 5fa326c8..adcb974b 100644 --- a/src/library/mod.rs +++ b/src/library/mod.rs @@ -3,7 +3,7 @@ use crate::func::Scope; pub_use_mod!(boxed); -pub_use_mod!(axes); +pub_use_mod!(align); pub_use_mod!(spacing); pub_use_mod!(style); pub_use_mod!(page); diff --git a/src/library/spacing.rs b/src/library/spacing.rs index 01059484..d52153b1 100644 --- a/src/library/spacing.rs +++ b/src/library/spacing.rs @@ -38,7 +38,7 @@ macro_rules! space_func { let spacing = match arg.val { Expression::Size(s) => Spacing::Absolute(*s), Expression::Num(f) => Spacing::Relative(*f as f32), - _ => err!("invalid spacing, expected size or number"), + _ => perr!("invalid spacing, expected size or number"), }; Ok($ident(spacing)) |
