style: format entire depot with nixpkgs-fmt
This CL can be used to compare the style of nixpkgs-fmt against other formatters (nixpkgs, alejandra). Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: cynthia <cynthia@tvl.fyi> Reviewed-by: edef <edef@edef.eu> Reviewed-by: eta <tvl@eta.st> Reviewed-by: grfn <grfn@gws.fyi>
This commit is contained in:
parent
2d10d60fac
commit
aa122cbae7
310 changed files with 7278 additions and 5490 deletions
|
|
@ -21,7 +21,8 @@ let
|
|||
charAt = i: s:
|
||||
let
|
||||
r = builtins.substring i 1 s;
|
||||
in if r == "" then null else r;
|
||||
in
|
||||
if r == "" then null else r;
|
||||
|
||||
charIndex = char: s:
|
||||
let
|
||||
|
|
@ -32,7 +33,8 @@ let
|
|||
[ (charAt i s == char) i ]
|
||||
[ true (go (i + 1)) ]
|
||||
];
|
||||
in go 0;
|
||||
in
|
||||
go 0;
|
||||
|
||||
toChars = lib.stringToCharacters;
|
||||
fromChars = lib.concatStrings;
|
||||
|
|
@ -46,15 +48,16 @@ let
|
|||
let
|
||||
leftS = fromChars (builtins.genList (_: char) left);
|
||||
rightS = fromChars (builtins.genList (_: char) right);
|
||||
in "${leftS}${s}${rightS}";
|
||||
in
|
||||
"${leftS}${s}${rightS}";
|
||||
|
||||
fit = { char ? " ", width, side ? "left" }: s:
|
||||
let
|
||||
diff = width - builtins.stringLength s;
|
||||
in
|
||||
if diff <= 0
|
||||
then s
|
||||
else pad { inherit char; "${side}" = diff; } s;
|
||||
if diff <= 0
|
||||
then s
|
||||
else pad { inherit char; "${side}" = diff; } s;
|
||||
|
||||
# pattern matching for strings only
|
||||
match = val: matcher: matcher."${val}";
|
||||
|
|
@ -80,23 +83,28 @@ let
|
|||
tokens = lib.flatten (builtins.split "(%.)" formatString);
|
||||
argsNeeded = builtins.length (builtins.filter specifierWithArg tokens);
|
||||
|
||||
format = args: (builtins.foldl' ({ out ? "", argIndex ? 0 }: token: {
|
||||
argIndex = argIndex + (if specifierWithArg token then 1 else 0);
|
||||
out =
|
||||
/**/ if token == "%s" then out + builtins.elemAt args argIndex
|
||||
else if token == "%%" then out + "%"
|
||||
else if isSpecifier token then throw "Unsupported format specifier ${token}"
|
||||
else out + token;
|
||||
}) {} tokens).out;
|
||||
format = args: (builtins.foldl'
|
||||
({ out ? "", argIndex ? 0 }: token: {
|
||||
argIndex = argIndex + (if specifierWithArg token then 1 else 0);
|
||||
out =
|
||||
/**/
|
||||
if token == "%s" then out + builtins.elemAt args argIndex
|
||||
else if token == "%%" then out + "%"
|
||||
else if isSpecifier token then throw "Unsupported format specifier ${token}"
|
||||
else out + token;
|
||||
})
|
||||
{ }
|
||||
tokens).out;
|
||||
|
||||
accumulateArgs = argCount: args:
|
||||
if argCount > 0
|
||||
then arg: accumulateArgs (argCount - 1) (args ++ [ arg ])
|
||||
else format args;
|
||||
in
|
||||
accumulateArgs argsNeeded [];
|
||||
accumulateArgs argsNeeded [ ];
|
||||
|
||||
in {
|
||||
in
|
||||
{
|
||||
inherit
|
||||
take
|
||||
drop
|
||||
|
|
|
|||
|
|
@ -63,10 +63,10 @@ let
|
|||
];
|
||||
|
||||
in
|
||||
runTestsuite "nix.string" [
|
||||
testTakeDrop
|
||||
testIndexing
|
||||
testFinding
|
||||
testMatch
|
||||
testPrintf
|
||||
]
|
||||
runTestsuite "nix.string" [
|
||||
testTakeDrop
|
||||
testIndexing
|
||||
testFinding
|
||||
testMatch
|
||||
testPrintf
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue