42 lines
1 KiB
Rust
42 lines
1 KiB
Rust
//! Per-verb subcommand modules. Each module exposes a `Args` struct
|
|
//! (clap-derived) and a `run` fn taking `(&Client, Args) -> Result<()>`.
|
|
//! Splitting one verb per module keeps each handler small and avoids
|
|
//! the bash script's monolithic `case` statement.
|
|
|
|
pub mod assign;
|
|
pub mod attach;
|
|
pub mod attachment_get;
|
|
pub mod branches;
|
|
pub mod clone;
|
|
pub mod close;
|
|
pub mod comment;
|
|
pub mod comment_edit;
|
|
pub mod comment_show;
|
|
pub mod comments;
|
|
pub mod diff;
|
|
pub mod issue;
|
|
pub mod issue_create;
|
|
pub mod issue_edit;
|
|
pub mod labels;
|
|
pub mod lint;
|
|
pub mod list;
|
|
pub mod milestone;
|
|
pub mod pr;
|
|
pub mod pr_create;
|
|
pub mod pr_reviews;
|
|
pub mod pr_status;
|
|
pub mod subscription;
|
|
pub mod timeline;
|
|
pub mod tree_sha;
|
|
pub mod view;
|
|
|
|
use anyhow::Result;
|
|
use serde_json::Value;
|
|
|
|
/// Pretty-print a `serde_json` value to stdout with a trailing newline,
|
|
/// matching the bash script's `| jq` output shape.
|
|
pub(crate) fn print_json(v: &Value) -> Result<()> {
|
|
let s = serde_json::to_string_pretty(v)?;
|
|
println!("{s}");
|
|
Ok(())
|
|
}
|