31
crates/cuddle/src/cli/init_command.rs
Normal file
31
crates/cuddle/src/cli/init_command.rs
Normal file
@@ -0,0 +1,31 @@
|
||||
use clap::Parser;
|
||||
use rust_action::RustAction;
|
||||
|
||||
use crate::{cuddle_state::Cuddle, state::ValidatedState};
|
||||
|
||||
pub mod rust_action;
|
||||
|
||||
#[derive(Parser, Debug)]
|
||||
#[command(subcommand_required = true)]
|
||||
pub struct InitCommand {
|
||||
#[clap(subcommand)]
|
||||
commands: InitCommands,
|
||||
}
|
||||
|
||||
#[derive(clap::Parser, Debug)]
|
||||
pub enum InitCommands {
|
||||
#[clap(name = "actions:rust")]
|
||||
RustAction(RustAction),
|
||||
}
|
||||
|
||||
impl InitCommand {
|
||||
pub async fn execute(&self, cuddle: &Cuddle<ValidatedState>) -> anyhow::Result<()> {
|
||||
match &self.commands {
|
||||
InitCommands::RustAction(rust_action) => {
|
||||
rust_action.execute(cuddle).await?;
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
13
crates/cuddle/src/cli/init_command/rust_action.rs
Normal file
13
crates/cuddle/src/cli/init_command/rust_action.rs
Normal file
@@ -0,0 +1,13 @@
|
||||
use crate::{cuddle_state::Cuddle, state::ValidatedState};
|
||||
|
||||
#[derive(clap::Parser, Debug)]
|
||||
pub struct RustAction {}
|
||||
|
||||
impl RustAction {
|
||||
pub async fn execute(&self, cuddle: &Cuddle<ValidatedState>) -> anyhow::Result<()> {
|
||||
let project = cuddle.must_project()?;
|
||||
let root = &project.root;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user