From 34bbbc52621a8b4067d36de5e6aaa61284f10328 Mon Sep 17 00:00:00 2001 From: Daisuke Murase Date: Thu, 26 Feb 2026 19:53:44 -0800 Subject: [PATCH] feat: add version subcommand to CLI --- Cargo.lock | 6 +++--- crates/ranma-cli/src/main.rs | 13 ++++++++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a4bc1cd..31d65df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -452,7 +452,7 @@ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "ranma-cli" -version = "0.1.9" +version = "0.1.10" dependencies = [ "argh", "libc", @@ -462,7 +462,7 @@ dependencies = [ [[package]] name = "ranma-core" -version = "0.1.9" +version = "0.1.10" dependencies = [ "parking_lot", "serde", @@ -737,7 +737,7 @@ dependencies = [ [[package]] name = "uniffi-bindgen" -version = "0.1.9" +version = "0.1.10" dependencies = [ "uniffi", ] diff --git a/crates/ranma-cli/src/main.rs b/crates/ranma-cli/src/main.rs index 4f2eea4..59e3d06 100644 --- a/crates/ranma-cli/src/main.rs +++ b/crates/ranma-cli/src/main.rs @@ -23,6 +23,7 @@ enum Command { Query(QueryCmd), Displays(DisplaysCmd), Tree(TreeCmd), + Version(VersionCmd), } /// start the ranma server @@ -423,6 +424,11 @@ struct QueryCmd { #[argh(subcommand, name = "displays")] struct DisplaysCmd {} +/// print version +#[derive(FromArgs)] +#[argh(subcommand, name = "version")] +struct VersionCmd {} + /// display node tree #[derive(FromArgs)] #[argh(subcommand, name = "tree")] @@ -440,6 +446,11 @@ fn main() { return; } + if let Command::Version(_) = args.command { + println!("v{}", env!("CARGO_PKG_VERSION")); + return; + } + if let Command::Tree(cmd) = args.command { run_tree(cmd); return; @@ -749,7 +760,7 @@ fn build_command(cmd: Command) -> Value { Command::Remove(c) => json!({ "command": "remove", "name": c.name }), Command::Query(c) => json!({ "command": "query", "name": c.name, "display": c.display }), Command::Displays(_) => json!({ "command": "displays" }), - Command::Tree(_) => unreachable!(), + Command::Tree(_) | Command::Version(_) => unreachable!(), } }