Files
lsplus/src/main.rs
Guilleag01 1438cfd125 sort option
2023-11-15 22:13:08 +01:00

44 lines
1.0 KiB
Rust

use clap::Parser;
use lsplus::{
out::{default::default, list::list},
utils::{get_elements_from_path, SortBy},
};
// Needs to be defined in main
#[derive(Parser, Debug)]
#[command(author, version, about, long_about = None)]
pub struct Args {
/// Show hidden files
#[arg(short, long, default_value_t = false)]
all: bool,
/// Print as a list
#[arg(short, long, default_value_t = false)]
list: bool,
/// Print contents of directories recursively,
/// specify maximum recursive depth
#[arg(short, long, default_value_t = 0)]
recursive: usize,
/// Sort elements by parameter
#[arg(short, long, default_value_t = SortBy::NONE)]
sort: SortBy,
/// Path of the directory to list
#[arg(default_value_t = String::from("."))]
path: String,
}
fn main() {
let args = Args::parse();
let elements = get_elements_from_path(args.path, args.all);
if args.list {
list(elements, args.recursive, args.sort);
} else {
default(elements);
}
}