Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Ruin0x11/oxidoc
A command line interface to Rust documentation
https://github.com/Ruin0x11/oxidoc
rust
Last synced: 13 days ago
JSON representation
A command line interface to Rust documentation
- Host: GitHub
- URL: https://github.com/Ruin0x11/oxidoc
- Owner: Ruin0x11
- Archived: true
- Created: 2017-02-26T07:12:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-05T04:45:03.000Z (about 6 years ago)
- Last Synced: 2024-08-01T22:58:07.350Z (3 months ago)
- Topics: rust
- Language: Rust
- Homepage:
- Size: 501 KB
- Stars: 102
- Watchers: 8
- Forks: 14
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# oxidoc
`oxidoc` is a command-line interface to Rust documentation.![screenshot](data/screenshot.png)
It is alpha-quality software, so some documentation may not be indexed or other strange things may happen.
## Building
Before building the crate, make sure that you have install all needed dependencies in the system:
* CMake
* ncurses header filesTo intall them in Debian GNU/Linux or Ubnutu, do the following:
```
apt-get install cmake libncursesw6-dev
```Build the crate:
```
cargo build --release
```
In order to generate documentation for the standard library, the `RUST_SRC_PATH` environment variable has to be set with the path of the Rust source code.Generate documentation for all crates in `~/.cargo/registry/src` and the standard library:
```
oxidoc -g all
```
Generate documentation for the specified crate source directory:
```
oxidoc -g ~/build/oxidoc/
```The generated documentation currently lives in `~/.cargo/registry/doc`.
## Usage
Provide either an identifier or a partially/fully qualified module path as a search query:
```
oxidoc rand
oxidoc vec::Vec
oxidoc serde::de::DeserializeOwned
```## TODO
- Documentation for struct/trait subitems
- Indexing documentation when a type is glob imported from another module
- Partial/fuzzy identifier matching
- Searching by type signature
- Filtering by unsafety/trait
- Showing lifetime information for module paths
- Documenting generics
- Handling non-standard crate entry points
- Provide web browser fallback when emitting documentation with HTML/embedded images
- Probably many other things.