-
-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Appending an optional string / array causes the entire expression to be reformatted #228
Comments
Is this an issue with the RFC or with the implementation? It seems this thread is discussing a similar issue too: https://discourse.nixos.org/t/satisfaction-survey-from-the-new-rfc-166-formatting/49758 |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/nix-formatting-team-treewide-nixpkgs-formatting/56666/2 |
This is not legal under RFC166 because the closing bracket before
https://github.com/NixOS/rfcs/blob/master/rfcs/0166-nix-formatting.md#chainable-operators If you're used to the RFC style, this property is extremely important to parsing operator chains (aswell as bindings in general) quickly mentally and encountering a non-indented line that is not the last line of the binding is confusing. I don't see a good way to solve this but, as mentioned in https://discourse.nixos.org/t/nix-formatting-team-treewide-nixpkgs-formatting/56666/3, you could pre-emptively force the non-compact form using a comment or a no-op expression if you anticipate that an operator will be used on your expression in the future. |
Description
I don't really mind either way, but filing this in case someone might find the following useful.
I think this diff could have been less noisy:
NixOS/nixpkgs@eac5951
Small example input
Consider this initial expression:
Now, we want to add some optional things:
Expected output
No change - I think the above is close to the existing style.
Actual output
nixfmt-rfc-style
reformats the entire thing, creating a big diff:The text was updated successfully, but these errors were encountered: