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/main.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/main.rs')
| -rw-r--r-- | src/bin/ngit/main.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/bin/ngit/main.rs b/src/bin/ngit/main.rs index 6a5a8f0..b0cf375 100644 --- a/src/bin/ngit/main.rs +++ b/src/bin/ngit/main.rs | |||
| @@ -130,6 +130,11 @@ async fn main() { | |||
| 130 | squash, | 130 | squash, |
| 131 | offline, | 131 | offline, |
| 132 | } => sub_commands::pr_merge::launch(id, *squash, *offline).await, | 132 | } => sub_commands::pr_merge::launch(id, *squash, *offline).await, |
| 133 | PrCommands::Label { | ||
| 134 | id, | ||
| 135 | labels, | ||
| 136 | offline, | ||
| 137 | } => sub_commands::label::launch_pr_label(id, labels, *offline).await, | ||
| 133 | }, | 138 | }, |
| 134 | Commands::Issue(args) => match &args.issue_command { | 139 | Commands::Issue(args) => match &args.issue_command { |
| 135 | IssueCommands::List { | 140 | IssueCommands::List { |
| @@ -193,6 +198,11 @@ async fn main() { | |||
| 193 | ) | 198 | ) |
| 194 | .await | 199 | .await |
| 195 | } | 200 | } |
| 201 | IssueCommands::Label { | ||
| 202 | id, | ||
| 203 | labels, | ||
| 204 | offline, | ||
| 205 | } => sub_commands::label::launch_issue_label(id, labels, *offline).await, | ||
| 196 | }, | 206 | }, |
| 197 | Commands::Sync(args) => sub_commands::sync::launch(args).await, | 207 | Commands::Sync(args) => sub_commands::sync::launch(args).await, |
| 198 | } | 208 | } |