lux_cli/
run.rs

1use clap::Args;
2use eyre::{OptionExt, Result};
3use lux_lib::{config::Config, operations, project::Project};
4
5use crate::build::{self, Build};
6
7#[derive(Args)]
8pub struct Run {
9    args: Vec<String>,
10
11    #[clap(flatten)]
12    build: Build,
13}
14
15pub async fn run(run_args: Run, config: Config) -> Result<()> {
16    let project = Project::current()?.ok_or_eyre("not in a project!")?;
17
18    build::build(run_args.build, config.clone()).await?;
19
20    operations::run(&project, &run_args.args, &config).await?;
21
22    Ok(())
23}