/// this module generate the clap App, which defines /// launch arguments use { clap, }; /// declare the possible CLI arguments pub fn clap_app() -> clap::App<'static, 'static> { clap::App::new("broot") .version(env!("CARGO_PKG_VERSION")) .author("dystroy ") .about("A tree explorer and a customizable launcher") .arg(clap::Arg::with_name("root").help("sets the root directory")) // tree flags .arg( clap::Arg::with_name("dates") .short("d") .long("dates") .help("Show the last modified date of files and directories"), ) .arg( clap::Arg::with_name("no-dates") .short("D") .long("no-dates") .help("Don't show last modified date"), ) .arg( clap::Arg::with_name("only-folders") .short("f") .long("only-folders") .help("Only show folders"), ) .arg( clap::Arg::with_name("no-only-folders") .short("F") .long("no-only-folders") .help("Show folders and files alike"), ) .arg( clap::Arg::with_name("show-git-info") .short("g") .long("show-git-info") .help("Show git statuses on files and stats on repo"), ) .arg( clap::Arg::with_name("no-show-git-info") .short("G") .long("no-show-git-info") .help("Don't show git statuses on files"), ) .arg( clap::Arg::with_name("hidden") .short("h") .long("hidden") .help("Show hidden files"), ) .arg( clap::Arg::with_name("no-hidden") .short("H") .long("no-hidden") .help("Don't show hidden files"), ) .arg( clap::Arg::with_name("show-gitignored") .short("i") .long("show-gitignored") .help("Show files which should be ignored according to git"), ) .arg( clap::Arg::with_name("no-show-gitignored") .short("I") .long("no-show-gitignored") .help("Don't show gitignored files"), ) .arg( clap::Arg::with_name("permissions") .short("p") .long("permissions") .help("Show permissions, with owner and group"), ) .arg( clap::Arg::with_name("no-permissions") .short("P") .long("no-permissions") .help("Don't show permissions"), ) .arg( clap::Arg::with_name("sizes") .short("s") .long("sizes") .help("Show the size of files and directories"), ) .arg( clap::Arg::with_name("no-sizes") .short("S") .long("no-sizes") .help("Don't show sizes"), ) .arg( clap::Arg::with_name("trim-root") .short("t") .long("trim-root") .help("Trim the root too and don't show a scrollbar"), ) .arg( clap::Arg::with_name("no-trim-root") .short("T") .long("no-trim-root") .help("Don't trim the root level, show a scrollbar"), ) // other options .arg( clap::Arg::with_name("cmd-export-path") .long("outcmd") .takes_value(true) .help("Where to write the produced cmd (if any)"), ) .arg( clap::Arg::with_name("commands") .short("c") .long("cmd") .takes_value(true) .help("Semicolon separated commands to execute"), ) .arg( clap::Arg::with_name("conf") .long("conf") .takes_value(true) .help("Semicolon separated paths to specific config files"), ) .arg( clap::Arg::with_name("height") .long("height") .help("Height (if you don't want to fill the screen or for file export)") .takes_value(true), ) .arg( clap::Arg::with_name("file-export-path") .short("o") .long("out") .takes_value(true) .help("Where to write the produced path (if any)"), ) .arg( clap::Arg::with_name("install") .long("install") .help("Install or reinstall the br shell function"), ) .arg( clap::Arg::with_name("no-style") .long("no-style") .help("Whether to remove all style and colors"), ) .arg( clap::Arg::with_name("set-install-state") .long("set-install-state") .takes_value(true) .value_name("state") .possible_values(&["undefined", "refused", "installed"]) .help("Set the installation state (for use in install script)"), ) .arg( clap::Arg::with_name("print-shell-function") .long("print-shell-function") .takes_value(true) .value_name("shell") .help("Print to stdout the br function for a given shell"), ) .setting(clap::AppSettings::DeriveDisplayOrder) }