Define Formatter Command Line Interface spec #8063
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Currently
nix fmt
is just like arbitrarynix run
. The CLI can vary between different formatters. This PR formalize and defines the formatter CLI to make it more portable. This allows us and downstream to integrate formatting or format checking in a portable command line call. Eg. callnix fmt -- --check .
innix flake check
.The interface defined in this PR is compatible with all of
nixpkgs-fmt
,alejanda
andnixfmt
, with the exception thatnixfmt
requires git master version to support recursive formatting.Context
Fixes #6918
Related oxalica/nil#70
Checklist for maintainers
Maintainers: tick if completed or explain if not relevant
tests/**.sh
src/*/tests
tests/nixos/*
Priorities
Add 👍 to pull requests you find important.