Merge env into $nu and simplify table/get (#1463)

This commit is contained in:
Jonathan Turner
2020-03-08 18:33:30 +13:00
committed by GitHub
parent ebf139f5e5
commit 50fb97f6b7
11 changed files with 63 additions and 296 deletions

View File

@ -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};

View File

@ -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
}