Commit Graph

17 Commits

Author SHA1 Message Date
Robin Krahl
ecb3d40c59
Use ansi_term, atty, terminal_size
This patch replaces the crossterm dependency with ansi_term, atty and
terminal_size.  This allows us for an easier integration with the
text_style crate in an upcoming patch, and it reduces the total number
of dependencies from 166 to 160.

This means that we drop support for non-ANSI terminals, but as this only
affects old versions of cmd.exe/PowerShell, we don’t care about it.
2020-10-02 13:10:37 +02:00
Robin Krahl
628377c83b
Refactor test suite to check multiple versions
This patch refactors the test suite:
- Instead of always generating the documentation with the available
  rustdoc version, we now store generated documentation for all
  supported rustdoc versions in the test/html directory.
- Instead of using one snapshot per test case, we now use one snapshot
  per test case and rustdoc version.
2020-09-11 20:30:05 +02:00
Robin Krahl
3affe94234
Update installation instructions
This patch updates the installation instructions with information on the
AUR packgage and on the tarball downloads.
2020-08-11 09:59:43 +02:00
Robin Krahl
44fe71d5bb
Rewrap example in readme to 80 columns
This makes it easier to read the example e. g. on crates.io.
2020-07-28 14:57:52 +02:00
Robin Krahl
64dd5a55ae
Use rustc --print sysroot for default sources
Previously, we were used /usr/share/doc/rust{,-doc}/html as a default
source, assuming that it would contain the standard library
documentation.  This is true if the user installed the Rust
documentation manually or using a package manager.  If they use rustup
instead, the documentation is placed in a subdirectory of ~/.rustup.

With this patch, we call `rustc --print sysroot` to determine the
installation directory of the currently activated Rust toolchain –
either the system Rust installation or a Rust installation managed by
rustup.  We then use `$(sysroot)/share/doc/…` as a default path for the
standard library documentation (with /usr as a fallback if the call to
rustc does not return a valid path).
2020-07-25 19:06:27 +02:00
Robin Krahl
1adeafe909
Add vim integration to readme
This patch adds information about calling rusty-man from vim to the
readme.
2020-07-24 22:57:18 +02:00
Robin Krahl
411b1834b1
Use absolute links in readme
This fixes missing links on crates.io.
2020-07-24 14:21:37 +02:00
Robin Krahl
0a1dd0838e
Update installation instructions
This patch adds information about installing from crates.io and suggests
checking out the latest release when installing from source.
2020-07-24 13:45:23 +02:00
Robin Krahl
41dd007390
Use crossterm instead of termion
With this patch, we replace the termion dependency with crossterm.  This
should make it possible to compile and run rusty-man on other platforms
than Unix.
2020-07-24 13:18:35 +02:00
Robin Krahl
0d75176f59
Update readme
This patch updates the readme with better usage examples and with the
documentation for rusty-man itself.

Signed-off-by: Robin Krahl <robin.krahl@ireas.org>
2020-07-24 12:42:38 +02:00
Robin Krahl
1b8a2c23f6 Fix wrong command in example usage 2020-07-20 10:29:55 +02:00
Robin Krahl
baef1a06b0
Extend contributing guide
This patch extends the CONTRIBUTING.md file with more information on
possible tasks, the test suite and the code checks.
2020-07-20 10:23:28 +02:00
Robin Krahl
1128919f1f
Add installation and contributing information
This patch extends the README.md file and adds the INSTALL.md and
CONTRIBUTING.md files with more detailed information.
2020-07-20 01:42:30 +02:00
Robin Krahl
646b36708b
Replace “interface” with “viewer” in description
Previously, we called rusty-man a command-line interface for rustdoc
documentation, but “viewer” is a more appropriate term.
2020-07-19 17:24:38 +02:00
Robin Krahl
5ce0365c7f Add --viewer option and plain text viewer
This patch adds a new --viewer command line option that lets the user
select a viewer that displays the documentation.  It also adds a default
viewer implementation that uses html2text to generate plain text from
the HTML documentation.

html2text requires the ptr_cast feature and we use the Option::as_deref
method in the viewer implementation, so we have to update the minimum
supported Rust version to 1.40.
2020-07-19 15:44:21 +02:00
Robin Krahl
6993df9cb6 Extract documentation from HTML files
This patch adds the parser module that uses kuchiki and html5ever to
parse the HTML documentation.

As kuchiki requires std::mem::MaybeUninit, we have to bump the minimum
supported Rust version to 1.36.
2020-07-19 15:40:10 +02:00
Robin Krahl
3967de8bd2 Initial project scaffolding
This patch contains the initial project scaffolding, based on the files
generated by cargo new.
2020-07-19 14:10:54 +02:00