Recursive

This commit is contained in:
Guilleag01
2023-11-10 12:04:29 +01:00
parent bdf1b21bb0
commit 34d583d33d
9 changed files with 184 additions and 71 deletions

View File

@@ -1,9 +1,8 @@
use clap::Parser;
use lsplus::{
element::Element,
out::{default::default, list::list},
utils::get_elements_from_path,
};
use std::fs;
// Needs to be defined in main
#[derive(Parser, Debug)]
@@ -17,6 +16,9 @@ pub struct Args {
#[arg(short, long, default_value_t = false)]
list: bool,
#[arg(short, long, default_value_t = 0)]
recursive: usize,
/// Path of the directory to list
#[arg(default_value_t = String::from("."))]
path: String,
@@ -25,17 +27,17 @@ pub struct Args {
fn main() {
let args = Args::parse();
let paths = fs::read_dir(args.path).unwrap();
let elements = get_elements_from_path(args.path, args.all);
let _max_width = 50;
// let paths = fs::read_dir(args.path).unwrap();
let elements: Vec<Element> = paths
.map(|e| Element::new(e.unwrap().path().to_str().unwrap()))
.filter(|element| args.all || !element.get_name().starts_with('.'))
.collect();
// let elements: Vec<Element> = paths
// .map(|e| Element::new(e.unwrap().path().to_str().unwrap()))
// .filter(|element| args.all || !element.get_name().starts_with('.'))
// .collect();
if args.list {
list(elements);
list(elements, args.recursive);
} else {
default(elements);
}