Open-Source Wikis

/

Helix

/

Reference

/

Dependencies

helix-editor/helix

Dependencies

The Cargo workspace centralizes shared dependencies in [workspace.dependencies] of the root Cargo.toml. Per-crate Cargo.tomls pull from this table via dep.workspace = true.

Workspace-wide dependencies

From Cargo.toml:

Dependency Version Purpose
tree-house 0.3 Tree-sitter wrapper. The highlighter, query iteration, and language-config types live here since 25.07. Helix-maintained.
nucleo 0.5 Fuzzy matcher for pickers.
slotmap 1.1 ViewId, LanguageServerId, DebugAdapterId allocation.
thiserror 2.0 Error enum derive macro.
tempfile 3.27 Atomic save staging files, integration test workspaces.
bitflags 2.11 Modifier (text styling) and Borders (TUI).
unicode-segmentation 1.13 Grapheme iteration.
ropey 1.6 The persistent rope. SIMD feature on.
foldhash 0.2 Faster hasher than the default.
parking_lot 0.12 Faster mutexes than std::sync.
futures-executor 0.3 block_on outside the tokio runtime.
futures-util 0.3 Stream / select utilities.
tokio-stream 0.1 UnboundedReceiverStream and friends.
toml 1.1 TOML parsing for config and languages.toml.
termina 0.3 Modern Unix terminal backend.
sonic-rs 0.5 Fast JSON parser used in helix-lsp and helix-dap.
globset 0.4 File-type pattern matching.
etcetera 0.11 XDG-compatible directory resolution.
arc-swap 1.9 Lock-free reads of slowly-changing state.

Notable per-crate dependencies

helix-term

  • tokio (multi-thread runtime) — primary async runtime.
  • nucleo, ignore, grep-regex, grep-searcher, grep-matcher — picker and global search.
  • pulldown-cmark — markdown rendering for hover popups.
  • content_inspector — file-type detection.
  • fern, chrono, log — logging.
  • open — open URLs in the system browser.
  • signal-hook, signal-hook-tokio (Unix), crossterm (Windows) — terminal events.
  • termini — terminfo parsing for true-color detection.

helix-core

  • ropey — text buffer.
  • tree-house — tree-sitter integration.
  • regex, regex-cursor — regex over rope slices.
  • smartstringTendril (small-string optimised text fragments).
  • smallvecSmallVec<[Range; 1]> for selections.
  • unicode-general-category, unicode-segmentation, unicode-width — Unicode handling.
  • chardetng — encoding detection.
  • encoding_rs — encoding conversion.

helix-lsp / helix-dap

  • tokio (process, IO) — async child process management.
  • serde_json, sonic-rs — JSON-RPC payloads.
  • slotmap — ID allocation.

helix-vcs

  • gix — pure-Rust git implementation. Optional via the git feature.
  • imara-diff — line-based diffing for hunks.

helix-loader

  • etcetera — XDG paths.
  • cc — building tree-sitter grammars from source.

Feature flags

Crate Feature Effect
helix-term git (default) Enable helix-vcs/git — gix-based git backend.
helix-term unicode-lines Extra Unicode line-break characters.
helix-term integration Compile in integration test glue (sets up logging, switches to TestBackend).
helix-event integration_test Test-only event utilities.
helix-vcs git (default) Compile in the git provider.

MSRV

The workspace targets Rust 1.90 (workspace.package.rust-version in Cargo.toml). The MSRV bump policy follows Firefox's:

Once Firefox's MSRV increases we may bump ours as well, but be sure to check that popular distributions like Ubuntu package the new MSRV version.

When increasing the MSRV, three places need updating:

  1. workspace.package.rust-version in Cargo.toml.
  2. env.MSRV in .github/workflows/build.yml.
  3. toolchain.channel in rust-toolchain.toml.

Updates

Dependabot (.github/dependabot.yml) opens PRs for both Cargo deps and tree-sitter grammar revisions. Most are merged after CI passes; substantive bumps (tokio major versions, tree-house releases) get manual review.

See also

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Dependencies – Helix wiki | Factory