[package]
name = "zellij-utils"
version = "0.43.0"
authors = ["Kunal Mohan <kunalmohan99@gmail.com>"]
edition = "2021"
description = "A utility library for Zellij client and server"
license = "MIT"
include = ["src/**/*", "assets/"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
anyhow = { workspace = true }
backtrace = { version = "0.3.55", default-features = false, features = ["std"] }
bitflags = { version = "2.5.0", default-features = false }
clap = { workspace = true }
clap_complete = { version = "3.2.1", default-features = false }
colored = { version = "2.0.0", default-features = false }
colorsys = { version = "0.6.5", default-features = false, features = ["std"] }
crossbeam = { version = "0.8.1", default-features = false, features = ["alloc", "std"] }
directories = { version = "5.0", default-features = false }
include_dir = { version = "0.7.3", default-features = false }
kdl = { version = "4.5.0", default-features = false, features = ["span"] }
lazy_static = { workspace = true }
log = { workspace = true }
miette = { workspace = true }
nix = { workspace = true }
percent-encoding = { version = "2.1.0", default-features = false, features = ["std"] }
prost = { workspace = true }
rmp-serde = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
shellexpand = { version = "3.0.0", default-features = false, features = ["base-0", "tilde"] }
strip-ansi-escapes = { version = "0.1.0", default-features = false }
strum = { workspace = true }
strum_macros = { workspace = true }
tempfile = { workspace = true }
thiserror = { workspace = true }
unicode-width = { workspace = true }
url = { workspace = true }
uuid = { workspace = true }
sha2 = { workspace = true }

[target.'cfg(not(target_family = "wasm"))'.dependencies]
async-std = { workspace = true }
log4rs = { version = "1.2.0", default-features = false, features = ["pattern_encoder", "rolling_file_appender", "compound_policy", "fixed_window_roller", "size_trigger"] }
termwiz = { workspace = true }
interprocess = { workspace = true }
openssl-sys = { version = "0.9.93", default-features = false, features = ["vendored"], optional = true }
isahc = { workspace = true }
curl-sys = { version = "0.4", default-features = false, features = ["force-system-lib-on-osx", "ssl"], optional = true }
humantime = { workspace = true }
suggest = { workspace = true }
names = { workspace = true }
rusqlite = { version = "0.30", default-features = false, features = ["bundled"], optional = true }
notify = { workspace = true }
tokio = { workspace = true }

[dev-dependencies]
insta = { version = "1.6.0", features = ["backtrace"] }
expect-test = "1.4.1"

[build-dependencies]
prost-build = "0.11.9"

[features]
# If this feature is NOT set (default):
#   - builtin plugins (status-bar, tab-bar, ...) are loaded directly from the application binary
# If this feature is set:
#   - builtin plugins MUST be available from whatever is configured as `PLUGIN_DIR`
disable_automatic_asset_installation = []
unstable = []
plugins_from_target = []
web_server_capability = ["dep:rusqlite"]
vendored_curl = ["isahc/static-curl", "dep:openssl-sys", "dep:curl-sys"]
