kmmp-project-manager-cli 0.1.0

kmmp-project-manager-cli serves as a command-line interface for the kmmp-project-manager tool. It is designed specifically for Kotlin Multiplatform (KMP) projects and offers a lightweight alternative to using Android Studio.
use std::{fs::File, io::Read};

use clap::{Parser,arg};

use kmmp_project_manager::{Project, Generate};

#[derive(Parser)]
enum CliCommands {
    #[clap(about = "Creates a new KMP project")]
    New {
        #[arg(short, long)]
        path: String,
        #[arg(short, long)]
        json: String,
    },
    UI
}

fn read_file_content(directory : &str) -> String {
    let mut buffer = String::new();
    File::open(directory)
        .expect("Error Opening File")
        .read_to_string(&mut buffer)
        .expect("Error reading file");

    buffer
}

fn main(){
    let cli = CliCommands::parse();

    match cli {
        CliCommands::New { path , json }  => {
            let json_str = read_file_content(&json);
            let project = serde_json::from_str::<Project>(&json_str).expect("Invalid json structure for Project struct");
            project.generate(&path);
        },
        _ => {}
    };
}