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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
[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.4"
tokio-stream = "0.1"
futures-util = { version = "0.3", features = [
  "std",
  "async-await",
], default-features = false }
arc-swap.workspace = true
termini = "1"
indexmap = { version = "2.14", features = ["serde"] }

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

# File picker
nucleo.workspace = true
ignore = "0.4"
grep-regex = "0.1"
grep-searcher = "0.1"
grep-matcher = "0.1"
# 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.5"
url = "2.5.4"

# config
toml.workspace = true

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

parking_lot.workspace = true
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.4", features = ["futures-v0_3"] }
libc = "0.2.186"

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

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