1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
//! # Terminal Wizardry //! //! This is a rust crate that provides a number of support functions //! for applications interesting in either displaying data to a terminal //! or in building a terminal emulator. //! //! It is currently in active development and subject to fairly wild //! sweeping changes. //! //! Included functionality: //! //! * `Surface` models a terminal display and its component `Cell`s //! * Terminal attributes are aware of modern features such as //! True Color, [Hyperlinks](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda) //! and will also support sixel and iterm style terminal graphics display. //! * `Surface`s include a log of `Change`s and an API for consuming //! and applying deltas. This is a powerful building block for //! synchronizing screen instances. //! * Escape sequence parser decodes inscrutable escape sequences //! and gives them semantic meaning, making the code that uses //! them clearer. The decoded escapes can be re-encoded, allowing //! applications to start with the semantic meaning and emit //! the appropriate escape sequence without embedding obscure //! binary bytes. //! * `Capabilities` allows probing for terminal capabilities //! that may not be included in the system terminfo database, //! and overriding them in an embedding application. //! * `Terminal` trait provides an abstraction over unix style ttys //! and Windows style console APIs. `Change`s from `Surface` //! can be rendered to `Terminal`s. `Terminal`s allow decoding //! mouse and keyboard inputs in both blocking or non-blocking //! mode. //! * `Widget` trait allows composition of UI elements at a higher //! level. //! * `LineEditor` provides line editing facilities similar to those //! in the unix shell. pub mod caps; pub mod cell; pub mod cellcluster; pub mod color; pub mod escape; pub mod hyperlink; pub mod image; pub mod input; pub mod istty; pub mod keymap; pub mod lineedit; mod readbuf; pub mod render; pub mod surface; pub mod terminal; pub mod widgets;