television/Cargo.toml
Alexandre Pasmantier 63cb976027
refactor(ui): communicate ui state to tv using channels (#369)
The state of the UI is now synchronized with the `Television` struct
using a dedicated channel and is available at `Television.ui_state`.
This removes quite a bit of complexity from the existing code and should
allow for nicer implementations of features that need the UI state to
compute things in the background (typically knowing the target size of
an image you wish to construct in the background, as in #363)

The `UiState` currently only holds the UI layout:
```rs
pub struct UiState {
    pub layout: Layout,
}
```
2025-03-05 01:11:24 +01:00

129 lines
2.9 KiB
TOML

[package]
name = "television"
version = "0.10.6"
edition = "2021"
description = "The revolution will be televised."
license = "MIT"
authors = ["Alexandre Pasmantier <alex.pasmant@gmail.com>"]
repository = "https://github.com/alexpasmantier/television"
homepage = "https://github.com/alexpasmantier/television"
keywords = ["search", "fuzzy", "preview", "tui", "terminal"]
categories = [
"command-line-utilities",
"command-line-interface",
"concurrency",
"development-tools",
]
include = [
"LICENSE",
"README.md",
"themes/**/*.toml",
"television/**",
".config/config.toml",
"cable",
]
rust-version = "1.83"
[lib]
path = "television/lib.rs"
[dependencies]
television-derive = { path = "television-derive", version = "0.0.25" }
anyhow = "1.0"
base64 = "0.22.1"
directories = "6.0"
devicons = "0.6"
tokio = { version = "1.43", features = ["full"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
rustc-hash = "2.1"
syntect = { version = "5.2", default-features = false }
unicode-width = "0.2"
clap = { version = "4.5", features = ["derive", "cargo", "string"] }
serde = { version = "1.0", features = ["derive"] }
ratatui = { version = "0.29", features = ["serde", "macros"] }
better-panic = "0.3"
signal-hook = "0.3"
human-panic = "2.0"
ignore = "0.4"
strum = { version = "0.26", features = ["derive"] }
regex = "1.11"
parking_lot = "0.12"
nom = "7.1"
thiserror = "2.0"
simdutf8 = { version = "0.1", optional = true }
smallvec = { version = "1.13", features = ["const_generics"] }
bat = { version = "0.25", default-features = false, features = ["regex-onig"] }
gag = "1.0"
nucleo = "0.5"
toml = "0.8"
[target.'cfg(windows)'.dependencies]
winapi-util = "0.1.9"
clipboard-win = "5.4.0"
[dev-dependencies]
criterion = { version = "0.5", features = ["async_tokio"] }
tempfile = "3.16.0"
[features]
simd = ["dep:simdutf8"]
zero-copy = []
default = ["zero-copy", "simd"]
[[bin]]
bench = false
path = "television/main.rs"
name = "tv"
[[bench]]
name = "main"
harness = false
[target.'cfg(target_os = "macos")'.dependencies]
crossterm = { version = "0.28.1", features = ["serde", "use-dev-tty"] }
[target.'cfg(not(target_os = "macos"))'.dependencies]
crossterm = { version = "0.28", features = ["serde"] }
[profile.staging]
inherits = "dev"
opt-level = 3
debug = true
lto = false
[profile.profiling]
inherits = "release"
debug = true
[profile.release]
codegen-units = 1
lto = "fat"
[profile.deb]
inherits = "release"
debug = false
[lints]
workspace = true
[workspace.lints.clippy]
pedantic = { level = "warn", priority = -1 }
must_use_candidate = "allow"
too_many_lines = "allow"
missing_panics_doc = "allow"
missing_errors_doc = "allow"
module_name_repetitions = "allow"
cast_precision_loss = "allow"
map_unwrap_or = "allow"
return_self_not_must_use = "allow"
uninlined_format_args = "allow"
similar_names = "allow"
float_cmp = "allow"
implicit_hasher = "allow"
wildcard_imports = "allow"
from_iter_instead_of_collect = "allow"