Unnamed repository; edit this file 'description' to name the repository.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
[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

[package.metadata.deb]
# generate a .deb in target/debian/ with the command: cargo deb --no-build
name = "helix"
assets = [
  { source = "target/release/hx", dest = "/usr/lib/helix/", mode = "755" },
  { source = "../contrib/hx_launcher.sh", dest = "/usr/bin/hx", mode = "755" },
  { source = "../runtime/*", dest = "/usr/lib/helix/runtime/", mode = "644" },
  { source = "../runtime/grammars/*", dest = "/usr/lib/helix/runtime/grammars/", mode = "644" }, # to avoid sources/
  { source = "../runtime/queries/**/*", dest = "/usr/lib/helix/runtime/queries/", mode = "644" },
  { source = "../runtime/themes/**/*", dest = "/usr/lib/helix/runtime/themes/", mode = "644" },
  { source = "../README.md", dest = "/usr/share/doc/helix/", mode = "644" },
  { source = "../contrib/completion/hx.bash", dest = "/usr/share/bash-completion/completions/hx", mode = "644" },
  { source = "../contrib/completion/hx.fish", dest = "/usr/share/fish/vendor_completions.d/hx.fish", mode = "644" },
  { source = "../contrib/completion/hx.zsh", dest = "/usr/share/zsh/vendor-completions/_hx", mode = "644" },
  { source = "../contrib/Helix.desktop", dest = "/usr/share/applications/Helix.desktop", mode = "644" },
  { source = "../contrib/helix.png", dest = "/usr/share/icons/hicolor/256x256/apps/helix.png", mode = "644" },
]

[features]
default = ["git"]
unicode-lines = ["helix-core/unicode-lines", "helix-view/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.21"

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 = ["termina", "crossterm"] }
termina = { workspace = true, 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"
indexmap = "2.12"

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

# File picker
nucleo.workspace = true
# MSRV: update once the MSRV is >=1.85
ignore = "=0.4.23"
grep-regex = "=0.1.13"
grep-searcher = "=0.1.14"
grep-matcher = "=0.1.7"
# markdown doc rendering
pulldown-cmark = { version = "0.13", default-features = false }
# file type detection
content_inspector = "0.2.4"
thiserror.workspace = true

# opening URLs
open = "5.3.2"
url = "2.5.4"

# config
toml.workspace = true

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

dashmap = "6.0"
tree-house = { workspace = true, features = ["fixtures"] }

[target.'cfg(windows)'.dependencies]
crossterm = { version = "0.28", features = ["event-stream"] }

[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.177"

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

[dev-dependencies]
smallvec = "1.15"
indoc = "2.0.6"
tempfile.workspace = true
same-file = "1.0.1"