summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-03-08 19:49:22 +0100
committerLaurenz <laurmaedje@gmail.com>2022-03-08 19:49:22 +0100
commitd24c7030d819fd6c6e8e73663ddfe42047cca397 (patch)
tree757079bf1ca8b940253f95aa74f17cc7deefd7b8 /src
parent3ca5b238238e1128aa7bbfbd5db9e632045d8600 (diff)
Allow access to numbering for unordered lists
Diffstat (limited to 'src')
-rw-r--r--src/library/elements/list.rs4
-rw-r--r--src/library/layout/page.rs29
2 files changed, 8 insertions, 25 deletions
diff --git a/src/library/elements/list.rs b/src/library/elements/list.rs
index 726a2834..2c536e2a 100644
--- a/src/library/elements/list.rs
+++ b/src/library/elements/list.rs
@@ -72,10 +72,6 @@ impl<const L: ListKind> Show for ListNode<L> {
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 f5d766a5..4b6d68c5 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<Self, Self::Err> {
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 {}