cargo-gears-core 0.0.1

Core functionality library for cargo-gears
Documentation
pub mod config;
pub mod module;
pub mod workspace;

pub const DEFAULT_GIT_URL: &str = "git@github.com:Bechma/cf-template-rust.git";
pub const DEFAULT_BRANCH: &str = "main";

#[derive(Debug, Eq, PartialEq)]
pub struct GenerateParams {
    pub command: GenerateCommand,
}

impl GenerateParams {
    pub fn run(&self) -> anyhow::Result<()> {
        self.command.run()
    }
}

#[derive(Debug, Eq, PartialEq)]
pub enum GenerateCommand {
    Workspace(workspace::WorkspaceParams),
    Module(module::ModuleParams),
    Config(config::GenerateConfigParams),
}

impl GenerateCommand {
    pub fn run(&self) -> anyhow::Result<()> {
        match self {
            Self::Workspace(args) => args.run(),
            Self::Module(args) => args.run(),
            Self::Config(args) => args.run(),
        }
    }
}