From e8f9d21be3748ddda31b2b2d2c0ac84db49e31e5 Mon Sep 17 00:00:00 2001 From: Erik Kundt Date: Wed, 15 Oct 2025 13:11:46 +0200 Subject: [PATCH] cli/node: Use clap Co-authored-by: Fintan Halpenny Co-authored-by: Lorenz Leutgeb --- crates/radicle-cli/src/commands/help.rs | 5 +- crates/radicle-cli/src/commands/node.rs | 364 +++--------------- crates/radicle-cli/src/commands/node/args.rs | 231 +++++++++++ .../radicle-cli/src/commands/node/commands.rs | 36 +- crates/radicle-cli/src/main.rs | 5 +- 5 files changed, 300 insertions(+), 341 deletions(-) create mode 100644 crates/radicle-cli/src/commands/node/args.rs diff --git a/crates/radicle-cli/src/commands/help.rs b/crates/radicle-cli/src/commands/help.rs index 56275003..2adc5677 100644 --- a/crates/radicle-cli/src/commands/help.rs +++ b/crates/radicle-cli/src/commands/help.rs @@ -84,7 +84,10 @@ const COMMANDS: &[CommandItem] = &[ name: "ls", about: crate::commands::ls::ABOUT, }, - CommandItem::Lexopt(crate::commands::node::HELP), + CommandItem::Clap { + name: "node", + about: crate::commands::node::ABOUT, + }, CommandItem::Lexopt(crate::commands::patch::HELP), CommandItem::Clap { name: "path", diff --git a/crates/radicle-cli/src/commands/node.rs b/crates/radicle-cli/src/commands/node.rs index 1b217f7d..7a05e177 100644 --- a/crates/radicle-cli/src/commands/node.rs +++ b/crates/radicle-cli/src/commands/node.rs @@ -1,310 +1,52 @@ -use std::ffi::OsString; -use std::path::PathBuf; -use std::str::FromStr; -use std::{process, time}; - -use anyhow::anyhow; - -use radicle::node::address::Store as AddressStore; -use radicle::node::config::ConnectAddress; -use radicle::node::routing::Store; -use radicle::node::Handle as _; -use radicle::node::{Address, Node, NodeId, PeerAddr}; -use radicle::prelude::RepoId; - -use crate::terminal as term; -use crate::terminal::args::{Args, Error, Help}; -use crate::terminal::Element as _; - +mod args; mod commands; pub mod control; mod events; mod logs; pub mod routing; -pub const HELP: Help = Help { - name: "node", - description: "Control and query the Radicle Node", - version: env!("RADICLE_VERSION"), - usage: r#" -Usage +use std::{process, time}; - rad node status [