scud 0.3.0

A secret library atm, woo woo.
use crate::{
  cli::*,
  commands::{stage::stage::stage_command, unstage::unstage::unstage_command, commit::commit::commit_command},
};
use std::time::SystemTime;

pub fn process_args(args: Cli, start_time: SystemTime) {
    let args = args.command;
    match args {
        Commands::New(new_repo_options) => {
            println!("New");
        }
        Commands::Init(init_options) => {
            println!("Init");
        }

        //////////////////////////////////////////////////////////////
        // Declarative high-level operations on the top of the VCS. //
        //////////////////////////////////////////////////////////////

        Commands::Stage(stage_options) => {
            stage_command(stage_options, start_time);
        }

        Commands::Unstage(unstage_options) => {
            unstage_command(unstage_options, start_time);
        }

        Commands::Commit(commit_options) => {
            commit_command(commit_options, start_time);
        }

        Commands::Setup(setup_options) => {
            println!("Setup");
        }
        _ => {
            println!("Unknown command: {:?}", args);
        }
    }
}