Open-Source Wikis

/

Helix

/

Helix

/

Glossary

helix-editor/helix

Glossary

Terms that appear throughout the codebase and this wiki. Many borrow from Vim, Kakoune, or CodeMirror; some are Helix-specific.

Term Meaning
Anchor The fixed end of a Range; opposite of head. Used to extend selections. See helix-core/src/selection.rs.
Application The top-level struct that owns the editor, compositor, terminal, and async runtime. See helix-term/src/application.rs.
AsyncHook A debounced async task tied to an editor event. Defined in helix-event/src/debounce.rs.
Backend A renderer for the TUI: termina (Unix), crossterm (Windows), or TestBackend for integration tests. See helix-tui/src/backend.
Buffer (TUI) An off-screen grid of styled cells that the compositor draws into; diffed against the previous frame to produce minimal terminal updates. Distinct from a "buffer" meaning open file (Helix calls those Documents). See helix-tui/src/buffer.rs.
Compositor The layered stack of Components in the terminal frontend. See helix-term/src/compositor.rs.
Component A drawable, event-handling UI piece (editor view, popup, picker, prompt, etc.).
Document An open file: rope + per-view selections + syntax + history + diagnostics. See helix-view/src/document.rs.
Editor The global editor state: documents, view tree, registers, language servers, debug adapters. See helix-view/src/editor.rs.
Event A typed message dispatched through helix-event (e.g. DocumentDidChange, SelectionDidChange). Hooks subscribe to events.
Expansion Variable substitution in commands and external arguments (e.g. %{cursor_line}). See helix-view/src/expansion.rs.
Grammar A compiled tree-sitter language grammar. Fetched/built by helix-loader::grammar.
Gutter The strip on the left of a view showing line numbers, diagnostic icons, diff signs, and breakpoints. See helix-view/src/gutter.rs.
Head The moving end of a Range. Cursor position equals the head minus one for forward ranges.
Hook A synchronous callback registered for an Event. Use register_hook! from helix-event.
Info box The transient popup that shows pending key sequences (e.g. g…). See helix-view/src/info.rs.
Jobs Async callbacks that run on the main loop, often with access to the compositor. See helix-term/src/job.rs.
Keymap A mapping from Mode to a KeyTrie of key sequences to commands. See helix-term/src/keymap.rs.
KeyTrie A tree of key events whose leaves are MappableCommands; supports nested key sequences and sticky modes.
Language server An LSP server process managed by helix-lsp::Registry; per-language servers are configured in languages.toml.
Layer (compositor) A Component pushed onto the compositor stack. The top layer receives events first.
MappableCommand A command that can be bound to keys, either a Rust function or a typable command. See helix-term/src/commands.rs.
Mode Editor mode: Normal, Select, or Insert (defined in helix-view/src/document.rs).
Picker A fuzzy-finder UI for files, symbols, buffers, etc. See helix-term/src/ui/picker.
Range A (anchor, head) pair representing one selection range. Many ranges form a Selection.
Register A named clipboard slot accessed via "x syntax. See helix-view/src/register.rs.
Rope The persistent text buffer type — re-exported from ropey. Cheap to clone, used everywhere.
Runtime dir Directory holding grammars, queries, themes, and the tutor — searched in priority order; see getting-started.
Selection A non-empty list of Ranges with one designated as primary. The fundamental editing target in Helix.
Surface A drawable area that components render into. Synonym for tui::buffer::Buffer.
Syntax Tree-sitter parse tree plus highlighter state per document. See helix-core/src/syntax.rs.
Text annotation A virtual text overlay (inline diagnostics, inlay hints, virtual lines). See helix-core/src/text_annotations.rs.
Text object A semantic chunk of text (function, class, paragraph, etc.) selected via mi/ma style commands. See helix-core/src/textobject.rs.
Theme A TOML file mapping highlight scopes to colors and modifiers; loaded from runtime/themes/. See helix-view/src/theme.rs.
Transaction An OT-like atomic edit produced by Transaction::change*; reversible. See helix-core/src/transaction.rs.
Tree (view tree) The split layout of Views. See helix-view/src/tree.rs.
Typable command A :command invoked from the prompt; defined in helix-term/src/commands/typed.rs.
View An open viewport into a Document — owns scroll position, gutter state, and one Selection. See helix-view/src/view.rs.
Workspace trust A gate before loading workspace-local configuration; prompts the user the first time. See helix-loader/src/workspace_trust.rs.
xtask The ad-hoc cargo task runner crate (xtask/). Subcommands: docgen, query-check, theme-check.

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

Glossary – Helix wiki | Factory