diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-11-21 16:49:26 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-11-21 17:11:40 +0100 |
| commit | c28d2130ddda3ae9b25cc16c3015087990ccb6e9 (patch) | |
| tree | 71954529366fd10bbaa42b945eccd9cacba5964f /src | |
| parent | 1d7e082d1d83d4c7e454a2d08258794d716aea1a (diff) | |
Don't display functions
Diffstat (limited to 'src')
| -rw-r--r-- | src/model/eval.rs | 6 | ||||
| -rw-r--r-- | src/model/func.rs | 4 | ||||
| -rw-r--r-- | src/model/styles.rs | 2 | ||||
| -rw-r--r-- | src/model/value.rs | 23 |
4 files changed, 15 insertions, 20 deletions
diff --git a/src/model/eval.rs b/src/model/eval.rs index eb6b8ddb..79ad0815 100644 --- a/src/model/eval.rs +++ b/src/model/eval.rs @@ -183,7 +183,7 @@ impl Eval for ast::MarkupNode { Self::Desc(v) => v.eval(vm)?, Self::Label(_) => unimplemented!("handled above"), Self::Ref(v) => v.eval(vm)?, - Self::Expr(v) => v.eval(vm)?.display(vm.world), + Self::Expr(v) => v.eval(vm)?.display(), } .spanned(self.span())) } @@ -474,7 +474,7 @@ fn eval_code( break; } - let tail = eval_code(vm, exprs)?.display(vm.world); + let tail = eval_code(vm, exprs)?.display(); Value::Content(tail.styled_with_map(styles)) } ast::Expr::Show(show) => { @@ -483,7 +483,7 @@ fn eval_code( break; } - let tail = eval_code(vm, exprs)?.display(vm.world); + let tail = eval_code(vm, exprs)?.display(); Value::Content(tail.styled_with_recipe(vm.world, recipe)?) } _ => expr.eval(vm)?, diff --git a/src/model/func.rs b/src/model/func.rs index 21e36784..cb4f5280 100644 --- a/src/model/func.rs +++ b/src/model/func.rs @@ -141,8 +141,8 @@ impl Func { impl Debug for Func { fn fmt(&self, f: &mut Formatter) -> fmt::Result { match self.name() { - Some(name) => f.write_str(name), - None => f.write_str("(..) => {..}"), + Some(name) => write!(f, "<function {name}>"), + None => f.write_str("<function>"), } } } diff --git a/src/model/styles.rs b/src/model/styles.rs index 324b52f5..4195d3e1 100644 --- a/src/model/styles.rs +++ b/src/model/styles.rs @@ -510,7 +510,7 @@ impl Transform { let point = || Tracepoint::Apply(content.name().into()); result = result.trace(world, point, span); } - Ok(result?.display(world)) + Ok(result?.display()) } } } diff --git a/src/model/value.rs b/src/model/value.rs index 9e6968fa..aec68ca1 100644 --- a/src/model/value.rs +++ b/src/model/value.rs @@ -4,14 +4,12 @@ use std::fmt::{self, Debug, Formatter}; use std::hash::{Hash, Hasher}; use std::sync::Arc; -use comemo::Tracked; use siphasher::sip128::{Hasher128, SipHasher}; use super::{format_str, ops, Args, Array, Cast, Content, Dict, Func, Str}; use crate::diag::StrResult; use crate::geom::{Abs, Angle, Color, Em, Fr, Length, Ratio, Rel, RgbaColor}; use crate::util::{format_eco, EcoString}; -use crate::World; /// A computational value. #[derive(Clone)] @@ -98,18 +96,15 @@ impl Value { } /// Return the display representation of the value. - pub fn display(self, world: Tracked<dyn World>) -> Content { - let items = &world.config().items; + pub fn display(self) -> Content { match self { - Value::None => Content::empty(), - Value::Int(v) => (items.text)(format_eco!("{}", v)), - Value::Float(v) => (items.text)(format_eco!("{}", v)), - Value::Str(v) => (items.text)(v.into()), - Value::Content(v) => v, - - // For values which can't be shown "naturally", we return the raw - // representation with typst code syntax highlighting. - v => (items.raw)(v.repr().into(), Some("typc".into()), false), + Self::None => Content::empty(), + Self::Int(v) => item!(text)(format_eco!("{}", v)), + Self::Float(v) => item!(text)(format_eco!("{}", v)), + Self::Str(v) => item!(text)(v.into()), + Self::Content(v) => v, + Self::Func(_) => Content::empty(), + _ => item!(raw)(self.repr().into(), Some("typc".into()), false), } } } @@ -425,7 +420,7 @@ mod tests { test(dict!["two" => false, "one" => 1], "(one: 1, two: false)"); // Functions, content and dynamics. - test(Func::from_fn("nil", |_, _| Ok(Value::None)), "nil"); + test(Func::from_fn("nil", |_, _| Ok(Value::None)), "<function nil>"); test(Dynamic::new(1), "1"); } } |
