From 8ba3087cb996d38b84bfed4acdb568ea0457ab91 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Fri, 3 Oct 2025 22:01:04 +0200 Subject: [PATCH] cli/init: use Clap --- crates/radicle-cli/src/commands/help.rs | 5 +- crates/radicle-cli/src/commands/init.rs | 223 +++---------------- crates/radicle-cli/src/commands/init/args.rs | 141 ++++++++++++ crates/radicle-cli/src/main.rs | 5 +- 4 files changed, 185 insertions(+), 189 deletions(-) create mode 100644 crates/radicle-cli/src/commands/init/args.rs diff --git a/crates/radicle-cli/src/commands/help.rs b/crates/radicle-cli/src/commands/help.rs index d9962998..66a53974 100644 --- a/crates/radicle-cli/src/commands/help.rs +++ b/crates/radicle-cli/src/commands/help.rs @@ -58,7 +58,10 @@ const COMMANDS: &[CommandItem] = &[ }, CommandItem::Lexopt(crate::commands::help::HELP), CommandItem::Lexopt(crate::commands::id::HELP), - CommandItem::Lexopt(crate::commands::init::HELP), + CommandItem::Clap { + name: "init", + about: crate::commands::init::ABOUT, + }, CommandItem::Lexopt(crate::commands::inbox::HELP), CommandItem::Lexopt(crate::commands::inspect::HELP), CommandItem::Clap { diff --git a/crates/radicle-cli/src/commands/init.rs b/crates/radicle-cli/src/commands/init.rs index f79d004b..0d74ccf7 100644 --- a/crates/radicle-cli/src/commands/init.rs +++ b/crates/radicle-cli/src/commands/init.rs @@ -1,10 +1,14 @@ #![allow(clippy::or_fun_call)] #![allow(clippy::collapsible_else_if)] + +mod args; + +pub use args::Args; +pub(crate) use args::ABOUT; + use std::collections::HashSet; use std::convert::TryFrom; use std::env; -use std::ffi::OsString; -use std::path::PathBuf; use std::str::FromStr; use anyhow::{anyhow, bail, Context as _}; @@ -18,7 +22,6 @@ use radicle::git::RefString; use radicle::identity::project::ProjectName; use radicle::identity::{Doc, RepoId, Visibility}; use radicle::node::events::UploadPack; -use radicle::node::policy::Scope; use radicle::node::{Event, Handle, NodeId, DEFAULT_SUBSCRIBE_TIMEOUT}; use radicle::storage::ReadStorage as _; use radicle::{profile, Node}; @@ -26,168 +29,12 @@ use radicle::{profile, Node}; use crate::commands; use crate::git; use crate::terminal as term; -use crate::terminal::args::{Args, Error, Help}; use crate::terminal::Interactive; -pub const HELP: Help = Help { - name: "init", - description: "Initialize a Radicle repository", - version: env!("RADICLE_VERSION"), - usage: r#" -Usage - - rad init [] [