diff --git a/crates/radicle-cli/examples/rad-help.md b/crates/radicle-cli/examples/rad-help.md index 50dcd787..e4ac94c3 100644 --- a/crates/radicle-cli/examples/rad-help.md +++ b/crates/radicle-cli/examples/rad-help.md @@ -34,6 +34,7 @@ Common `rad` commands used in various situations: remote Manage a repository's remotes stats Displays aggregated repository and node metrics sync Sync repositories to the network + watch Wait for some state to be updated See `rad --help` to learn about a specific command. diff --git a/crates/radicle-cli/src/commands/help.rs b/crates/radicle-cli/src/commands/help.rs index 49ac0f6f..e7f183fa 100644 --- a/crates/radicle-cli/src/commands/help.rs +++ b/crates/radicle-cli/src/commands/help.rs @@ -104,6 +104,10 @@ const COMMANDS: &[CommandItem] = &[ about: crate::commands::stats::ABOUT, }, CommandItem::Lexopt(crate::commands::sync::HELP), + CommandItem::Clap { + name: "watch", + about: crate::commands::watch::ABOUT, + }, ]; #[derive(Default)] diff --git a/crates/radicle-cli/src/commands/watch.rs b/crates/radicle-cli/src/commands/watch.rs index b5084d8f..5c454ecf 100644 --- a/crates/radicle-cli/src/commands/watch.rs +++ b/crates/radicle-cli/src/commands/watch.rs @@ -1,133 +1,28 @@ -use std::ffi::OsString; +mod args; + use std::{thread, time}; use anyhow::{anyhow, Context as _}; use radicle::git; use radicle::git::raw::ErrorExt as _; -use radicle::prelude::{NodeId, RepoId}; +use radicle::prelude::NodeId; use radicle::storage::{ReadRepository, ReadStorage}; use crate::terminal as term; -use crate::terminal::args::{Args, Error, Help}; -pub const HELP: Help = Help { - name: "wait", - description: "Wait for some state to be updated", - version: env!("RADICLE_VERSION"), - usage: r#" -Usage +pub use args::Args; +pub(crate) use args::ABOUT; - rad watch -r [-t ] [--repo ] [