[package]
edition = "2024"
rust-version = "1.85"
name = "hypercmd"
version = "0.1.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Retained terminal interfaces authored in HTML and Rust"
readme = "README.md"
keywords = [
"fusor",
"terminal",
"tui",
"html",
"reactive",
]
categories = [
"command-line-interface",
"gui",
]
license = "MIT"
repository = "https://github.com/fusor-rs/hypercmd"
resolver = "2"
[features]
default = ["native"]
native = [
"dep:crossterm",
"dep:rustix",
"dep:signal-hook",
"dep:mio",
"ratatui/crossterm",
]
[lib]
name = "hypercmd"
path = "src/lib.rs"
[dependencies.crossterm]
version = "=0.28.1"
features = [
"bracketed-paste",
"windows",
]
optional = true
default-features = false
[dependencies.fusor]
version = "=0.1.4"
default-features = false
package = "fusor-core"
[dependencies.fusor-async]
version = "=0.1.4"
default-features = false
[dependencies.fusor-router]
version = "=0.1.4"
default-features = false
[dependencies.futures-channel]
version = "=0.3.34"
features = ["std"]
default-features = false
[dependencies.futures-util]
version = "=0.3.34"
features = ["std"]
default-features = false
[dependencies.instability]
version = "=0.3.10"
[dependencies.ratatui]
version = "=0.29.0"
default-features = false
[dependencies.taffy]
version = "=0.7.7"
features = [
"std",
"taffy_tree",
"flexbox",
"content_size",
]
default-features = false
[dependencies.unicode-segmentation]
version = "=1.12.0"
[dependencies.unicode-width]
version = "=0.2.0"
[dev-dependencies.portable-pty]
version = "=0.9.0"
[target.'cfg(all(target_family = "wasm", target_os = "unknown"))'.dependencies.web-time]
version = "=1.1.0"
[target."cfg(unix)".dependencies.mio]
version = "=1.1.0"
features = [
"os-poll",
"os-ext",
]
optional = true
[target."cfg(unix)".dependencies.rustix]
version = "=1.1.4"
features = [
"fs",
"termios",
]
optional = true
[target."cfg(unix)".dependencies.signal-hook]
version = "=0.3.18"
optional = true
default-features = false
[target."cfg(unix)".dev-dependencies.rustix]
version = "=1.1.4"
features = ["process"]
[lints.clippy]
allow_attributes = "deny"
allow_attributes_without_reason = "deny"
branches_sharing_code = "deny"
cognitive_complexity = "deny"
dbg_macro = "deny"
excessive_nesting = "deny"
fn_params_excessive_bools = "deny"
match_same_arms = "deny"
min_ident_chars = "deny"
needless_pass_by_value = "deny"
redundant_clone = "deny"
struct_excessive_bools = "deny"
todo = "deny"
too_many_lines = "deny"
unimplemented = "deny"
unwrap_used = "deny"
wildcard_imports = "deny"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.rust]
unsafe_code = "forbid"
[lints.rust.unused]
level = "deny"
priority = -1