diff --git a/src/main.rs b/src/main.rs index b2662d8..552a70c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -31,69 +31,111 @@ enum Commands{ #[derive(Args)] struct DownloadHistorySubcommand{ + #[arg(long)] asset_id:AssetID, + #[arg(long)] cookie_type:CookieType, + #[arg(long)] cookie:String, + #[arg(long)] output_folder:Option, + #[arg(long)] continue_from_versions:Option, + #[arg(long)] start_version:Option, + #[arg(long)] end_version:Option, } #[derive(Args)] struct DownloadSubcommand{ + #[arg(long)] cookie_type:CookieType, + #[arg(long)] cookie:String, + #[arg(long)] output_folder:Option, + #[arg(long,required=true)] asset_id_list:Vec, } #[derive(Args)] struct UploadSubcommand{ + #[arg(long)] asset_id:AssetID, + #[arg(long)] cookie_type:CookieType, + #[arg(long)] cookie:String, + #[arg(long)] input_file:PathBuf, + #[arg(long)] group:Option, } #[derive(Args)] struct CompileSubcommand{ + #[arg(long)] input_folder:PathBuf, + #[arg(long)] output_file:PathBuf, + #[arg(long)] style:Option, + #[arg(long)] template:Option, } #[derive(Args)] struct DecompileSubcommand{ + #[arg(long)] input_file:PathBuf, + #[arg(long)] output_folder:PathBuf, + #[arg(long)] style:DecompileStyle, + #[arg(long)] write_template:Option, + #[arg(long)] write_models:Option, + #[arg(long)] write_scripts:Option, } #[derive(Args)] struct DecompileHistoryIntoGitSubcommand{ + #[arg(long)] input_folder:PathBuf, //currently output folder must be the current folder due to git2 limitations //output_folder:cli.output.unwrap(), + #[arg(long)] style:DecompileStyle, + #[arg(long)] git_committer_name:String, + #[arg(long)] git_committer_email:String, + #[arg(long)] write_template:Option, + #[arg(long)] write_models:Option, + #[arg(long)] write_scripts:Option, } #[derive(Args)] struct DownloadAndDecompileHistoryIntoGitSubcommand{ + #[arg(long)] asset_id:AssetID, + #[arg(long)] cookie_type:CookieType, + #[arg(long)] cookie:String, //currently output folder must be the current folder due to git2 limitations //output_folder:cli.output.unwrap(), + #[arg(long)] style:DecompileStyle, + #[arg(long)] git_committer_name:String, + #[arg(long)] git_committer_email:String, + #[arg(long)] write_template:Option, + #[arg(long)] write_models:Option, + #[arg(long)] write_scripts:Option, }