use super::CommonOptions;
use anyhow::Result;
use clap::Args;
use warg_protocol::registry::PackageName;
#[derive(Args)]
pub struct LockCommand {
#[clap(flatten)]
pub common: CommonOptions,
#[clap(value_name = "PACKAGE")]
pub package: PackageName,
}
impl LockCommand {
pub async fn exec(self) -> Result<()> {
let config = self.common.read_config()?;
let client = self.common.create_client(&config).await?;
let info = client.package(&self.package).await?;
client.lock_component(&info).await?;
Ok(())
}
}