[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"]

[dependencies]
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 = "2.4"
anyhow = "1"
crossterm = { version = "0.27", optional = true }

# Conversion traits
once_cell = "1.19"
url = "2.5.0"

arc-swap = { version = "1.6.0" }

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.7"
log = "~0.4"

which = "5.0.0"
parking_lot = "0.12.1"


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

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

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