#[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),
});
}