Go to file
Robin Krahl 34857816e1
Add -e/--example option to only show examples
As requested here [0], this patch adds a new -e/--example option that
extracts the examples from the documentation string instead of printing
the full documentation for an item.  Syntax highlighting will be added
in the future.

[0] https://old.reddit.com/r/rust/comments/hx16j0/rustyman_a_commandline_viewer_for_rustdoc/fz3utjf/
2020-07-25 12:58:52 +02:00
.builds Run cargo doc before cargo test 2020-07-19 17:39:47 +02:00
LICENSES Initial project scaffolding 2020-07-19 14:10:54 +02:00
src Add -e/--example option to only show examples 2020-07-25 12:58:52 +02:00
.gitignore Initial project scaffolding 2020-07-19 14:10:54 +02:00
Cargo.lock Add basic logging with env_logger 2020-07-24 18:10:53 +02:00
Cargo.toml Add basic logging with env_logger 2020-07-24 18:10:53 +02:00
CHANGELOG.md Add -e/--example option to only show examples 2020-07-25 12:58:52 +02:00
CONTRIBUTING.md Extend contributing guide 2020-07-20 10:23:28 +02:00
INSTALL.md Release v0.1.1 2020-07-24 14:26:25 +02:00
README.md Add vim integration to readme 2020-07-24 22:57:18 +02:00

rusty-man

$ rusty-man rusty-man | head -4
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 dont have to specificy the full item name:

$ rusty-man NodeRef

If the documentation is not placed in ./target/doc or /usr/share/doc/rust{,-doc}/html, you have to manually set the source path using the -s/--source option:

$ rusty-man --source ~/.rustup/toolchains/stable-*/share/doc/html io::Error

If there are multiple matches for the keyword, rusty-man will show you a list of all matching items:

$ rusty-man --source ~/.rustup/toolchains/stable-*/share/doc/rust/html 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.

Installation

To install rusty-man, clone this repository and use cargo to build the project, or use cargo install. See the INSTALL.md file for more information.

rusty-man should run on all platforms supported by crossterm. 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-mans 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.

rusty-man complies with version 3.0 of the REUSE specification.