Crates.io | prettyplease-cli |
lib.rs | prettyplease-cli |
version | 0.1.0 |
source | src |
created_at | 2022-02-03 20:01:39.404877 |
updated_at | 2022-02-03 20:24:44.305167 |
description | Unofficial and basic CLI wrapper around the `::prettyplease` library. |
homepage | |
repository | https://github.com/danielhenrymantilla/prettyplease-cli |
max_upload_size | |
id | 526357 |
size | 34,096 |
::prettyplease-cli
or: How I learned to Stop Worrying and Trim the Comments.Unofficial and basic CLI wrapper around the ::prettyplease
library.
This can be used as a poorman's substitute of rustfmt
, mainly for generated
code.
Indeed, ::prettyplease
only operates off a ::syn::File
(by design). And
a ::syn::File
is an AST1 parsed representation of a file of source code.
Such AST does not include comments.
This means that piping the contents of a source file into
::syn::parse_file()
and then into ::prettyplease::unparse()
results in
loss of comments; and this is exactly what this CLI tool does.
cargo install prettyplease-cli
## You may add `--no-default-features` to speed up the compilation
## if you are not interested in the `--check` mode showing pretty line diffs.
Unofficial CLI wrapper around `::prettyplease::unparse` to format files and trim comments.
This modifies them IN PLACE, unless the `--check` flag is passed.
USAGE:
prettyplease-fmt [OPTION] <files…>
OPTIONS:
--check Runs in 'check' mode. Exits with 0 if input is formatted
correctly. Exits with 1 if formatting is required, printing
a diff unless the `check-shows-diffs` Cargo feature were
disabled at compile-time.
-h, --help Shows this very message.
See https://crates.io/crates/prettyplease for more info about the formatting itself.
Preserve comments, somehow;
Accept files and/or globs for directory traversal;
Handle files in parallel.
Abstract Syntax Tree ↩