[package] name = "television" version = "0.9.2" edition = "2021" description = "The revolution will be televised." license = "MIT" authors = ["Alexandre Pasmantier "] build = "build.rs" 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", "crates/television/**/*.rs", "build.rs", ".config/config.toml", "cable", ] rust-version = "1.81" [workspace] resolver = "2" members = ["crates/television-*"] [workspace.package] edition = "2021" description = "The revolution will be televised." license = "MIT" authors = ["Alexandre Pasmantier "] 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", "crates/television/**/*.rs", "build.rs", "shell/**/*.sh", ] rust-version = "1.81" readme = "README.md" [workspace.dependencies] directories = "5.0.1" devicons = "0.6.11" color-eyre = "0.6.3" lazy_static = "1.5.0" tokio = { version = "1.41.1", features = ["full"] } tracing = "0.1.40" tracing-subscriber = { version = "0.3.18", features = ["env-filter", "serde"] } rustc-hash = "2.1.0" syntect = {version = "5.2.0", default-features = false, features = ["default-fancy"]} unicode-width = "0.2.0" clap = { version = "4.5.20", features = ["derive", "cargo", "string"] } serde = { version = "1.0.214", features = ["derive"] } toml = "0.8.19" ratatui = { version = "0.29.0", features = ["serde", "macros"] } [dependencies] # local dependencies television-fuzzy = { path = "crates/television-fuzzy", version = "0.0.21" } television-derive = { path = "crates/television-derive", version = "0.0.21" } television-screen = { path = "crates/television-screen", version = "0.0.21" } television-channels = { path = "crates/television-channels", version = "0.0.21" } television-previewers = { path = "crates/television-previewers", version = "0.0.21" } television-utils = { path = "crates/television-utils", version = "0.0.21" } # workspace dependencies directories = { workspace = true } color-eyre = { workspace = true } lazy_static = { workspace = true } tokio = { workspace = true, features = ["full"] } tracing = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter", "serde"] } rustc-hash = { workspace = true } syntect = { workspace = true } unicode-width = { workspace = true } clap = { workspace = true, features = ["derive", "cargo", "string"] } serde = { workspace = true, features = ["derive"] } toml = { workspace = true } ratatui = { workspace = true, features = ["serde", "macros"] } # external dependencies better-panic = "0.3.0" config = "0.14.0" crossterm = { version = "0.28.1", features = ["serde"] } signal-hook = "0.3.17" human-panic = "2.0.2" copypasta = "0.10.1" [dev-dependencies] criterion = "0.5.1" devicons = { workspace = true } [[bin]] bench = false path = "crates/television/main.rs" name = "tv" [[bench]] name = "results_list_benchmark" harness = false [build-dependencies] vergen-gix = { version = "1.0.0", features = ["build", "cargo", "rustc"] } [target.'cfg(target_os = "macos")'.dependencies] crossterm = { version = "0.28.1", features = ["serde", "use-dev-tty"] } [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"