forked from extern/nushell
Merge env into $nu and simplify table/get (#1463)
This commit is contained in:
@ -23,4 +23,4 @@ pub use crate::value::evaluate::{Evaluate, EvaluateTrait, Scope};
|
||||
pub use crate::value::primitive::Primitive;
|
||||
pub use crate::value::primitive::{format_date, format_duration, format_primitive};
|
||||
pub use crate::value::range::{Range, RangeInclusion};
|
||||
pub use crate::value::{UntaggedValue, Value};
|
||||
pub use crate::value::{merge_descriptors, UntaggedValue, Value};
|
||||
|
@ -378,3 +378,24 @@ impl From<ShellError> for UntaggedValue {
|
||||
UntaggedValue::Error(e)
|
||||
}
|
||||
}
|
||||
|
||||
pub fn merge_descriptors(values: &[Value]) -> Vec<String> {
|
||||
let mut ret: Vec<String> = vec![];
|
||||
let value_column = "<value>".to_string();
|
||||
for value in values {
|
||||
let descs = value.data_descriptors();
|
||||
|
||||
if descs.is_empty() {
|
||||
if !ret.contains(&value_column) {
|
||||
ret.push("<value>".to_string());
|
||||
}
|
||||
} else {
|
||||
for desc in value.data_descriptors() {
|
||||
if !ret.contains(&desc) {
|
||||
ret.push(desc);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ret
|
||||
}
|
||||
|
Reference in New Issue
Block a user