mirror of
https://github.com/nushell/nushell.git
synced 2025-08-16 18:41:41 +02:00
WIP now load plugins automatically
This commit is contained in:
@ -10,7 +10,7 @@ use derive_new::new;
|
||||
// another_name : ...
|
||||
#[derive(new)]
|
||||
pub struct EntriesView {
|
||||
entries: Vec<(crate::object::DescriptorName, String)>,
|
||||
entries: Vec<(String, String)>,
|
||||
}
|
||||
|
||||
impl EntriesView {
|
||||
@ -23,7 +23,7 @@ impl EntriesView {
|
||||
|
||||
let formatted_value = value.borrow().format_leaf(None);
|
||||
|
||||
entries.push((desc.name.clone(), formatted_value))
|
||||
entries.push((desc.clone(), formatted_value))
|
||||
}
|
||||
|
||||
EntriesView::new(entries)
|
||||
@ -36,20 +36,10 @@ impl RenderView for EntriesView {
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let max_name_size: usize = self
|
||||
.entries
|
||||
.iter()
|
||||
.map(|(n, _)| n.display().len())
|
||||
.max()
|
||||
.unwrap();
|
||||
let max_name_size: usize = self.entries.iter().map(|(n, _)| n.len()).max().unwrap();
|
||||
|
||||
for (name, value) in &self.entries {
|
||||
println!(
|
||||
"{:width$} : {}",
|
||||
name.display(),
|
||||
value,
|
||||
width = max_name_size
|
||||
)
|
||||
println!("{:width$} : {}", name, value, width = max_name_size)
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
@ -1,5 +1,5 @@
|
||||
use crate::format::RenderView;
|
||||
use crate::object::{DataDescriptor, Value};
|
||||
use crate::object::Value;
|
||||
use crate::prelude::*;
|
||||
use derive_new::new;
|
||||
use prettytable::format::{FormatBuilder, LinePosition, LineSeparator};
|
||||
@ -8,12 +8,12 @@ use prettytable::{color, Attr, Cell, Row, Table};
|
||||
|
||||
#[derive(new)]
|
||||
pub struct TableView {
|
||||
headers: Vec<DataDescriptor>,
|
||||
headers: Vec<String>,
|
||||
entries: Vec<Vec<String>>,
|
||||
}
|
||||
|
||||
impl TableView {
|
||||
fn merge_descriptors(values: &[Value]) -> Vec<DataDescriptor> {
|
||||
fn merge_descriptors(values: &[Value]) -> Vec<String> {
|
||||
let mut ret = vec![];
|
||||
for value in values {
|
||||
for desc in value.data_descriptors() {
|
||||
@ -30,10 +30,10 @@ impl TableView {
|
||||
return None;
|
||||
}
|
||||
|
||||
let headers = TableView::merge_descriptors(values);
|
||||
let mut headers = TableView::merge_descriptors(values);
|
||||
|
||||
if headers.len() == 0 {
|
||||
return None;
|
||||
headers.push("value".to_string());
|
||||
}
|
||||
|
||||
let mut entries = vec![];
|
||||
@ -74,7 +74,7 @@ impl RenderView for TableView {
|
||||
.headers
|
||||
.iter()
|
||||
.map(|h| {
|
||||
Cell::new(h.display_header())
|
||||
Cell::new(h)
|
||||
.with_style(Attr::ForegroundColor(color::GREEN))
|
||||
.with_style(Attr::Bold)
|
||||
})
|
||||
|
@ -26,7 +26,7 @@ impl TreeView {
|
||||
}
|
||||
Value::Object(o) => {
|
||||
for (k, v) in o.entries.iter() {
|
||||
builder = builder.begin_child(k.name.display().to_string());
|
||||
builder = builder.begin_child(k.clone());
|
||||
Self::from_value_helper(v, builder);
|
||||
builder = builder.end_child();
|
||||
}
|
||||
@ -49,7 +49,7 @@ impl TreeView {
|
||||
|
||||
for desc in descs {
|
||||
let value = value.get_data(&desc);
|
||||
builder = builder.begin_child(desc.name.display().to_string());
|
||||
builder = builder.begin_child(desc.clone());
|
||||
Self::from_value_helper(value.borrow(), &mut builder);
|
||||
builder = builder.end_child();
|
||||
//entries.push((desc.name.clone(), value.borrow().copy()))
|
||||
|
@ -1,5 +1,5 @@
|
||||
use crate::format::RenderView;
|
||||
use crate::object::{DescriptorName, Value};
|
||||
use crate::object::Value;
|
||||
use crate::prelude::*;
|
||||
use derive_new::new;
|
||||
use prettytable::format::{FormatBuilder, LinePosition, LineSeparator};
|
||||
@ -29,11 +29,7 @@ impl VTableView {
|
||||
for header in headers {
|
||||
let mut row = vec![];
|
||||
|
||||
if let DescriptorName::String(s) = &header.name {
|
||||
row.push(s.clone());
|
||||
} else {
|
||||
row.push("value".to_string());
|
||||
}
|
||||
row.push(header.clone());
|
||||
for value in values {
|
||||
row.push(value.get_data(&header).borrow().format_leaf(Some(&header)));
|
||||
}
|
||||
|
Reference in New Issue
Block a user