From 3889e6f103334c85fc21b9ecd01d38c03d2affdd Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Sun, 18 Aug 2024 16:17:16 -0400 Subject: [PATCH] Add support for CoMaintainers field in info responses --- man/auracle.1.pod | 6 +++--- src/aur/package.cc | 1 + src/aur/package.hh | 1 + src/auracle/format.cc | 2 ++ 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/man/auracle.1.pod b/man/auracle.1.pod index 58987e9..b037d1f 100644 --- a/man/auracle.1.pod +++ b/man/auracle.1.pod @@ -205,9 +205,9 @@ day in dotted form. String array fields: B<{depends}>, B<{makedepends}>, B<{checkdepends}>, B<{optdepends}>, B<{conflicts}>, B<{provides}>, B<{replaces}>, B<{groups}>, -B<{keywords}>, B<{licenses}>. These fields default to using a delimiter of two -whitespace, but can be customized, e.g. B<{depends:,}> to comma delimit the -values of the depends field. +B<{keywords}>, B<{licenses}>, B<{comaintainers}>. These fields default to using +a delimiter of two whitespace, but can be customized, e.g. B<{depends:,}> to +comma delimit the values of the depends field. Example: recreating auracle's search output: diff --git a/src/aur/package.cc b/src/aur/package.cc index b93f105..9255a9d 100644 --- a/src/aur/package.cc +++ b/src/aur/package.cc @@ -49,6 +49,7 @@ void from_json(const nlohmann::json& j, Package& p) { // clang-format off static const auto& callbacks = *new CallbackMap{ { "CheckDepends", MakeValueCallback(&Package::checkdepends) }, + { "CoMaintainers", MakeValueCallback(&Package::comaintainers) }, { "Conflicts", MakeValueCallback(&Package::conflicts) }, { "Depends", MakeValueCallback(&Package::depends) }, { "Description", MakeValueCallback(&Package::description) }, diff --git a/src/aur/package.hh b/src/aur/package.hh index 840540d..ab0a7c3 100644 --- a/src/aur/package.hh +++ b/src/aur/package.hh @@ -52,6 +52,7 @@ struct Package { std::vector optdepends; std::vector provides; std::vector replaces; + std::vector comaintainers; std::vector depends; std::vector makedepends; diff --git a/src/auracle/format.cc b/src/auracle/format.cc index c8c0d15..6db000c 100644 --- a/src/auracle/format.cc +++ b/src/auracle/format.cc @@ -188,6 +188,7 @@ void Long(const aur::Package& package, fmt::print("{}", Field("Popularity", p.popularity)); fmt::print("{}", Field("Maintainer", p.maintainer.empty() ? "(orphan)" : p.maintainer)); + fmt::print("{}", Field("Co-maintainers", p.comaintainers)); fmt::print("{}", Field("Submitted", p.submitted)); fmt::print("{}", Field("Last Modified", p.modified)); if (p.out_of_date > absl::UnixEpoch()) { @@ -214,6 +215,7 @@ void FormatCustomTo(std::string& out, std::string_view format, fmt::arg("name", package.name), fmt::arg("description", package.description), fmt::arg("maintainer", package.maintainer), + fmt::arg("comaintainers", package.comaintainers), fmt::arg("version", package.version), fmt::arg("pkgbase", package.pkgbase), fmt::arg("url", package.upstream_url),