[package]
name = "zellij"
version = "0.43.0"
authors = ["Aram Drevekenin <aram@poor.dev>"]
edition = "2021"
description = "A terminal workspace with batteries included"
license = "MIT"
repository = "https://github.com/zellij-org/zellij"
homepage = "https://zellij.dev"
include = ["src/**/*", "assets/layouts/*", "assets/config/*", "LICENSE.md", "README.md", "!**/*_test.*", "!**/tests/**/*"]
# NOTE: When updating this, modify `channel` in `rust-toolchain.toml` accordingly
rust-version = "1.84"

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

[dependencies]
zellij-client = { path = "zellij-client/", version = "0.43.0" }
zellij-server = { path = "zellij-server/", version = "0.43.0" }
zellij-utils = { workspace = true }
anyhow = { workspace = true }
clap = { workspace = true }
dialoguer = { version = "0.10.4", default-features = false }
humantime = { workspace = true }
interprocess = { workspace = true }
log = { workspace = true }
miette = { workspace = true }
names = { workspace = true }
nix = { workspace = true }
suggest = { workspace = true }
thiserror = { workspace = true }
isahc = { workspace = true }

[dev-dependencies]
insta = { version = "1.6.0", features = ["backtrace"] }
ssh2 = "0.9.1"
rand = "0.8.0"
regex = "1.8.1"
vte = { workspace = true }

[workspace]
members = [
    "default-plugins/compact-bar",
    "default-plugins/status-bar",
    "default-plugins/strider",
    "default-plugins/tab-bar",
    "default-plugins/fixture-plugin-for-tests",
    "default-plugins/session-manager",
    "default-plugins/configuration",
    "default-plugins/plugin-manager",
    "default-plugins/about",
    "default-plugins/share",
    "default-plugins/multiple-select",
    "zellij-client",
    "zellij-server",
    "zellij-utils",
    "zellij-tile",
    "zellij-tile-utils",
    "xtask",
    ".",
]

[workspace.dependencies]
ansi_term = { version = "0.12.1", default-features = false }
anyhow = { version = "1.0.70", default-features = false, features = ["backtrace", "std"] }
async-std = { version = "1.3.0", default-features = false, features = ["attributes", "default", "std", "unstable"] }
clap = { version = "3.2.2", default-features = false, features = ["env", "derive", "color", "std", "suggestions"] }
daemonize = { version = "0.5", default-features = false }
humantime = { version = "2.1.0", default-features = false }
interprocess = { version = "1.2.1", default-features = false }
isahc = { version = "1.7.2", default-features = false, features = ["http2", "text-decoding"] }
lazy_static = { version = "1.4.0", default-features = false }
libc = { version = "0.2", default-features = false, features = ["std"] }
log = { version = "0.4.17", default-features = false }
miette = { version = "5.7.0", default-features = false, features = ["fancy"] }
nix = { version = "0.23.1", default-features = false }
notify-debouncer-full = { version = "0.3.1", default-features = false }
notify = { version = "6.1.1", default-features = false, features = ["macos_kqueue"] }
prost = { version = "0.11.9", default-features = false, features = ["std", "prost-derive"] }
regex = { version = "1.5.5", default-features = false, features = ["perf", "std"] }
serde = { version = "1.0", default-features = false, features = ["derive", "std"] }
serde_json = { version = "1.0", default-features = false, features = ["std"] }
signal-hook = { version = "0.3", default-features = false, features = ["iterator"] }
strum = { version = "0.20.0", default-features = false }
strum_macros = { version = "0.20.0", default-features = false }
suggest = { version = "0.4.0", default-features = false }
tempfile = { version = "3.2.0", default-features = false }
termwiz = { version = "0.23.2", default-features = false }
thiserror = { version = "1.0.40", default-features = false }
tokio = { version = "1.38.1", features = ["full"] }
tokio-util = { version = "0.7.15" }
unicode-width = { version = "0.1.8", default-features = false }
url = { version = "2.2.2", default-features = false, features = ["serde"] }
uuid = { version = "1.4.1", default-features = false, features = ["serde", "v4", "std"] }
vte = { version = "0.11.0", default-features = false }
names = { version = "0.14.0", default-features = false }
include_dir = { version = "0.7.3", default-features = false }
rmp-serde = { version = "1.1.0", default-features = false }
sha2 = { version = "0.10", default-features = false }
zellij-utils = { path = "zellij-utils/", version = "0.43.0" }

[profile.dev-opt]
inherits = "dev"

[profile.dev-opt.package."*"]
opt-level = 3

[profile.release]
lto = true
strip = true

[package.metadata.deb]
depends = "$auto"
license-file = ["LICENSE.md", "4"]
assets = [
  ["assets/man/zellij.1", "usr/share/man/man1/zellij.1", "644"],
  ["target/release/zellij", "usr/bin/zellij", "755"],
  ["GOVERNANCE.md", "usr/share/doc/zellij/GOVERNANCE.md", "644"],
  ["README.md", "usr/share/doc/zellij/README.md", "644"],
  ["assets/layouts/*", "usr/share/zellij/layouts/", "644"],
  ["assets/plugins/*", "usr/share/zellij/plugins/", "644"],
  ["assets/completions/zellij.bash", "usr/share/bash-completion/completions/zellij.bash", "644"],
  ["assets/completions/zellij.fish", "usr/share/fish/vendor_completions.d/zellij.fish", "644"],
  ["assets/completions/_zellij", "usr/share/zsh/vendor-completions/_zellij", "644"],
]

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.tar.gz"
bin-dir = "{ bin }{ binary-ext }"
pkg-fmt = "tgz"

[features]
# See remarks in zellij_utils/Cargo.toml
default = ["plugins_from_target", "vendored_curl", "web_server_capability"]
plugins_from_target = ["zellij-utils/plugins_from_target"]
disable_automatic_asset_installation = ["zellij-utils/disable_automatic_asset_installation"]
vendored_curl = ["zellij-utils/vendored_curl"]
unstable = ["zellij-client/unstable", "zellij-utils/unstable"]
singlepass = ["zellij-server/singlepass"]
web_server_capability = ["zellij-client/web_server_capability", "zellij-server/web_server_capability", "zellij-utils/web_server_capability"]

# uncomment this when developing plugins in the Zellij UI to make plugin compilation faster
# [profile.dev.package."*"]
# opt-level = 3
