forked from extern/nushell
Fix known externals, fix operator spans (#5140)
This commit is contained in:
@ -305,13 +305,13 @@ fn find_with_rest(
|
||||
| Value::Block { .. }
|
||||
| Value::Nothing { .. }
|
||||
| Value::Error { .. } => lower_value
|
||||
.eq(span, term)
|
||||
.eq(span, term, span)
|
||||
.map_or(false, |value| value.is_true()),
|
||||
Value::String { .. }
|
||||
| Value::List { .. }
|
||||
| Value::CellPath { .. }
|
||||
| Value::CustomValue { .. } => term
|
||||
.r#in(span, &lower_value)
|
||||
.r#in(span, &lower_value, span)
|
||||
.map_or(false, |value| value.is_true()),
|
||||
Value::Record { vals, .. } => vals.iter().any(|val| {
|
||||
if let Ok(span) = val.span() {
|
||||
@ -320,10 +320,11 @@ fn find_with_rest(
|
||||
Span::test_data(),
|
||||
);
|
||||
|
||||
term.r#in(span, &lower_val)
|
||||
term.r#in(span, &lower_val, span)
|
||||
.map_or(false, |value| value.is_true())
|
||||
} else {
|
||||
term.r#in(span, val).map_or(false, |value| value.is_true())
|
||||
term.r#in(span, val, span)
|
||||
.map_or(false, |value| value.is_true())
|
||||
}
|
||||
}),
|
||||
Value::Binary { .. } => false,
|
||||
|
@ -67,6 +67,7 @@ pub fn average(values: &[Value], head: &Span) -> Result<Value, ShellError> {
|
||||
val: values.len() as i64,
|
||||
span: *head,
|
||||
},
|
||||
*head,
|
||||
),
|
||||
}
|
||||
}
|
||||
|
@ -98,7 +98,7 @@ pub fn sum(data: Vec<Value>, head: Span) -> Result<Value, ShellError> {
|
||||
| Value::Float { .. }
|
||||
| Value::Filesize { .. }
|
||||
| Value::Duration { .. } => {
|
||||
acc = acc.add(head, value)?;
|
||||
acc = acc.add(head, value, head)?;
|
||||
}
|
||||
other => {
|
||||
return Err(ShellError::UnsupportedInput(
|
||||
@ -129,7 +129,7 @@ pub fn product(data: Vec<Value>, head: Span) -> Result<Value, ShellError> {
|
||||
for value in &data {
|
||||
match value {
|
||||
Value::Int { .. } | Value::Float { .. } => {
|
||||
acc = acc.mul(head, value)?;
|
||||
acc = acc.mul(head, value, head)?;
|
||||
}
|
||||
other => {
|
||||
return Err(ShellError::UnsupportedInput(
|
||||
|
@ -78,15 +78,15 @@ fn sum_of_squares(values: &[Value], span: &Span) -> Result<Value, ShellError> {
|
||||
value.span().unwrap_or(*span),
|
||||
))
|
||||
}?;
|
||||
let v_squared = &v.mul(*span, v)?;
|
||||
sum_x2 = sum_x2.add(*span, v_squared)?;
|
||||
sum_x = sum_x.add(*span, v)?;
|
||||
let v_squared = &v.mul(*span, v, *span)?;
|
||||
sum_x2 = sum_x2.add(*span, v_squared, *span)?;
|
||||
sum_x = sum_x.add(*span, v, *span)?;
|
||||
}
|
||||
|
||||
let sum_x_squared = sum_x.mul(*span, &sum_x)?;
|
||||
let sum_x_squared_div_n = sum_x_squared.div(*span, &n)?;
|
||||
let sum_x_squared = sum_x.mul(*span, &sum_x, *span)?;
|
||||
let sum_x_squared_div_n = sum_x_squared.div(*span, &n, *span)?;
|
||||
|
||||
let ss = sum_x2.sub(*span, &sum_x_squared_div_n)?;
|
||||
let ss = sum_x2.sub(*span, &sum_x_squared_div_n, *span)?;
|
||||
|
||||
Ok(ss)
|
||||
}
|
||||
@ -111,7 +111,7 @@ pub fn compute_variance(sample: bool) -> impl Fn(&[Value], &Span) -> Result<Valu
|
||||
val: n as i64,
|
||||
span: *span,
|
||||
};
|
||||
ss.div(*span, &n)
|
||||
ss.div(*span, &n, *span)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ impl Command for KeybindingsList {
|
||||
.collect()
|
||||
} else {
|
||||
call.named_iter()
|
||||
.flat_map(|(argument, _)| get_records(argument.item.as_str(), &call.head))
|
||||
.flat_map(|(argument, _, _)| get_records(argument.item.as_str(), &call.head))
|
||||
.collect()
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user