summaryrefslogtreecommitdiffstats
path: root/ozone-cli/src/cli.rs
diff options
context:
space:
mode:
authorLibravatar bigfoot547 <[email protected]>2025-02-13 15:25:04 -0600
committerLibravatar bigfoot547 <[email protected]>2025-02-13 15:25:04 -0600
commitc1a7e38117308a867dbc91a63bbb58c09cc51434 (patch)
tree4cb2bd6c2a4921082527a005f9e153f9613b6966 /ozone-cli/src/cli.rs
parentget rid of weird file (diff)
wip: account management cli
Diffstat (limited to 'ozone-cli/src/cli.rs')
-rw-r--r--ozone-cli/src/cli.rs18
1 files changed, 17 insertions, 1 deletions
diff --git a/ozone-cli/src/cli.rs b/ozone-cli/src/cli.rs
index 15a00da..6ba23d3 100644
--- a/ozone-cli/src/cli.rs
+++ b/ozone-cli/src/cli.rs
@@ -1,6 +1,7 @@
use std::path::PathBuf;
use clap::{Args, Parser, Subcommand};
use clap::error::ErrorKind;
+use uuid::Uuid;
use ozone::launcher::{Instance, InstanceVersion, JavaRuntimeSetting, Resolution};
#[derive(Args, Debug)]
@@ -160,9 +161,24 @@ impl InstanceArgs {
}
}
+#[derive(Args, Debug)]
+pub struct ProfileSelectArgs {
+ #[arg(index = 1, conflicts_with_all = ["uuid", "xuid", "gamertag"])]
+ pub name: Option<String>,
+
+ #[arg(long, conflicts_with_all = ["name", "xuid", "gamertag"])]
+ pub uuid: Option<Uuid>,
+
+ #[arg(long, conflicts_with_all = ["name", "uuid", "gamertag"])]
+ pub xuid: Option<String>,
+
+ #[arg(long, short = 'g', alias = "gt", conflicts_with_all = ["name", "uuid", "xuid"])]
+ pub gamertag: Option<String>
+}
+
#[derive(Subcommand, Debug)]
pub enum AccountCommand {
- Select,
+ Select(ProfileSelectArgs),
Forget,
SignIn
}