use clap::Args;
use eyre::Result;
use lux_lib::{config::Config, lua_rockspec::LuaModule, package::PackageReq, which};
#[derive(Args)]
pub struct Which {
/// The module to search for.
module: LuaModule,
/// Only search in these packages.
packages: Option<Vec<PackageReq>>,
}
pub fn which(args: Which, config: Config) -> Result<()> {
let path = which::Which::new(args.module, &config)
.packages(args.packages.unwrap_or_default())
.search()?;
print!("{}", path.display());
Ok(())
}