7 releases
0.2.5 | Mar 22, 2024 |
---|---|
0.2.4 | Mar 14, 2023 |
0.2.1 | Feb 28, 2023 |
0.2.0 | Feb 6, 2020 |
0.1.1 | Feb 28, 2020 |
#2534 in Parser implementations
300 downloads per month
Used in 2 crates
46KB
936 lines
Pest Formatter
Pest Formatter is a tool to format Pest grammar files.
Installation
cargo install pest_fmt
Usage
Then use the pestfmt
command to format your .pest
files.
$ pestfmt -h
A formatter tool for pest
Usage: pestfmt [OPTIONS] [FILE]...
Arguments:
[FILE]... The file or path to format [default: .]
Options:
-s, --stdin
-h, --help Print help
-V, --version Print version
Format pest files
$ pestfmt .
It will find all .pest
files in the current directory and format and overwrite them.
Output:
Pest Formatter
-------------------------------------
2 files formatted.
Format from stdin
You can use --stdin
option to format Pest source code from stdin, it will read from stdin and write to stdout.
cat file.pest | pestfmt --stdin
Usage as a library
Add pest_fmt
into your Cargo.toml
:
$ cargo add pest_fmt
Then use the Formatter
struct to format pest grammar.
use pest_fmt::Formatter;
let mut fmt = Formatter::new("a={ASCII_DIGIT}");
let out = fmt.format().unwrap();
println!("{out}");
// a = { ASCII_DIGIT }
Development Tool Integration
VS Code
https://github.com/pest-parser/pest-ide-tools
Benchmark
Based on MacBook Pro (Apple M1 2020)
format (json.pest) time: [89.403 µs 89.632 µs 89.878 µs]
format (grammar.pest) time: [1.6018 ms 1.6054 ms 1.6105 ms]
License
Mozilla Public License 2.0
Dependencies
~8–17MB
~220K SLoC