diff --git a/crates/nu-protocol/src/engine/pattern_match.rs b/crates/nu-protocol/src/engine/pattern_match.rs index 3f1ff3bc5c..2159ac66f8 100644 --- a/crates/nu-protocol/src/engine/pattern_match.rs +++ b/crates/nu-protocol/src/engine/pattern_match.rs @@ -77,6 +77,13 @@ impl Matcher for Pattern { false } } + Expr::Float(x) => { + if let Value::Float { val, .. } = &value { + x == val + } else { + false + } + } Expr::Binary(x) => { if let Value::Binary { val, .. } = &value { x == val @@ -91,6 +98,20 @@ impl Matcher for Pattern { false } } + Expr::String(x) => { + if let Value::String { val, .. } = &value { + x == val + } else { + false + } + } + Expr::DateTime(x) => { + if let Value::Date { val, .. } = &value { + x == val + } else { + false + } + } Expr::ValueWithUnit(amount, unit) => { if let Value::Filesize { val, .. } = &value { // FIXME: we probably want this math in one place that both the