summaryrefslogtreecommitdiff
path: root/src/eval/value.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-05-03 16:59:13 +0200
committerLaurenz <laurmaedje@gmail.com>2022-05-04 00:14:31 +0200
commit507c5fc92563560426db0d86c0348880b0493467 (patch)
tree45116b62fb0fffe8e88d6c96ae1fcf11c73f8ee9 /src/eval/value.rs
parente18a896a93cae987aa30addd40e678bf0064fd31 (diff)
Text replacement show rules
Diffstat (limited to 'src/eval/value.rs')
-rw-r--r--src/eval/value.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/eval/value.rs b/src/eval/value.rs
index ba30348f..fc54cbce 100644
--- a/src/eval/value.rs
+++ b/src/eval/value.rs
@@ -5,7 +5,7 @@ use std::hash::{Hash, Hasher};
use std::num::NonZeroUsize;
use std::sync::Arc;
-use super::{ops, Args, Array, Dict, Func, RawLength};
+use super::{ops, Args, Array, Dict, Func, RawLength, Regex};
use crate::diag::{with_alternative, StrResult};
use crate::geom::{
Angle, Color, Dir, Em, Fraction, Length, Paint, Ratio, Relative, RgbaColor, Sides,
@@ -641,6 +641,10 @@ dynamic! {
Dir: "direction",
}
+dynamic! {
+ Regex: "regular expression",
+}
+
castable! {
usize,
Expected: "non-negative integer",
@@ -686,8 +690,10 @@ castable! {
castable! {
Pattern,
- Expected: "function",
+ Expected: "function, string or regular expression",
Value::Func(func) => Pattern::Node(func.node()?),
+ Value::Str(text) => Pattern::text(&text),
+ @regex: Regex => Pattern::Regex(regex.clone()),
}
#[cfg(test)]