Skip to content
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

Don't rewrite floats and don't break e+ syntax #246

Merged
merged 2 commits into from
Sep 3, 2024
Merged

Conversation

infinisil
Copy link
Member

Fixes #244

  • Parses floats into their text as-is, without rewriting anything. This means that floats like 0.068 aren't rewritten as 6.8e-2 anymore. However, .0 is also not rewritten as 0.0 anymore.
  • Fixes a parsing bug that caused 1.e+0 to be formatted as 1.e + 0, which is invalid syntax

This work is sponsored by Antithesis

- Parses floats into their text as-is, without rewriting anything. This
  means that floats like `0.068` aren't rewritten as 6.8e-2 anymore.
  However, `.0` is also not rewritten as `0.0` anymore.
- Fixes a parsing bug that caused `1.e+0` to be formatted as `1.e + 0`,
  which is invalid syntax
Copy link

github-actions bot commented Aug 29, 2024

Nixpkgs diff

src/Nixfmt/Parser/Float.hs Outdated Show resolved Hide resolved
@infinisil infinisil enabled auto-merge September 3, 2024 18:16
@infinisil infinisil merged commit 8a73acf into master Sep 3, 2024
2 checks passed
@infinisil infinisil deleted the fix-floats branch September 3, 2024 18:24
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/formatting-team-meeting-2024-09-03/51584/1

@adrian-gierakowski
Copy link

Would be great if we could land this in nixpkgs.

infinisil added a commit to tweag/nixpkgs that referenced this pull request Nov 28, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)
dasJ pushed a commit to NixOS/nixpkgs that referenced this pull request Nov 28, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)
github-actions bot pushed a commit to NixOS/nixpkgs that referenced this pull request Nov 28, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)

(cherry picked from commit edd47f7)
mkg20001 pushed a commit to mkg20001/nixpkgs that referenced this pull request Nov 30, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)
mkg20001 pushed a commit to mkg20001/nixpkgs that referenced this pull request Dec 2, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)
mkg20001 pushed a commit to mkg20001/nixpkgs that referenced this pull request Dec 4, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

rather simple decimal floats are converted to scientific / "E" notation
6 participants