3 unstable releases
0.2.0 | Aug 8, 2024 |
---|---|
0.1.1 | Jul 28, 2024 |
0.1.0 | Jun 30, 2024 |
#612 in Rust patterns
161 downloads per month
14KB
308 lines
rustdoc-prettier
Format //!
and ///
comments with prettier
Installation
cargo install rustdoc-prettier
rustdoc-prettier
requires prettier
to be installed independently, e.g.:
npm install -g prettier
Usage
rustdoc-prettier [ARGS]
Arguments ending with .rs
are considered source files and are
formatted. All other arguments are forwarded to prettier
, with
one exception. An option of the form:
---max-width <N>
is converted to options of the form:
--prose-wrap always --print-width <M>
where M
is N
minus the sum of the widths of the indentation,
the //!
or ///
syntax, and the space that might follow that
syntax. If the current directory contains a rustfmt.toml file
with a max_width
key, the --max-width
option is applied
automatically.
rustdoc-prettier supports glob patterns. Example:
rustdoc-prettier '**/*.rs'
References
- https://prettier.io/docs/en/options.html
- https://rust-lang.github.io/rustfmt/?version=master&search=
Notes
rustdoc-prettier
parses source code manually. It does not use rustdoc-json
. There are two reasons for this:
rustdoc-json
provides the span of the commented code, but not of the comment itself. To the best of my knowledge, there is no easy way to extractrustdoc
comments usingrustdoc-json
's output.rustdoc-json
does not output spans for items that come from macro expansions or inline assembly. However, there are legitimate reasons to want to format such comments.
Dependencies
~7–16MB
~243K SLoC