From da284a084c85585dd42abe27cafe5f7085a128a1 Mon Sep 17 00:00:00 2001
From: Awiteb
Date: Sun, 29 Jun 2025 20:19:54 +0000
Subject: [PATCH] feat: View the repo maintainers as `npub`
Signed-off-by: Awiteb
---
CHANGELOG.md | 1 +
src/cli/commands/repo/view.rs | 12 +++++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 09acdb4..1472618 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- New `patch fetch` command to fetch patches - by Awiteb
- New `issue {reopen,close,resolve}` commands to manage issue status - by Awiteb
- New `patch` subcommands apply,close,draft,merge and reopen to manage the patch status - by Awiteb
+- View the repo maintainers as `npub` - by Awiteb
### Dependencies
diff --git a/src/cli/commands/repo/view.rs b/src/cli/commands/repo/view.rs
index 583e726..4f0e73e 100644
--- a/src/cli/commands/repo/view.rs
+++ b/src/cli/commands/repo/view.rs
@@ -17,6 +17,7 @@
use std::fmt;
use clap::Args;
+use nostr::nips::nip19::ToBech32;
use crate::{
cli::{
@@ -78,7 +79,11 @@ impl CommandRunner for ViewArgs {
if !repo.maintainers.is_empty() {
repo_details.push_str(&format!(
"\nMaintainers:\n{}",
- format_list(repo.maintainers)
+ format_list(
+ repo.maintainers
+ .iter()
+ .map(|p| p.to_bech32().expect("Infallible"))
+ )
));
}
repos_details.push(repo_details);
@@ -90,11 +95,12 @@ impl CommandRunner for ViewArgs {
}
/// Format a vector to print it
-fn format_list(vector: Vec) -> String
+fn format_list(iterator: I) -> String
where
+ I: IntoIterator- ,
T: fmt::Display,
{
- vector
+ iterator
.into_iter()
.map(|t| format!(" - {t}"))
.collect::>()