commit eb62e5388de61e8e153703e297eabc48c238afcb
parent b48ba649f0349b6a4bd60f5aba8ba2ac00d5f9f9
Author: Andy Khramtsov <>
Date: Sat, 7 Feb 2026 13:34:06 +0300
feat: print root fully
Diffstat:
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/lib.rs b/src/lib.rs
@@ -174,7 +174,21 @@ fn allowed(state: &State, path: &Path) -> bool {
fn print(tree: &Filetree<Meta>) -> Result<(), Error> {
let mut print_buffer = Vec::new();
- print_buffer.push((0, tree.root().borrow().id()));
+ println!(
+ "{}",
+ tree.root()
+ .borrow()
+ .path()
+ .to_str()
+ .unwrap_or("UNKNOWN")
+ .to_owned()
+ );
+ print_buffer.extend(
+ tree.root()
+ .borrow()
+ .children()
+ .map(|child_id| (1, child_id)),
+ );
while let Some((offset, node_id)) = print_buffer.pop() {
let node = tree.node(node_id).expect("Shold have the node");
let name = node
@@ -187,11 +201,11 @@ fn print(tree: &Filetree<Meta>) -> Result<(), Error> {
.to_owned();
let offset_text = " ".repeat(offset);
if let Some(true) = node.borrow().meta().inventory {
- println!("{}\x1b[2m|\x1b[0m \x1b[32m{}\x1b[0m", offset_text, name);
+ println!("{}\x1b[2m|\x1b[0m \x1b[32m/{}\x1b[0m", offset_text, name);
} else if let Some(true) = node.borrow().meta().blacklist {
- println!("{}\x1b[2m|\x1b[0m \x1b[2;9m{}\x1b[0m", offset_text, name);
+ println!("{}\x1b[2m|\x1b[0m \x1b[2;9m/{}\x1b[0m", offset_text, name);
} else {
- println!("{}\x1b[2m|\x1b[0m {}", offset_text, name);
+ println!("{}\x1b[2m|\x1b[0m \x1b[31m/{}\x1b[0m", offset_text, name);
}
print_buffer.extend(
node.borrow()