From 671ce3dedd40067bb5cea84fe0739de013827053 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 31 Oct 2022 13:49:10 +0100 Subject: Replace `encode` with `field` --- src/library/text/deco.rs | 7 +++++-- src/library/text/link.rs | 13 +++++++------ src/library/text/mod.rs | 14 ++++++++++---- src/library/text/raw.rs | 13 +++++-------- src/library/text/shift.rs | 7 +++++-- 5 files changed, 32 insertions(+), 22 deletions(-) (limited to 'src/library/text') diff --git a/src/library/text/deco.rs b/src/library/text/deco.rs index 6a4905c8..ead928f6 100644 --- a/src/library/text/deco.rs +++ b/src/library/text/deco.rs @@ -44,8 +44,11 @@ impl Show for DecoNode { Self(self.0.unguard(sel)).pack() } - fn encode(&self, _: StyleChain) -> Dict { - dict! { "body" => Value::Content(self.0.clone()) } + fn field(&self, name: &str) -> Option { + match name { + "body" => Some(Value::Content(self.0.clone())), + _ => None, + } } fn realize( diff --git a/src/library/text/link.rs b/src/library/text/link.rs index 7c4a95ed..98a867a8 100644 --- a/src/library/text/link.rs +++ b/src/library/text/link.rs @@ -58,16 +58,17 @@ impl Show for LinkNode { .pack() } - fn encode(&self, _: StyleChain) -> Dict { - dict! { - "url" => match &self.dest { + fn field(&self, name: &str) -> Option { + match name { + "url" => Some(match &self.dest { Destination::Url(url) => Value::Str(url.clone().into()), Destination::Internal(loc) => Value::Dict(loc.encode()), - }, - "body" => match &self.body { + }), + "body" => Some(match &self.body { Some(body) => Value::Content(body.clone()), None => Value::None, - }, + }), + _ => None, } } diff --git a/src/library/text/mod.rs b/src/library/text/mod.rs index 2d302b9a..d7d2ee38 100644 --- a/src/library/text/mod.rs +++ b/src/library/text/mod.rs @@ -515,8 +515,11 @@ impl Show for StrongNode { Self(self.0.unguard(sel)).pack() } - fn encode(&self, _: StyleChain) -> Dict { - dict! { "body" => Value::Content(self.0.clone()) } + fn field(&self, name: &str) -> Option { + match name { + "body" => Some(Value::Content(self.0.clone())), + _ => None, + } } fn realize(&self, _: Tracked, _: StyleChain) -> SourceResult { @@ -540,8 +543,11 @@ impl Show for EmphNode { Self(self.0.unguard(sel)).pack() } - fn encode(&self, _: StyleChain) -> Dict { - dict! { "body" => Value::Content(self.0.clone()) } + fn field(&self, name: &str) -> Option { + match name { + "body" => Some(Value::Content(self.0.clone())), + _ => None, + } } fn realize(&self, _: Tracked, _: StyleChain) -> SourceResult { diff --git a/src/library/text/raw.rs b/src/library/text/raw.rs index d237aa92..6d19deff 100644 --- a/src/library/text/raw.rs +++ b/src/library/text/raw.rs @@ -46,14 +46,11 @@ impl Show for RawNode { Self { text: self.text.clone(), ..*self }.pack() } - fn encode(&self, styles: StyleChain) -> Dict { - dict! { - "text" => Value::Str(self.text.clone().into()), - "block" => Value::Bool(self.block), - "lang" => match styles.get(Self::LANG) { - Some(lang) => Value::Str(lang.clone().into()), - None => Value::None, - }, + fn field(&self, name: &str) -> Option { + match name { + "text" => Some(Value::Str(self.text.clone().into())), + "block" => Some(Value::Bool(self.block)), + _ => None, } } diff --git a/src/library/text/shift.rs b/src/library/text/shift.rs index adad5dc0..e2a636a6 100644 --- a/src/library/text/shift.rs +++ b/src/library/text/shift.rs @@ -38,8 +38,11 @@ impl Show for ShiftNode { Self(self.0.clone()).pack() } - fn encode(&self, _: StyleChain) -> Dict { - dict! { "body" => Value::Content(self.0.clone()) } + fn field(&self, name: &str) -> Option { + match name { + "body" => Some(Value::Content(self.0.clone())), + _ => None, + } } fn realize( -- cgit v1.2.3