1
Fork 0
mirror of https://github.com/RGBCube/alejandra synced 2025-07-31 12:37:45 +00:00

Merge pull request #7 from blaggacao/main

chore: treefmt
This commit is contained in:
Kevin Amado 2022-01-30 12:36:04 -05:00 committed by GitHub
commit 6236164305
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 112 additions and 11 deletions

View file

@ -40,12 +40,12 @@
[^benchmark-specs]
| Cores | Seconds |
|:-----:|:--------:
| 1 | 40 |
| 2 | 21 |
| 4 | 15 |
| 8 | 11 |
| 16 | 10 |
| :---: | :-----: |
| 1 | 40 |
| 2 | 21 |
| 4 | 15 |
| 8 | 11 |
| 16 | 10 |
- ✔️ **Powerful**
@ -84,6 +84,7 @@ Let's get Alejandra on our systems:
- Nix stable:
Pick one depending on your platform:
```bash
$ nix-env -ivA aarch64-darwin -f https://github.com/kamadorueda/alejandra/tarball/main
$ nix-env -ivA aarch64-linux -f https://github.com/kamadorueda/alejandra/tarball/main
@ -118,7 +119,6 @@ Let's get Alejandra on our systems:
## Footnotes
[^benchmark-specs]:
Running on a [machine](https://github.com/kamadorueda/machine) with:
- CPU: 16 x Intel(R) Core(TM) i7-10700K
@ -126,9 +126,7 @@ Let's get Alejandra on our systems:
- BogoMips: 7599.80
- Cache Size: 16384 KB
[^semantic-changes]:
The methodology to claim this is:
[^semantic-changes]: The methodology to claim this is:
1. Checkout [Nixpkgs](https://github.com/nixos/nixpkgs) and run:

39
flake.lock generated
View file

@ -21,6 +21,21 @@
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1610051610,
"narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flakeCompat": {
"flake": false,
"locked": {
@ -73,7 +88,8 @@
"fenix": "fenix",
"flakeCompat": "flakeCompat",
"flakeUtils": "flakeUtils",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"treefmt": "treefmt"
}
},
"rust-analyzer-src": {
@ -92,6 +108,27 @@
"repo": "rust-analyzer",
"type": "github"
}
},
"treefmt": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1640364438,
"narHash": "sha256-sV1Oa9JVNmpAwZ4cnVs7ovHrKL8EPg3J08jPX/a48LI=",
"owner": "numtide",
"repo": "treefmt",
"rev": "26d7f5f15e5d22d4413ba7c5ae0447fdc0b5cc76",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt",
"type": "github"
}
}
},
"root": "root",

View file

@ -5,6 +5,8 @@
flakeCompat.url = github:edolstra/flake-compat;
flakeCompat.flake = false;
flakeUtils.url = "github:numtide/flake-utils";
treefmt.url = "github:numtide/treefmt";
treefmt.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
};
outputs =
@ -15,6 +17,7 @@
let
nixpkgs = import inputs.nixpkgs { inherit system; };
cargoToml = builtins.fromTOML ( builtins.readFile ./Cargo.toml );
treefmt = inputs.treefmt.defaultPackage.${ system };
fenix = inputs.fenix.packages.${ system };
fenixPlatform = nixpkgs.makeRustPlatform { inherit ( fenix.latest ) cargo rustc; };
in
@ -53,7 +56,11 @@
fenix.latest.rust-src
fenix.latest.rustc
fenix.latest.rustfmt
treefmt
nixpkgs.shfmt
nixpkgs.nodePackages.prettier
];
shellHook = "cargo build";
};
}
);

59
treefmt.toml Normal file
View file

@ -0,0 +1,59 @@
# One CLI to format the code tree - https://github.com/numtide/treefmt
[formatter.nix]
command = "./target/debug/alejandra"
includes = ["*.nix"]
[formatter.prettier]
command = "prettier"
options = ["--write"]
includes = [
"*.css",
"*.html",
"*.js",
"*.json",
"*.jsx",
"*.md",
"*.mdx",
"*.scss",
"*.ts",
"*.yaml",
]
[formatter.rust]
command = "rustfmt"
options = [
"--edition", "2021",
"--config",
"""enum_discrim_align_threshold=999,\
format_code_in_doc_comments=true,\
format_generated_files=true,\
format_macro_bodies=true,\
format_macro_matchers=true,\
format_strings=true,\
hex_literal_case=Lower,\
imports_granularity=Crate,\
imports_layout=HorizontalVertical,\
max_width=80,\
normalize_comments=true,\
normalize_doc_attributes=true,\
reorder_impl_items=true,\
struct_field_align_threshold=999,\
unstable_features=true,\
use_small_heuristics=Max,\
version=Two""",
]
includes = ["*.rs"]
[formatter.shell]
command = "shfmt"
options = [
"-bn", # binary ops like && and | may start a line
"-ci", # switch cases will be indented
"-sr", # redirect operators will be followed by a space
"-i", "2", # indent 2
"-s", # simplify the code
"-w", # write back to the file
]
includes = ["*.sh"]