mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-15 02:36:16 +02:00
Merge pull request #11438 from zimbatm/nix-fmt-pwd
fix(nix fmt): remove the default "." argument
This commit is contained in:
commit
c60e1be62c
4 changed files with 28 additions and 13 deletions
17
doc/manual/rl-next/nix-fmt-default-argument.md
Normal file
17
doc/manual/rl-next/nix-fmt-default-argument.md
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
synopsis: Removing the default argument passed to the `nix fmt` formatter
|
||||||
|
issues: []
|
||||||
|
prs: [11438]
|
||||||
|
---
|
||||||
|
|
||||||
|
The underlying formatter no longer receives the ". " default argument when `nix fmt` is called with no arguments.
|
||||||
|
|
||||||
|
This change was necessary as the formatter wasn't able to distinguish between
|
||||||
|
a user wanting to format the current folder with `nix fmt .` or the generic
|
||||||
|
`nix fmt`.
|
||||||
|
|
||||||
|
The default behaviour is now the responsibility of the formatter itself, and
|
||||||
|
allows tools such as treefmt to format the whole tree instead of only the
|
||||||
|
current directory and below.
|
||||||
|
|
||||||
|
Author: [**@zimbatm**](https://github.com/zimbatm)
|
|
@ -40,14 +40,8 @@ struct CmdFmt : SourceExprCommand {
|
||||||
Strings programArgs{app.program};
|
Strings programArgs{app.program};
|
||||||
|
|
||||||
// Propagate arguments from the CLI
|
// Propagate arguments from the CLI
|
||||||
if (args.empty()) {
|
for (auto &i : args) {
|
||||||
// Format the current flake out of the box
|
programArgs.push_back(i);
|
||||||
programArgs.push_back(".");
|
|
||||||
} else {
|
|
||||||
// User wants more power, let them decide which paths to include/exclude
|
|
||||||
for (auto &i : args) {
|
|
||||||
programArgs.push_back(i);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Release our references to eval caches to ensure they are persisted to disk, because
|
// Release our references to eval caches to ensure they are persisted to disk, because
|
||||||
|
|
|
@ -5,11 +5,11 @@ source common.sh
|
||||||
TODO_NixOS # Provide a `shell` variable. Try not to `export` it, perhaps.
|
TODO_NixOS # Provide a `shell` variable. Try not to `export` it, perhaps.
|
||||||
|
|
||||||
clearStoreIfPossible
|
clearStoreIfPossible
|
||||||
rm -rf $TEST_HOME/.cache $TEST_HOME/.config $TEST_HOME/.local
|
rm -rf "$TEST_HOME"/.cache "$TEST_HOME"/.config "$TEST_HOME"/.local
|
||||||
|
|
||||||
cp ./simple.nix ./simple.builder.sh ./fmt.simple.sh ./config.nix $TEST_HOME
|
cp ./simple.nix ./simple.builder.sh ./fmt.simple.sh ./config.nix "$TEST_HOME"
|
||||||
|
|
||||||
cd $TEST_HOME
|
cd "$TEST_HOME"
|
||||||
|
|
||||||
nix fmt --help | grep "Format"
|
nix fmt --help | grep "Format"
|
||||||
|
|
||||||
|
@ -30,6 +30,9 @@ cat << EOF > flake.nix
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
nix fmt ./file ./folder | grep 'Formatting: ./file ./folder'
|
# No arguments check
|
||||||
|
[[ "$(nix fmt)" = "Formatting(0):" ]]
|
||||||
|
# Argument forwarding check
|
||||||
|
nix fmt ./file ./folder | grep 'Formatting(2): ./file ./folder'
|
||||||
nix flake check
|
nix flake check
|
||||||
nix flake show | grep -P "package 'formatter'"
|
nix flake show | grep -P "package 'formatter'"
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
echo Formatting: "${@}"
|
#!/usr/bin/env bash
|
||||||
|
echo "Formatting(${#}):" "${@}"
|
||||||
|
|
Loading…
Reference in a new issue