[package]
name = "helix-term"
description = "A post-modern text editor."
include = ["src/**/*", "README.md"]
default-run = "hx"
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 = ["git"]
unicode-lines = ["helix-core/unicode-lines"]
integration = ["helix-event/integration_test"]
git = ["helix-vcs/git"]

[[bin]]
name = "hx"
path = "src/main.rs"

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

anyhow = "1"
once_cell = "1.19"

tokio = { version = "1", features = ["rt", "rt-multi-thread", "io-util", "io-std", "time", "process", "macros", "fs", "parking_lot"] }
tui = { path = "../helix-tui", package = "helix-tui", default-features = false, features = ["crossterm"] }
crossterm = { version = "0.27", features = ["event-stream"] }
signal-hook = "0.3"
tokio-stream = "0.1"
futures-util = { version = "0.3", features = ["std", "async-await"], default-features = false }
arc-swap = { version = "1.7.1" }
termini = "1"

# Logging
fern = "0.6"
chrono = { version = "0.4", default-features = false, features = ["clock"] }
log = "0.4"

# File picker
nucleo.workspace = true
ignore = "0.4"
# markdown doc rendering
pulldown-cmark = { version = "0.10", default-features = false }
# file type detection
content_inspector = "0.2.4"

# opening URLs
open = "5.1.2"
url = "2.5.0"

# config
toml = "0.8"

serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }

# ripgrep for global search
grep-regex = "0.1.12"
grep-searcher = "0.1.13"

[target.'cfg(not(windows))'.dependencies]  # https://github.com/vorner/signal-hook/issues/100
signal-hook-tokio = { version = "0.3", features = ["futures-v0_3"] }
libc = "0.2.153"

[target.'cfg(target_os = "macos")'.dependencies]
crossterm = { version = "0.27", features = ["event-stream", "use-dev-tty"] }

[build-dependencies]
helix-loader = { path = "../helix-loader" }

[dev-dependencies]
smallvec = "1.13"
indoc = "2.0.5"
tempfile = "3.10.1"
