nix: format test fixtures via nix fmt
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Ia9c1e9b0a8cd9c6d834f153609baa5426a6a6964
This commit is contained in:
parent
e8dd09c5b4
commit
b49044c9a5
15 changed files with 132 additions and 73 deletions
19
flake.nix
19
flake.nix
|
|
@ -4,9 +4,10 @@
|
|||
outputs = {nixpkgs, ...}: let
|
||||
systems = ["x86_64-linux" "aarch64-linux"];
|
||||
forAllSystems = nixpkgs.lib.genAttrs systems;
|
||||
pkgsFor = system: nixpkgs.legacyPackages.${system};
|
||||
in {
|
||||
devShells = forAllSystems (system: let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
pkgs = pkgsFor system;
|
||||
in {
|
||||
default = pkgs.mkShell {
|
||||
name = "nixir";
|
||||
|
|
@ -34,5 +35,21 @@
|
|||
env.NIX_PLUGINABI = "0.2";
|
||||
};
|
||||
});
|
||||
|
||||
formatter = forAllSystems (system: let
|
||||
pkgs = pkgsFor system;
|
||||
in
|
||||
pkgs.writeShellApplication {
|
||||
name = "nix3-fmt-wrapper";
|
||||
|
||||
runtimeInputs = [
|
||||
pkgs.alejandra
|
||||
pkgs.fd
|
||||
];
|
||||
|
||||
text = ''
|
||||
fd "$@" -t f -e nix -x alejandra -q '{}'
|
||||
'';
|
||||
});
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
let
|
||||
x = 10;
|
||||
in
|
||||
{ a = x; }
|
||||
in {a = x;}
|
||||
|
|
|
|||
|
|
@ -3,4 +3,6 @@ let
|
|||
a = 10;
|
||||
b = 20;
|
||||
in
|
||||
if a < b then true else false
|
||||
if a < b
|
||||
then true
|
||||
else false
|
||||
|
|
|
|||
|
|
@ -1,2 +1,4 @@
|
|||
# Conditional test
|
||||
if true then 1 else 2
|
||||
if true
|
||||
then 1
|
||||
else 2
|
||||
|
|
|
|||
|
|
@ -2,16 +2,19 @@
|
|||
let
|
||||
x = 10;
|
||||
y = 20;
|
||||
attrs = { a = 1; b = 2; c = 3; };
|
||||
in
|
||||
{
|
||||
# Basic inherit from outer scope
|
||||
inherit x y;
|
||||
attrs = {
|
||||
a = 1;
|
||||
b = 2;
|
||||
c = 3;
|
||||
};
|
||||
in {
|
||||
# Basic inherit from outer scope
|
||||
inherit x y;
|
||||
|
||||
# Inherit from expression
|
||||
inherit (attrs) a b;
|
||||
# Inherit from expression
|
||||
inherit (attrs) a b;
|
||||
|
||||
# Mixed
|
||||
z = 30;
|
||||
inherit (attrs) c;
|
||||
}
|
||||
# Mixed
|
||||
z = 30;
|
||||
inherit (attrs) c;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
let
|
||||
attrs = { a = 1; };
|
||||
in
|
||||
{ inherit (attrs) a; }
|
||||
attrs = {a = 1;};
|
||||
in {inherit (attrs) a;}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
let
|
||||
x = 10;
|
||||
in
|
||||
{ inherit x; }
|
||||
in {inherit x;}
|
||||
|
|
|
|||
|
|
@ -1,36 +1,61 @@
|
|||
# Test lambda patterns
|
||||
let
|
||||
# Basic destructuring
|
||||
f1 = { a, b }: a + b;
|
||||
f1 = {
|
||||
a,
|
||||
b,
|
||||
}:
|
||||
a + b;
|
||||
|
||||
# With default values
|
||||
f2 = { a, b ? 10 }: a + b;
|
||||
f2 = {
|
||||
a,
|
||||
b ? 10,
|
||||
}:
|
||||
a + b;
|
||||
|
||||
# With ellipsis (extra fields allowed)
|
||||
f3 = { a, ... }: a * 2;
|
||||
f3 = {a, ...}: a * 2;
|
||||
|
||||
# Named pattern with ellipsis to allow extra fields
|
||||
f4 = arg@{ a, b, ... }: a + b + arg.c;
|
||||
f4 = arg @ {
|
||||
a,
|
||||
b,
|
||||
...
|
||||
}:
|
||||
a + b + arg.c;
|
||||
|
||||
# Simple lambda (not a pattern)
|
||||
f5 = x: x + 1;
|
||||
in
|
||||
{
|
||||
# Test basic destructuring
|
||||
test1 = f1 { a = 3; b = 4; };
|
||||
in {
|
||||
# Test basic destructuring
|
||||
test1 = f1 {
|
||||
a = 3;
|
||||
b = 4;
|
||||
};
|
||||
|
||||
# Test with defaults (provide both)
|
||||
test2a = f2 { a = 5; b = 6; };
|
||||
# Test with defaults (provide both)
|
||||
test2a = f2 {
|
||||
a = 5;
|
||||
b = 6;
|
||||
};
|
||||
|
||||
# Test with defaults (use default for b)
|
||||
test2b = f2 { a = 5; };
|
||||
# Test with defaults (use default for b)
|
||||
test2b = f2 {a = 5;};
|
||||
|
||||
# Test ellipsis (extra field ignored)
|
||||
test3 = f3 { a = 7; extra = 999; };
|
||||
# Test ellipsis (extra field ignored)
|
||||
test3 = f3 {
|
||||
a = 7;
|
||||
extra = 999;
|
||||
};
|
||||
|
||||
# Test named pattern
|
||||
test4 = f4 { a = 1; b = 2; c = 3; };
|
||||
# Test named pattern
|
||||
test4 = f4 {
|
||||
a = 1;
|
||||
b = 2;
|
||||
c = 3;
|
||||
};
|
||||
|
||||
# Test simple lambda
|
||||
test5 = f5 10;
|
||||
}
|
||||
# Test simple lambda
|
||||
test5 = f5 10;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,4 +2,5 @@
|
|||
let
|
||||
x = 10;
|
||||
y = 20;
|
||||
in x
|
||||
in
|
||||
x
|
||||
|
|
|
|||
|
|
@ -3,4 +3,8 @@ let
|
|||
x = true;
|
||||
y = false;
|
||||
in
|
||||
if x && y then 1 else if x || y then 2 else 3
|
||||
if x && y
|
||||
then 1
|
||||
else if x || y
|
||||
then 2
|
||||
else 3
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
# Test operator precedence
|
||||
let
|
||||
a = 1 + 2 * 3; # Should be 1 + (2 * 3) = 7
|
||||
b = 10 - 5 - 2; # Should be (10 - 5) - 2 = 3
|
||||
c = true && false || true; # Should be (true && false) || true = true
|
||||
d = 1 < 2 && 3 > 2; # Should be (1 < 2) && (3 > 2) = true
|
||||
in
|
||||
{ a = a; b = b; c = c; d = d; }
|
||||
a = 1 + 2 * 3; # Should be 1 + (2 * 3) = 7
|
||||
b = 10 - 5 - 2; # Should be (10 - 5) - 2 = 3
|
||||
c = true && false || true; # Should be (true && false) || true = true
|
||||
d = 1 < 2 && 3 > 2; # Should be (1 < 2) && (3 > 2) = true
|
||||
in {
|
||||
a = a;
|
||||
b = b;
|
||||
c = c;
|
||||
d = d;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@ let
|
|||
alwaysFalse = false;
|
||||
alwaysTrue = true;
|
||||
x = 10;
|
||||
in
|
||||
{
|
||||
and_false = alwaysFalse && alwaysTrue;
|
||||
or_true = alwaysTrue || alwaysFalse;
|
||||
impl_false = alwaysFalse -> alwaysFalse;
|
||||
}
|
||||
in {
|
||||
and_false = alwaysFalse && alwaysTrue;
|
||||
or_true = alwaysTrue || alwaysFalse;
|
||||
impl_false = alwaysFalse -> alwaysFalse;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,17 +3,20 @@ let
|
|||
name = "world";
|
||||
x = 42;
|
||||
bool_val = true;
|
||||
in
|
||||
{
|
||||
# Simple interpolation
|
||||
greeting = "Hello ${name}!";
|
||||
in {
|
||||
# Simple interpolation
|
||||
greeting = "Hello ${name}!";
|
||||
|
||||
# Multiple interpolations
|
||||
multi = "x is ${x} and name is ${name}";
|
||||
# Multiple interpolations
|
||||
multi = "x is ${x} and name is ${name}";
|
||||
|
||||
# Nested expression
|
||||
nested = "Result: ${if bool_val then "yes" else "no"}";
|
||||
# Nested expression
|
||||
nested = "Result: ${
|
||||
if bool_val
|
||||
then "yes"
|
||||
else "no"
|
||||
}";
|
||||
|
||||
# Just a string (no interpolation)
|
||||
plain = "plain text";
|
||||
}
|
||||
# Just a string (no interpolation)
|
||||
plain = "plain text";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,5 +2,7 @@
|
|||
let
|
||||
x = 10;
|
||||
y = true;
|
||||
in
|
||||
{ neg = -x; not = !y; }
|
||||
in {
|
||||
neg = -x;
|
||||
not = !y;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue