From d24c7030d819fd6c6e8e73663ddfe42047cca397 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Tue, 8 Mar 2022 19:49:22 +0100 Subject: [PATCH] Allow access to numbering for unordered lists --- src/library/elements/list.rs | 4 ---- src/library/layout/page.rs | 29 ++++++++--------------------- 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/src/library/elements/list.rs b/src/library/elements/list.rs index 726a2834f..2c536e2af 100644 --- a/src/library/elements/list.rs +++ b/src/library/elements/list.rs @@ -72,10 +72,6 @@ impl Show for ListNode { for item in &self.items { number = item.number.unwrap_or(number); - if L == UNORDERED { - number = 1; - } - children.push(LayoutNode::default()); children.push(label.resolve(ctx, L, number)?.pack()); children.push(LayoutNode::default()); diff --git a/src/library/layout/page.rs b/src/library/layout/page.rs index f5d766a5f..4b6d68c52 100644 --- a/src/library/layout/page.rs +++ b/src/library/layout/page.rs @@ -1,4 +1,3 @@ -use std::fmt::{self, Display, Formatter}; use std::str::FromStr; use super::ColumnsNode; @@ -233,18 +232,24 @@ macro_rules! papers { } impl FromStr for Paper { - type Err = PaperError; + type Err = &'static str; fn from_str(name: &str) -> Result { match name.to_lowercase().as_str() { $($($pats)* => Ok(Self::$var),)* - _ => Err(PaperError), + _ => Err("invalid paper name"), } } } }; } +castable! { + Paper, + Expected: "string", + Value::Str(string) => Self::from_str(&string)?, +} + // All paper sizes in mm. // // Resources: @@ -399,21 +404,3 @@ papers! { (PRESENTATION_16_9: 297.0, 167.0625, "presentation-16-9") (PRESENTATION_4_3: 280.0, 210.0, "presentation-4-3") } - -castable! { - Paper, - Expected: "string", - Value::Str(string) => Paper::from_str(&string).map_err(|e| e.to_string())?, -} - -/// The error when parsing a [`Paper`] from a string fails. -#[derive(Debug, Copy, Clone, Eq, PartialEq)] -pub struct PaperError; - -impl Display for PaperError { - fn fmt(&self, f: &mut Formatter) -> fmt::Result { - f.pad("invalid paper name") - } -} - -impl std::error::Error for PaperError {}