38 lines
728 B
Rust
38 lines
728 B
Rust
|
use clap::ArgMatches;
|
||
|
|
||
|
const DEPS: &[&str] = &["gh", "fzf"];
|
||
|
|
||
|
// -- List
|
||
|
//
|
||
|
|
||
|
pub fn ls() -> clap::Command {
|
||
|
clap::Command::new("ls")
|
||
|
}
|
||
|
|
||
|
pub fn ls_exec() -> eyre::Result<()> {
|
||
|
println!("Required packages\n---");
|
||
|
|
||
|
let mut deps: Vec<&str> = DEPS.into_iter().map(|d| d.clone()).collect();
|
||
|
deps.sort();
|
||
|
for dep in deps {
|
||
|
println!("{}", dep)
|
||
|
}
|
||
|
Ok(())
|
||
|
}
|
||
|
|
||
|
// -- Prereqs
|
||
|
//
|
||
|
|
||
|
pub fn prereqs() -> eyre::Result<clap::Command> {
|
||
|
let cmd = clap::Command::new("prereqs").subcommands([ls()]);
|
||
|
|
||
|
Ok(cmd)
|
||
|
}
|
||
|
|
||
|
pub fn prereqs_exec(matches: &ArgMatches) -> eyre::Result<()> {
|
||
|
match matches.subcommand() {
|
||
|
Some(("ls", _)) => ls_exec(),
|
||
|
_ => Err(eyre::anyhow!("not implemented")),
|
||
|
}
|
||
|
}
|