601ec251f8
This patch adds support for multiple rustdoc output formats to the test suite. This is a preparation for adding support for rustdoc’s JSON output. |
||
---|---|---|
.builds | ||
.reuse | ||
LICENSES | ||
src | ||
tests | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
INSTALL.md | ||
README.md | ||
rusty-man.jpg | ||
rusty-man.jpg.license |
rusty-man
$ rusty-man rusty-man | head -5
rusty-man Module rusty-man rusty-man
DESCRIPTION
rusty-man is a command-line viewer for documentation generated by
`rustdoc`.
Example Usage
Before running rusty-man, make sure that you generated the documentation with
cargo doc
:
$ cd rusty-man && cargo doc
Then you can open the documentation for an item:
$ rusty-man kuchiki::NodeRef
You don’t have to specificy the full item name:
$ rusty-man NodeRef
If the documentation is not placed in ./target/doc
or the Rust installation
directory, you have to manually set the source path using the -s
/--source
option:
$ rusty-man --source my/other/crate/target/doc io::Error
If there are multiple matches for the keyword, rusty-man will show you a list of all matching items:
$ rusty-man --source my/other/crate/target/doc u8
Found mulitple matches for u8 – select one of:
[ 0 ] core::u8: The 8-bit unsigned integer type.
[ 1 ] std::u8: The 8-bit unsigned integer type.
> 1
For more usage information, run rusty-man --help
.
Viewers
rusty-man has three viewers (select one with the --viewer
option) that
determine the output format:
plain
prints the documentation to the standard output without formatting. This is the default for non-interactive use.rich
prints the documentation to the standard output with formatting and optional syntax highlighting. This is the default for interactive use.tui
is an interactive terminal interface. You can read the documentation and follow links.
Installation
To install rusty-man from source, clone this repository and use cargo to build
the project, or use cargo install
. See the INSTALL.md
file for more
information. rusty-man is also available as a package for these distributions:
- Arch Linux:
rusty-man
in the Arch User Repository
rusty-man is developed for Unix-like systems. It should run on other platforms
too, but with some limitations: The rich
and tui
viewers uses ANSI escape
codes, which are not supported on older Windows versions. If you have trouble
running rusty-man on your platform or if you want to help porting rusty-man to
other platforms, please let me know.
Integrations
vim
You can set rusty-man as the keyword program with set keywordprg=rusty-man
and then use K
to open the documentation for the item under the cursor. If
you want to apply this setting for all Rust files, add it to the
ftplugin/rust.vim
file in your vim runtime directory (e. g. ~/.vim
).
Contributing
Contributions to this project are very welcome! You can contribute by writing
code or documentation or by testing. See the CONTRIBUTING.md
file for
more information.
If you are looking for a good starting point, have a look at the issues with the label “good first issue” in rusty-man’s issue tracker.
Minimum Supported Rust Version
This crate supports Rust 1.40 or later.
Contact
For bug reports, patches, feature requests or other messages, please send a mail to the mailing list ~ireas/rusty-man-dev@lists.sr.ht (public archive) or contact me directly. You can also use the rusty-man issue tracker for bug reports or features requests.
License
This project is licensed under the MIT License. For license information
for the data used by the test suite, see the .reuse/dep5
file.
rusty-man
complies with version 3.0 of the REUSE specification.