docs: optionally add a description to plugins

This commit is contained in:
Gaetan Lepage 2024-03-21 12:04:09 +01:00 committed by Gaétan Lepage
parent 2d4ebda245
commit 848543d527
4 changed files with 24 additions and 7 deletions

View file

@ -65,12 +65,14 @@ with lib; let
if builtins.length path >= 2 && lib.hasAttrByPath path nixvimInfo
then let
info = lib.getAttrFromPath path nixvimInfo;
maintainers = lib.unique (options.config.meta.maintainers."${info.file}" or []);
maintainers = lib.unique (options.config.meta.maintainers.${info.file} or []);
maintainersNames = builtins.map (m: m.name) maintainers;
in
"# ${lib.last path}\n\n"
+ (lib.optionalString (info.url != null) "Url: [${info.url}](${info.url})\n\n")
+ (lib.optionalString (info.description != null) "${info.description}\n\n")
+ (lib.optionalString (info.url != null) "**Url:** [${info.url}](${info.url})\n\n")
+ (lib.optionalString (builtins.length maintainers > 0)
"Maintainers: ${lib.concatStringsSep ", " (builtins.map (m: m.name) maintainers)}\n\n")
"**Maintainers:** ${lib.concatStringsSep ", " maintainersNames}\n\n")
else null;
};

View file

@ -22,6 +22,7 @@
# Attribute may contain the following fields:
# - name: Name of the module
# - kind: Either colorschemes or plugins
# - description: A short description of the plugin
# - url: Url for the plugin
#
# [kind name] will identify the plugin
@ -37,12 +38,16 @@
# }
#
# Where <info> is an attrset of the form:
# {file = "path"; url = null or "<URL>";}
# {
# file = "path";
# description = null or "<DESCRIPTION>";
# url = null or "<URL>";
# }
merge = _: defs:
lib.foldl' (acc: def:
lib.recursiveUpdate acc {
"${def.value.kind}"."${def.value.name}" = {
inherit (def.value) url;
inherit (def.value) url description;
inherit (def) file;
};
}) {

View file

@ -35,6 +35,7 @@ with lib; rec {
maintainers,
url ? defaultPackage.meta.homepage,
imports ? [],
description ? null,
# deprecations
deprecateExtraOptions ? false,
optionsRenamedToSettings ? [],
@ -62,7 +63,11 @@ with lib; rec {
meta = {
inherit maintainers;
nixvimInfo = {
inherit name url;
inherit
description
name
url
;
kind = namespace;
};
};

View file

@ -12,6 +12,7 @@ with lib; {
else null,
maintainers,
imports ? [],
description ? null,
# deprecations
deprecateExtraConfig ? false,
optionsRenamedToSettings ? [],
@ -72,7 +73,11 @@ with lib; {
meta = {
inherit maintainers;
nixvimInfo = {
inherit name url;
inherit
description
name
url
;
kind = namespace;
};
};