Like rustfmt and clang-format, but for web specs
It is expected that this tool be used when developing web specifications, such as the Bikeshed specs that WHATWG works on, or even the HTML Standard (which uses a different build system, but that doesn't matter for the purposes of this tool).
specfmt
contains adapted and sometimes fixed algorithms from the original
rewrapper, ported to Rust.
With Cargo installed, run:
$ cargo install specfmt
To install Cargo (the Rust package manager) follow these instructions.
You can format a web specification file
by running:
$ specfmt [file]
Note that file
is optional if you're inside the spec directory: specfmt
will
try and find the unique *.bs
file in the current directory, or source
(for
whatwg/html).
By default, specfmt
will:
- Wrap lines to 100 cols
- Prevent you from formatting a spec with uncommitted changes
- Scope its reformatting to changes in the current spec branch
To override any of this behavior, run specfmt --help
to see additional command
line flags that you can pass in.