diff --git a/src/format.rs b/src/format.rs index 53df2db863..be835ea76e 100644 --- a/src/format.rs +++ b/src/format.rs @@ -2,7 +2,6 @@ crate mod entries; crate mod generic; crate mod list; crate mod table; -crate mod tree; crate mod vtable; use crate::prelude::*; @@ -10,7 +9,6 @@ use crate::prelude::*; crate use entries::EntriesView; crate use generic::GenericView; crate use table::TableView; -crate use tree::TreeView; crate use vtable::VTableView; crate trait RenderView { diff --git a/src/format/tree.rs b/src/format/tree.rs deleted file mode 100644 index d124ea5cfd..0000000000 --- a/src/format/tree.rs +++ /dev/null @@ -1,79 +0,0 @@ -use crate::format::RenderView; -use crate::prelude::*; -use derive_new::new; -use ptree::item::StringItem; -use ptree::output::print_tree_with; -use ptree::print_config::PrintConfig; -use ptree::style::{Color, Style}; -use ptree::TreeBuilder; - -#[derive(new)] -pub struct TreeView { - tree: StringItem, -} - -impl TreeView { - fn from_value_helper(value: &Value, mut builder: &mut TreeBuilder) { - match value { - Value::Primitive(p) => { - let _ = builder.add_empty_child(p.format(None)); - } - Value::Object(o) => { - for (k, v) in o.entries.iter() { - builder = builder.begin_child(k.clone()); - Self::from_value_helper(v, builder); - builder = builder.end_child(); - } - } - Value::List(l) => { - for elem in l.iter() { - Self::from_value_helper(elem, builder); - } - } - Value::Block(_) => {} - Value::Filesystem => {} - Value::Binary(_) => {} - } - } - crate fn from_value(value: &Value) -> TreeView { - let descs = value.data_descriptors(); - - let mut tree = TreeBuilder::new("".to_string()); - let mut builder = &mut tree; - - for desc in descs { - let value = value.get_data(&desc); - 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())) - } - - TreeView::new(builder.build()) - } -} - -impl RenderView for TreeView { - fn render_view(&self, _host: &mut dyn Host) -> Result<(), ShellError> { - // Set up the print configuration - let config = { - let mut config = PrintConfig::from_env(); - config.branch = Style { - foreground: Some(Color::Green), - dimmed: true, - ..Style::default() - }; - config.leaf = Style { - bold: true, - ..Style::default() - }; - config.indent = 4; - config - }; - - // Print out the tree using custom formatting - print_tree_with(&self.tree, &config)?; - - Ok(()) - } -}