diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2026-03-05 11:33:10 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2026-03-05 11:41:09 +0000 |
| commit | 3ac5395b47c709c00f0072668dfdceb04f2d4974 (patch) | |
| tree | 79508c5dbdf92590c667fcc407a464f1e0118e92 /src/bin/ngit/cli.rs | |
| parent | 0e493c455a0345c206dd1c5b0dfb5322b8a4e3e9 (diff) | |
feat(label): add `ngit issue label` and `ngit pr label` commands
Publishes a NIP-32 kind-1985 label event referencing the target issue or
PR. Only the event author or a repository maintainer may apply labels.
Duplicate labels (already present via t-tags or prior kind-1985 events)
are silently skipped. The new event is saved to the local cache before
broadcasting so subsequent reads reflect the change immediately.
CLI:
ngit issue label <id> --label <L> [--label <L>...]
ngit pr label <id> --label <L> [--label <L>...]
Diffstat (limited to 'src/bin/ngit/cli.rs')
| -rw-r--r-- | src/bin/ngit/cli.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/bin/ngit/cli.rs b/src/bin/ngit/cli.rs index ccf25bb..b9b274e 100644 --- a/src/bin/ngit/cli.rs +++ b/src/bin/ngit/cli.rs | |||
| @@ -301,6 +301,18 @@ pub enum PrCommands { | |||
| 301 | #[arg(long)] | 301 | #[arg(long)] |
| 302 | offline: bool, | 302 | offline: bool, |
| 303 | }, | 303 | }, |
| 304 | /// add one or more labels to a PR (author or maintainer only) | ||
| 305 | Label { | ||
| 306 | /// Proposal event-id (hex) or nevent (bech32) | ||
| 307 | #[arg(value_name = "ID|nevent")] | ||
| 308 | id: String, | ||
| 309 | /// Label to apply (repeatable: --label bug --label help-wanted) | ||
| 310 | #[arg(long = "label", value_name = "LABEL", required = true)] | ||
| 311 | labels: Vec<String>, | ||
| 312 | /// Use local cache only, skip network fetch | ||
| 313 | #[arg(long)] | ||
| 314 | offline: bool, | ||
| 315 | }, | ||
| 304 | } | 316 | } |
| 305 | 317 | ||
| 306 | // --------------------------------------------------------------------------- | 318 | // --------------------------------------------------------------------------- |
| @@ -395,6 +407,18 @@ pub enum IssueCommands { | |||
| 395 | #[arg(long)] | 407 | #[arg(long)] |
| 396 | offline: bool, | 408 | offline: bool, |
| 397 | }, | 409 | }, |
| 410 | /// add one or more labels to an issue (author or maintainer only) | ||
| 411 | Label { | ||
| 412 | /// Issue event-id (hex) or nevent (bech32) | ||
| 413 | #[arg(value_name = "ID|nevent")] | ||
| 414 | id: String, | ||
| 415 | /// Label to apply (repeatable: --label bug --label help-wanted) | ||
| 416 | #[arg(long = "label", value_name = "LABEL", required = true)] | ||
| 417 | labels: Vec<String>, | ||
| 418 | /// Use local cache only, skip network fetch | ||
| 419 | #[arg(long)] | ||
| 420 | offline: bool, | ||
| 421 | }, | ||
| 398 | } | 422 | } |
| 399 | 423 | ||
| 400 | #[derive(Subcommand)] | 424 | #[derive(Subcommand)] |