mirror of
https://github.com/nushell/nushell.git
synced 2025-08-16 03:37:51 +02:00
@ -9,12 +9,12 @@ version = "0.19.0"
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
bigdecimal = { version = "0.1.2", features = ["serde"] }
|
||||
bigdecimal = {version = "0.2.0", features = ["serde"]}
|
||||
codespan-reporting = "0.9.5"
|
||||
derive-new = "0.5.8"
|
||||
indexmap = { version = "1.6.0", features = ["serde-1"] }
|
||||
indexmap = {version = "1.6.0", features = ["serde-1"]}
|
||||
log = "0.4.11"
|
||||
num-bigint = { version = "0.2.6", features = ["serde"] }
|
||||
num-bigint = {version = "0.3.0", features = ["serde"]}
|
||||
num-traits = "0.2.12"
|
||||
serde = "1.0.115"
|
||||
shellexpand = "2.0.0"
|
||||
|
@ -741,10 +741,14 @@ fn parse_arg(
|
||||
None,
|
||||
)
|
||||
} else if let Ok(x) = lite_arg.item.parse::<f64>() {
|
||||
(
|
||||
SpannedExpression::new(Expression::decimal(x), lite_arg.span),
|
||||
None,
|
||||
)
|
||||
if let Ok(x) = Expression::decimal(x) {
|
||||
(SpannedExpression::new(x, lite_arg.span), None)
|
||||
} else {
|
||||
(
|
||||
garbage(lite_arg.span),
|
||||
Some(ParseError::mismatch("number", lite_arg.clone())),
|
||||
)
|
||||
}
|
||||
} else {
|
||||
(
|
||||
garbage(lite_arg.span),
|
||||
@ -952,14 +956,14 @@ mod test {
|
||||
let registry = MockRegistry::new();
|
||||
let result = parse_arg(SyntaxShape::Number, ®istry, &input);
|
||||
assert_eq!(result.1, None);
|
||||
assert_eq!(result.0.expr, Expression::decimal(-32.2));
|
||||
assert_eq!(result.0.expr, Expression::decimal(-32.2)?);
|
||||
|
||||
let raw = "32.2".to_string();
|
||||
let input = raw.clone().spanned(Span::new(0, raw.len()));
|
||||
let registry = MockRegistry::new();
|
||||
let result = parse_arg(SyntaxShape::Number, ®istry, &input);
|
||||
assert_eq!(result.1, None);
|
||||
assert_eq!(result.0.expr, Expression::decimal(32.2));
|
||||
assert_eq!(result.0.expr, Expression::decimal(32.2)?);
|
||||
|
||||
let raw = "-34".to_string();
|
||||
let input = raw.clone().spanned(Span::new(0, raw.len()));
|
||||
|
Reference in New Issue
Block a user