Format //!
and ///
comments with prettier
cargo install rustdoc-prettier
rustdoc-prettier
requires prettier
to be installed independently, e.g.:
npm install -g prettier
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 a rustfmt.toml file with a max_width
key is found
in the current directory or a parent directory, 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=
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.