lnchr 0.2.2

A fuzzy terminal app launcher
#[cfg(not(unix))]
compile_error!("Unix only");

mod desktop;
mod drun;
mod fuzzy;
mod history;
mod path_ext;
mod provider;
mod run;
mod terminal;
mod tui;

use clap::Parser;
use std::process::exit;

#[derive(Parser)]
#[command(name = "lnchr")]
#[command(about = env!("CARGO_PKG_DESCRIPTION"))]
#[command(version = env!("CARGO_PKG_VERSION"))]
pub struct Args {
    #[command(subcommand)]
    pub command: Command,
}

#[derive(Parser, Clone)]
pub enum Command {
    Run,
    Drun {
        #[arg(short = 'T', long, help = "Terminal emulator for Terminal=true apps")]
        terminal: Option<String>,
    },
}

fn main() {
    let args = Args::parse();
    exit(match args.command {
        Command::Run => run::run(),
        Command::Drun { terminal } => drun::drun(terminal),
    });
}