[package]
name = "etr"
version = "0.4.8"
edition = "2024"
description = "A Rust implementation of Eternal Terminal (et)"
license = "GPL-3.0-only"
repository = "https://github.com/l1a/etr"
readme = "README.md"
keywords = ["terminal", "ssh", "remote-shell", "mosh", "reconnect"]
categories = ["command-line-utilities", "network-programming"]
exclude = [
    ".clauderc",
    "AGENTS.md",
    "CLAUDE.md",
    "GEMINI.md",
    "NOTES.md",
    "justfile",
    "scripts/",
    ".github/",
]

[dependencies]
tokio = { version = "1.38", features = ["full"] }
clap = { version = "4.5", features = ["derive"] }
clap_complete = "4.5"
clap_complete_nushell = "0.1"
portable-pty = "0.9"
prost = "0.13"
quinn = "0.11"
rcgen = "0.14"
rustls = "0.23"
rand = "0.8"
crossterm = "0.27"
nix = { version = "0.29", features = ["fs", "term", "process", "signal"] }
dirs = "5"
libc = "0.2"
serde = { version = "1", features = ["derive"] }
toml = "0.8"

[dev-dependencies]
criterion = { version = "0.5", features = ["async_tokio"] }

[[bench]]
name = "session_bench"
harness = false

# Build profile for profiling: optimised like release but with full debug symbols
# so samply / cargo-flamegraph produce useful annotated stacks.
[profile.profiling]
inherits = "release"
debug = true
