mirror of
https://github.com/nushell/nushell.git
synced 2025-06-30 14:40:06 +02:00
Further cleanup of Span::test_data
usage + span fixes (#7595)
# Description Inspired by #7592 For brevity use `Value::test_{string,int,float,bool}` Includes fixes to commands that were abusing `Span::test_data` in their implementation. Now the call span is used where possible or the explicit `Span::unknonw` is used. ## Command fixes - Fix abuse of `Span::test_data()` in `query_xml` - Fix abuse of `Span::test_data()` in `term size` - Fix abuse of `Span::test_data()` in `seq date` - Fix two abuses of `Span::test_data` in `nu-cli` - Change `Span::test_data` to `Span::unknown` in `keybindings listen` - Add proper call span to `registry query` - Fix span use in `nu_plugin_query` - Fix span assignment in `select` - Use `Span::unknown` instead of `test_data` in more places ## Other - Use `Value::test_int`/`test_float()` consistently - More `test_string` and `test_bool` - Fix unused imports # User-Facing Changes Some commands may now provide more helpful spans for downstream use in errors
This commit is contained in:
committed by
GitHub
parent
dd6fe6a04a
commit
45fe3be83e
@ -45,7 +45,7 @@ pub fn execute_json_query(
|
||||
|
||||
if query_contains_modifiers(query_string) {
|
||||
let json_str = val.json();
|
||||
Ok(Value::string(json_str, Span::test_data()))
|
||||
Ok(Value::string(json_str, call.head))
|
||||
} else {
|
||||
Ok(convert_gjson_value_to_nu_value(&val, &call.head))
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ impl Selector {
|
||||
query: String::new(),
|
||||
as_html: false,
|
||||
attribute: String::new(),
|
||||
as_table: Value::string("".to_string(), Span::test_data()),
|
||||
as_table: Value::string("".to_string(), Span::unknown()),
|
||||
inspect: false,
|
||||
}
|
||||
}
|
||||
|
@ -61,20 +61,20 @@ pub fn execute_xpath_query(
|
||||
sxd_xpath::Value::Nodeset(ns) => {
|
||||
for n in ns.into_iter() {
|
||||
cols.push(key.to_string());
|
||||
vals.push(Value::string(n.string_value(), Span::test_data()));
|
||||
vals.push(Value::string(n.string_value(), call.head));
|
||||
}
|
||||
}
|
||||
sxd_xpath::Value::Boolean(b) => {
|
||||
cols.push(key.to_string());
|
||||
vals.push(Value::boolean(b, Span::test_data()));
|
||||
vals.push(Value::boolean(b, call.head));
|
||||
}
|
||||
sxd_xpath::Value::Number(n) => {
|
||||
cols.push(key.to_string());
|
||||
vals.push(Value::float(n, Span::test_data()));
|
||||
vals.push(Value::float(n, call.head));
|
||||
}
|
||||
sxd_xpath::Value::String(s) => {
|
||||
cols.push(key.to_string());
|
||||
vals.push(Value::string(s, Span::test_data()));
|
||||
vals.push(Value::string(s, call.head));
|
||||
}
|
||||
};
|
||||
|
||||
@ -84,19 +84,19 @@ pub fn execute_xpath_query(
|
||||
records.push(Value::Record {
|
||||
cols: vec![k.to_string()],
|
||||
vals: vec![v.clone()],
|
||||
span: Span::test_data(),
|
||||
span: call.head,
|
||||
})
|
||||
}
|
||||
|
||||
Ok(Value::List {
|
||||
vals: records,
|
||||
span: Span::test_data(),
|
||||
span: call.head,
|
||||
})
|
||||
}
|
||||
Err(_) => Err(LabeledError {
|
||||
label: "xpath query error".to_string(),
|
||||
msg: "xpath query error".to_string(),
|
||||
span: Some(Span::test_data()),
|
||||
span: Some(call.head),
|
||||
}),
|
||||
}
|
||||
}
|
||||
@ -146,7 +146,7 @@ mod tests {
|
||||
let expected = Value::List {
|
||||
vals: vec![Value::Record {
|
||||
cols: vec!["count(//a/*[posit...".to_string()],
|
||||
vals: vec![Value::float(1.0, Span::test_data())],
|
||||
vals: vec![Value::test_float(1.0)],
|
||||
span: Span::test_data(),
|
||||
}],
|
||||
span: Span::test_data(),
|
||||
@ -177,7 +177,7 @@ mod tests {
|
||||
let expected = Value::List {
|
||||
vals: vec![Value::Record {
|
||||
cols: vec!["count(//*[contain...".to_string()],
|
||||
vals: vec![Value::float(1.0, Span::test_data())],
|
||||
vals: vec![Value::test_float(1.0)],
|
||||
span: Span::test_data(),
|
||||
}],
|
||||
span: Span::test_data(),
|
||||
|
Reference in New Issue
Block a user