[package]
name = "helix-view"
description = "UI abstractions for use in backends"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
categories.workspace = true
repository.workspace = true
homepage.workspace = true

[features]
default = []
term = ["crossterm"]
unicode-lines = []

[dependencies]
helix-stdx = { path = "../helix-stdx" }
helix-core = { path = "../helix-core" }
helix-event = { path = "../helix-event" }
helix-loader = { path = "../helix-loader" }
helix-lsp = { path = "../helix-lsp" }
helix-dap = { path = "../helix-dap" }
helix-vcs = { path = "../helix-vcs" }

bitflags.workspace = true
anyhow = "1"
crossterm = { version = "0.28", optional = true }

tempfile.workspace = true

# Conversion traits
once_cell = "1.20"
url = "2.5.4"

arc-swap = { version = "1.7.1" }

tokio = { version = "1", features = ["rt", "rt-multi-thread", "io-util", "io-std", "time", "process", "macros", "fs", "parking_lot"] }
tokio-stream = "0.1"
futures-util = { version = "0.3", features = ["std", "async-await"], default-features = false }

slotmap = "1"

chardetng = "0.1"

serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
log = "~0.4"

parking_lot = "0.12.3"
thiserror.workspace = true

[target.'cfg(windows)'.dependencies]
clipboard-win = { version = "5.4", features = ["std"] }

[target.'cfg(unix)'.dependencies]
libc = "0.2"
rustix = { version = "0.38", features = ["fs"] }

[dev-dependencies]
helix-tui = { path = "../helix-tui" }
