mirror of
https://github.com/ratatui/ratatui.git
synced 2025-09-27 13:01:13 +00:00

According to the issue linked from Cargo.toml, the intention has been to manually upgrade unicode-width every now and then, after verifying that the new version does not disrupt Ratatui. See https://github.com/ratatui/ratatui/issues/1271#issuecomment-2373917195. This PR unblocks using Ratatui in a dependency graph where some other crate requires some of the fixes that landed in unicode-width 0.2.1. Without this PR, Cargo blocks Ratatui from being used. ```console error: failed to select a version for `unicode-width`. ... required by package `ratatui v0.29.0` ... which satisfies dependency `ratatui = "^0.29"` of package `cargo v0.91.0` ... which satisfies path dependency `cargo` (locked to 0.91.0) of package `repro v0.0.0` versions that meet the requirements `=0.2.0` are: 0.2.0 all possible versions conflict with previously selected packages. previously selected package `unicode-width v0.2.1` ... which satisfies dependency `unicode-width = "^0.2.1"` of package `cargo v0.91.0` ... which satisfies path dependency `cargo` (locked to 0.91.0) of package `repro v0.0.0` failed to select a version for `unicode-width` which could resolve this conflict ```
121 lines
3.7 KiB
TOML
121 lines
3.7 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = ["ratatui", "ratatui-*", "xtask", "examples/apps/*", "examples/concepts/*"]
|
|
default-members = [
|
|
"ratatui",
|
|
"ratatui-core",
|
|
"ratatui-crossterm",
|
|
# this is not included as it doesn't compile on windows
|
|
# "ratatui-termion",
|
|
"ratatui-macros",
|
|
"ratatui-termwiz",
|
|
"ratatui-widgets",
|
|
"examples/apps/*",
|
|
"examples/concepts/*",
|
|
]
|
|
|
|
[workspace.package]
|
|
authors = ["Florian Dehau <work@fdehau.com>", "The Ratatui Developers"]
|
|
documentation = "https://docs.rs/ratatui/latest/ratatui/"
|
|
repository = "https://github.com/ratatui/ratatui"
|
|
homepage = "https://ratatui.rs"
|
|
keywords = ["tui", "terminal", "dashboard"]
|
|
categories = ["command-line-interface"]
|
|
readme = "README.md"
|
|
license = "MIT"
|
|
exclude = ["assets/*", ".github", "Makefile.toml", "CONTRIBUTING.md", "*.log", "tags"]
|
|
edition = "2024"
|
|
rust-version = "1.85.0"
|
|
|
|
[workspace.dependencies]
|
|
anstyle = "1"
|
|
bitflags = "2.9"
|
|
color-eyre = "0.6"
|
|
compact_str = { version = "0.9", default-features = false }
|
|
criterion = { version = "0.5", features = ["html_reports"] }
|
|
crossterm = "0.29"
|
|
document-features = "0.2"
|
|
fakeit = "1"
|
|
futures = "0.3"
|
|
hashbrown = "0.15"
|
|
indoc = "2"
|
|
instability = "0.3"
|
|
itertools = { version = "0.14", default-features = false, features = ["use_alloc"] }
|
|
kasuari = { version = "0.4", default-features = false }
|
|
line-clipping = "0.3"
|
|
lru = "0.14"
|
|
palette = "0.7"
|
|
pretty_assertions = "1"
|
|
rand = "0.9"
|
|
rand_chacha = "0.9"
|
|
ratatui = { path = "ratatui", version = "0.30.0-alpha.5" }
|
|
ratatui-core = { path = "ratatui-core", version = "0.1.0-alpha.6" }
|
|
ratatui-crossterm = { path = "ratatui-crossterm", version = "0.1.0-alpha.5" }
|
|
ratatui-macros = { path = "ratatui-macros", version = "0.7.0-alpha.4" }
|
|
ratatui-termion = { path = "ratatui-termion", version = "0.1.0-alpha.5" }
|
|
ratatui-termwiz = { path = "ratatui-termwiz", version = "0.1.0-alpha.5" }
|
|
ratatui-widgets = { path = "ratatui-widgets", version = "0.3.0-alpha.5" }
|
|
rstest = "0.25"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
strum = { version = "0.27", default-features = false, features = ["derive"] }
|
|
termion = "4"
|
|
termwiz = "0.23"
|
|
thiserror = { version = "2", default-features = false }
|
|
time = { version = "0.3", default-features = false }
|
|
tokio = "1"
|
|
tracing = "0.1"
|
|
tracing-appender = "0.2"
|
|
tracing-subscriber = "0.3"
|
|
trybuild = "1"
|
|
unicode-segmentation = "1"
|
|
unicode-truncate = { version = "2", default-features = false }
|
|
# See <https://github.com/ratatui/ratatui/issues/1271> for information about why we pin unicode-width
|
|
unicode-width = ">=0.2.0, <=0.2.1"
|
|
|
|
# Improve benchmark consistency
|
|
[profile.bench]
|
|
codegen-units = 1
|
|
lto = true
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "forbid"
|
|
|
|
[workspace.lints.clippy]
|
|
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"
|