mirror of
https://github.com/ratatui-org/ratatui
synced 2024-11-24 21:53:21 +00:00
a41c97b413
These are less stable than the non-ref traits as we have not yet committed to the exact API. This change moves them to ratatui from ratatui-core. To facilitate this: - implementations of WidgetRef for all internal widgets are removed and replaced with implementations of Widget for references to those widgets. - Widget is now implemented for Option<W> where W: Widget, allowing for rendering of optional widgets. - The blanket implementation of Widget for WidgetRef is reversed, to be a blanket implementation of WidgetRef for all &W where W: Widget. BREAKING CHANGE: implementations of WidgetRef no longer have a blanket implementation of Widget, so Widgets should generally implement the Widget trait on a reference to the widget rather than implementing WidgetRef directly. This has the advantage of not requiring unstable features to be enabled. Part of: https://github.com/ratatui/ratatui/issues/1388 Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
102 lines
3.1 KiB
TOML
102 lines
3.1 KiB
TOML
[package]
|
|
name = "ratatui-widgets"
|
|
description = "A collection of Ratatui widgets for building terminal user interfaces."
|
|
version = "0.3.0"
|
|
readme = "README.md"
|
|
authors.workspace = true
|
|
documentation.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
license.workspace = true
|
|
exclude.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[features]
|
|
## enables serialization and deserialization of style and color types using the [`serde`] crate.
|
|
## This is useful if you want to save themes to a file.
|
|
serde = ["dep:serde", "ratatui-core/serde"]
|
|
|
|
#! Widgets that add dependencies are gated behind feature flags to prevent unused transitive
|
|
#! dependencies. The available features are:
|
|
|
|
## enables all widgets.
|
|
all-widgets = ["calendar"]
|
|
|
|
## enables the [`calendar`](calendar) widget module and adds a dependency on [`time`].
|
|
calendar = ["dep:time"]
|
|
|
|
## Enable all unstable features.
|
|
unstable = ["unstable-rendered-line-info"]
|
|
|
|
## Enables the [`Paragraph::line_count`](paragraph::Paragraph::line_count)
|
|
## [`Paragraph::line_width`](paragraph::Paragraph::line_width) methods
|
|
## which are experimental and may change in the future.
|
|
## See [Issue 293](https://github.com/ratatui/ratatui/issues/293) for more details.
|
|
unstable-rendered-line-info = []
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
[dependencies]
|
|
bitflags.workspace = true
|
|
itertools.workspace = true
|
|
indoc.workspace = true
|
|
instability.workspace = true
|
|
ratatui-core = { workspace = true }
|
|
strum.workspace = true
|
|
time = { version = "0.3.11", optional = true, features = ["local-offset"] }
|
|
unicode-segmentation.workspace = true
|
|
unicode-width.workspace = true
|
|
serde = { workspace = true, optional = true }
|
|
document-features = { workspace = true, optional = true }
|
|
|
|
[dev-dependencies]
|
|
rstest.workspace = true
|
|
pretty_assertions.workspace = true
|
|
ratatui.workspace = true
|
|
|
|
[lints.rust]
|
|
unsafe_code = "forbid"
|
|
|
|
[lints.clippy]
|
|
cargo = { level = "warn", priority = -1 }
|
|
pedantic = { level = "warn", priority = -1 }
|
|
cast_possible_truncation = "allow"
|
|
cast_possible_wrap = "allow"
|
|
cast_precision_loss = "allow"
|
|
cast_sign_loss = "allow"
|
|
missing_errors_doc = "allow"
|
|
missing_panics_doc = "allow"
|
|
module_name_repetitions = "allow"
|
|
must_use_candidate = "allow"
|
|
|
|
# we often split up a module into multiple files with the main type in a file named after the
|
|
# module, so we want to allow this pattern
|
|
module_inception = "allow"
|
|
|
|
# nursery or restricted
|
|
as_underscore = "warn"
|
|
deref_by_slicing = "warn"
|
|
else_if_without_else = "warn"
|
|
empty_line_after_doc_comments = "warn"
|
|
equatable_if_let = "warn"
|
|
fn_to_numeric_cast_any = "warn"
|
|
format_push_string = "warn"
|
|
map_err_ignore = "warn"
|
|
missing_const_for_fn = "warn"
|
|
mixed_read_write_in_expression = "warn"
|
|
mod_module_files = "warn"
|
|
needless_pass_by_ref_mut = "warn"
|
|
needless_raw_strings = "warn"
|
|
or_fun_call = "warn"
|
|
redundant_type_annotations = "warn"
|
|
rest_pat_in_fully_bound_structs = "warn"
|
|
string_lit_chars_any = "warn"
|
|
string_slice = "warn"
|
|
string_to_string = "warn"
|
|
unnecessary_self_imports = "warn"
|
|
use_self = "warn"
|