crate doc

pull/14/head
chris west 4 years ago
parent f03c6e1422
commit eecaf79d8a

@ -1,4 +1,36 @@
//! phetch is a terminal Gopher client designed to help you quickly
//! navigate the Gophersphere securely. It includes support for
//! browsing via TLS or Tor proxy, but can also be used the old
//! fashioned way. The menu-based interface is driven entirely by your
//! keyboard, and emphasis has been put on swiftness of navigation.
//! Both "jump to link" and incremental search options are available.
//!
//! We don't use any ncurses-style library for drawing but instead do
//! it manually, mainly in `UI`. This is the application class that
//! prints to the screen and manages the loaded Gopher "views".
//! Meanwhile, the bulk of the menu system, responding to user
//! input, and rendering of the colored interface itself takes place
//! in the `Menu` view. The two work hand-in-hand.
//!
//! This crate includes its own Gopher parsing and fetching library,
//! which may eventually get extracted. It seems that most existing
//! Gopher libraries in Rust allow you to parse menu lines
//! individually into items, but phetch needs to know about the links'
//! relationships to each other for its navigation/numbering/cursor
//! system to work. So phetch parses all the lines in a Menu as a
//! whole and knows which link is which.
//!
//! Finally, a note on the code itself: this is not my first Rust
//! program, but you probably wouldn't know that by looking at it!
//! Suggestions and improvements are more than welcome.
//!
#![allow(unused_must_use)]
#![warn(absolute_paths_not_starting_with_crate)]
#![warn(explicit_outlives_requirements)]
#![warn(unreachable_pub)]
#![warn(deprecated_in_future)]
#![warn(missing_docs)]
#![allow(clippy::while_let_on_iterator)]
#[macro_use]

Loading…
Cancel
Save