Misc formatting

This commit is contained in:
Oystein Kristoffer Tveit 2021-12-15 03:25:01 +01:00
parent be91349e6a
commit a7ed77a74c
1 changed files with 27 additions and 17 deletions

View File

@ -21,21 +21,29 @@ let
inherit (lib.strings) concatStringsSep; inherit (lib.strings) concatStringsSep;
inherit (lib.termColors.front) blue; inherit (lib.termColors.front) blue;
genWrapper = type: value: { inherit type; inherit value; }; genWrapper = type: value: { inherit type; inherit value; };
in { in
shellPipe = { {
wrap = genWrapper "shellPipe"; shellPipe = {
apply = f: concatStringsSep " | " f.value; wrap = genWrapper "shellPipe";
stringify = f: concatStringsSep (blue "\n| ") f.value; apply = f: concatStringsSep " | " f.value;
stringify = f: concatStringsSep (blue "\n| ") f.value;
};
join = {
wrap = genWrapper "join";
apply = f: concatStringsSep " " f.value;
stringify = f: concatStringsSep " \\\n " f.value;
};
}; };
join = {
wrap = genWrapper "join";
apply = f: concatStringsSep " " f.value;
stringify = f: concatStringsSep " \\\n " f.value;
};
};
# AttrSet -> Bool # AttrSet -> Bool
isFunctor = attrset: if !(attrset ? "type") then false else lib.lists.any (f: (f.wrap "").type == attrset.type) (lib.attrsets.attrValues functors); isFunctor = let
inherit (lib.lists) any;
inherit (lib.attrsets) attrValues;
in
attrset:
if !(attrset ? "type")
then false
else any (f: (f.wrap "").type == attrset.type) (attrValues functors);
in rec { in rec {
_module.args.shellOptions = { _module.args.shellOptions = {
@ -349,14 +357,16 @@ in rec {
removeNixLinks = text: let removeNixLinks = text: let
maybeMatches = builtins.match "(|.*[^)])(/nix/store/.*/bin/).*" text; maybeMatches = builtins.match "(|.*[^)])(/nix/store/.*/bin/).*" text;
matches = mapNullable (remove "") maybeMatches; matches = mapNullable (remove "") maybeMatches;
in if (maybeMatches == null) in
then text if (maybeMatches == null)
else replaceStrings' matches "" text; then text
else replaceStrings' matches "" text;
applyFunctor = attrset: let applyFunctor = attrset: let
applied = functors.${attrset.type}.stringify attrset; applied = functors.${attrset.type}.stringify attrset;
indent' = indent + (repeatString " " ((stringLength " ->") + (stringLength n))); indent' = indent + (repeatString " " ((stringLength " -> \"") + (stringLength n))) + " ";
in replaceStrings' ["\n"] ("\n" + indent') applied; in
replaceStrings' ["\n"] ("\n" + indent') applied;
recurse = stringifyCategory (level + 1) n v; recurse = stringifyCategory (level + 1) n v;
in in