Comments (4)
Or maybe it should add
\n
after the=
:let nix = if !buildNix then null else buildRacketNix; in { }
In my opinion yes. Whenever a =
is followed by an expression spanning multiple lines, there should always be a \n
after the =
. Because otherwise those lines cannot be logically aligned correctly to each other. Especially with larger expressions this is very important for readability.
Also I totally think that if/else should almost always be formatted like this:
if bool_expression1 then
indented_child_expression1
else if bool_expression2 then
indented_child_expression2
else
indented_child_expression3
Then again, there is the question of how much freedom the developer should be given. There are always some special cases where an alternative format can make sense.
from nixpkgs-fmt.
Alternatively, maybe nixpkgs-fmt should move the trailing else
to the next line before autoindenting. It appears that newline-before-else is much more common:
$ rg 'else$' | wc -l
1894
$ rg '^ *else' | wc -l
3870
Most of the cases of newline-after-else are actually because the else
keyword is alone on the line.
$ rg '^ *else$' | wc -l
1193
from nixpkgs-fmt.
Or maybe it should add \n
after the =
:
let
nix =
if !buildNix then null else
buildRacketNix;
in
{ }
from nixpkgs-fmt.
I agree that the current re-formatting is not ideal.
from nixpkgs-fmt.
Related Issues (20)
- sample: list of floats formatted surpised me HOT 3
- improve CLI ergonomics when parsing errors occur when using parse flag HOT 1
- [Security] Make formatted expression free from CVE-2021-42574 (Trojan Source) HOT 5
- Misaligned lists of attribute sets HOT 1
- sample: List after in has no indentation
- Second comment line is indented after let … in
- Multi-line strings in let/in-expressions are wrongly indented
- Add a binary to Releases
- Re-release for security updates HOT 2
- Wrong indention for attr set as parameter
- Space removed before comments in multi-line inherit expressions HOT 1
- Add option to choose indention style HOT 2
- Confusing attset merging
- Shell completions HOT 1
- Pre-Commit fails sporadically with `failed to compile nixpkgs-fmt`
- sample: HOT 1
- attrsets as function arguments do not get properly indented
- Comments indented wrong in if statements
- multiline string content gets modified, altering outputs HOT 2
- Bump cargo deps (CVE-2022-23639) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nixpkgs-fmt.