From 191c287955f8673ce664fdfd7a88cbbd43f2d30e Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Sat, 4 Oct 2025 07:14:04 +0200 Subject: [PATCH] cli/ls: use Clap This adds `conflicts_with` for `private` and `public` to simplify the logic that checks for the document visibility (thank you Fintan) Co-authored-by: Fintan Halpenny --- crates/radicle-cli/src/commands/help.rs | 5 +- crates/radicle-cli/src/commands/ls.rs | 96 +++------------------- crates/radicle-cli/src/commands/ls/args.rs | 27 ++++++ crates/radicle-cli/src/main.rs | 5 +- 4 files changed, 45 insertions(+), 88 deletions(-) create mode 100644 crates/radicle-cli/src/commands/ls/args.rs diff --git a/crates/radicle-cli/src/commands/help.rs b/crates/radicle-cli/src/commands/help.rs index 66a53974..49ac0f6f 100644 --- a/crates/radicle-cli/src/commands/help.rs +++ b/crates/radicle-cli/src/commands/help.rs @@ -68,7 +68,10 @@ const COMMANDS: &[CommandItem] = &[ name: "issue", about: crate::commands::issue::ABOUT, }, - CommandItem::Lexopt(crate::commands::ls::HELP), + CommandItem::Clap { + name: "ls", + about: crate::commands::ls::ABOUT, + }, CommandItem::Lexopt(crate::commands::node::HELP), CommandItem::Lexopt(crate::commands::patch::HELP), CommandItem::Clap { diff --git a/crates/radicle-cli/src/commands/ls.rs b/crates/radicle-cli/src/commands/ls.rs index e4398ec6..5260d857 100644 --- a/crates/radicle-cli/src/commands/ls.rs +++ b/crates/radicle-cli/src/commands/ls.rs @@ -1,91 +1,15 @@ -use std::ffi::OsString; +mod args; + +pub use args::Args; +pub(crate) use args::ABOUT; use radicle::storage::{ReadStorage, RepositoryInfo}; use crate::terminal as term; -use crate::terminal::args::{Args, Error, Help}; use term::Element; -pub const HELP: Help = Help { - name: "ls", - description: "List repositories", - version: env!("RADICLE_VERSION"), - usage: r#" -Usage - - rad ls [