[package]
# --- Bumpversion match - do not reorder
name = "veilid-cli"
version = "0.4.3"
# ---
description = "Client application for connecting to a Veilid headless node"
resolver = "2"
repository.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
rust-version.workspace = true

[[bin]]
name = "veilid-cli"
path = "src/main.rs"

[features]
default = ["rt-tokio"]
default-async-std = ["rt-async-std"]

rt-async-std = [
    "async-std",
    "veilid-tools/rt-async-std",
    "cursive/rt-async-std",
]
rt-tokio = ["tokio", "tokio-util", "veilid-tools/rt-tokio", "cursive/rt-tokio"]

[dependencies]
async-std = { version = "1.12.0", features = [
    "unstable",
    "attributes",
], optional = true }
tokio = { version = "1.38.1", features = ["full", "tracing"], optional = true }
tokio-util = { version = "0.7.11", features = ["compat"], optional = true }
async-tungstenite = { version = "^0.23" }
cursive = { git = "https://gitlab.com/veilid/cursive.git", default-features = false, features = [
    "crossterm",
    "toml",
    "ansi",
] }

cursive_buffered_backend = { git = "https://gitlab.com/veilid/cursive-buffered-backend.git" }
# cursive-multiplex = "0.6.0"
# cursive_tree_view = "0.6.0"
cursive_table_view = { git = "https://gitlab.com/veilid/cursive-table-view.git" }
arboard = { version = "3.4.0", default-features = false }
# cursive-tabs = "0.5.0"
clap = { version = "4", features = ["derive"] }
directories = "^5"
log = "^0"
futures = "^0"
serde = "^1"
serde_derive = "^1"
parking_lot = "^0"
cfg-if = "^1"
config = { version = "^0", default-features = false, features = ["yaml"] }
bugsalot = { package = "veilid-bugsalot", version = "0.2.0" }
flexi_logger = { version = "^0", features = ["use_chrono_for_offset"] }
thiserror = "^1"
crossbeam-channel = "^0"
hex = "^0"
veilid-tools = { version = "0.4.3", path = "../veilid-tools", default-features = false }

json = "^0"
stop-token = { version = "^0", default-features = false }
flume = { version = "^0", features = ["async"] }
data-encoding = { version = "^2" }
indent = { version = "0.1.1" }

chrono = "0.4.38"
owning_ref = "0.4.1"
unicode-width = "0.1.13"
lru = "0.10.1"
rustyline-async = "0.4.2"
console = "0.15.8"

[dev-dependencies]
serial_test = "^2"

[lints]
workspace = true
