use anyhow::Result;
use clap::Parser;
use dkdc_links::config::{config_it, init_config, load_config, print_config};
use dkdc_links::open::open_links;
#[derive(Parser, Debug)]
#[command(name = "dkdc-links")]
#[command(about = "Bookmarks in your terminal")]
#[command(version)]
struct Args {
#[arg(short, long)]
config: bool,
links: Vec<String>,
}
fn main() -> Result<()> {
let args = Args::parse();
init_config()?;
if args.config {
config_it()?;
return Ok(());
}
let config = load_config()?;
if args.links.is_empty() {
print_config(&config)?;
} else {
open_links(args.links, &config)?;
}
Ok(())
}