sneakerweb 1.2.0

A parallel web transported by physical media
use crate::util;
use anyhow::Result;
use clap::Args;
use std::path::PathBuf;

#[derive(Args)]
pub struct PwdArgs {
    /// The path to the collection whose configuration and storage directory should be displayed.
    ///
    /// If no such path is provided, the path to the default collection is displayed.
    #[arg(short, long)]
    pub collection: Option<PathBuf>,
}

pub async fn pwd(args: &PwdArgs) -> Result<()> {
    let dir = util::sneakerweb_dir(args.collection.as_ref()).await?;
    println!("{}", dir.to_string_lossy());
    Ok(())
}