ratatui_core/lib.rs
1// show the feature flags in the generated documentation
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![cfg_attr(docsrs, feature(doc_auto_cfg))]
4#![doc(
5 html_logo_url = "https://raw.githubusercontent.com/ratatui/ratatui/main/assets/logo.png",
6 html_favicon_url = "https://raw.githubusercontent.com/ratatui/ratatui/main/assets/favicon.ico"
7)]
8//! **ratatui-core** is the core library of the [ratatui] project,
9//! providing the essential building blocks for creating rich terminal user interfaces in Rust.
10//!
11//! [ratatui]: https://github.com/ratatui/ratatui
12//!
13//! ## Why `ratatui-core`?
14//!
15//! The `ratatui-core` crate is split from the main [`ratatui`](https://crates.io/crates/ratatui) crate
16//! to offer better stability for widget library authors. Widget libraries should generally depend
17//! on `ratatui-core`, benefiting from a stable API and reducing the need for frequent updates.
18//!
19//! Applications, on the other hand, should depend on the main `ratatui` crate, which includes
20//! built-in widgets and additional features.
21//!
22//! # Installation
23//!
24//! Add `ratatui-core` to your `Cargo.toml`:
25//!
26//! ```shell
27//! cargo add ratatui-core
28//! ```
29#![cfg_attr(feature = "document-features", doc = "\n## Features")]
30#![cfg_attr(feature = "document-features", doc = document_features::document_features!())]
31//!
32//! # Contributing
33//!
34//! We welcome contributions from the community! Please see our [CONTRIBUTING](../CONTRIBUTING.md)
35//! guide for more details on how to get involved.
36//!
37//! ## License
38//!
39//! This project is licensed under the MIT License. See the [LICENSE](../LICENSE) file for details.
40
41pub mod backend;
42pub mod buffer;
43pub mod layout;
44pub mod style;
45pub mod symbols;
46pub mod terminal;
47pub mod text;
48pub mod widgets;