1
0
mirror of https://github.com/helix-editor/helix synced 2026-03-20 01:05:10 +01:00
A post-modern modal text editor. https://helix-editor.com
Go to file
Michael Davis a2033e2239
WIP: The proper Spellbook integration patch
Prior integration patches went about it in the most simple and direct
way, which is unfortunately completely different than how it _should_
look. Some bad prior art:

* Checking was done during each render only on the current viewport
* Dictionary loading was hard-coded and done during `Editor::new`
* The UX for suggestions was not hooked into code actions
* Same for "Add {word} to dictionary"

Ultimately this is still very unbaked. Big parts still to do:

* Run a tree-sitter query to discover parts of the document that need to
  be checked. Look at the queries used in Codebook - I believe we want
  to follow that strategy at least partially. It uses different captures
  to control the strategy used to parse the captured content. (For
  example capturing strings)
* Support multiple dictionaries at once. Not totally sure what this
  looks like yet, other than `dictionaries.iter().any(..)`.
* Figure out how many configuration levers we need. Again, Codebook is
  likely to be good inspiration here.
2025-11-30 13:33:48 -05:00
.cargo Add hook/event system 2024-01-23 11:20:19 +09:00
.github build(deps): bump actions/checkout from 5 to 6 (#14863) 2025-11-24 23:54:37 -05:00
book Add support for ripple (#14798) 2025-11-30 11:18:14 -06:00
contrib feat: add language filtering to hx --health (#13484) 2025-07-26 15:38:25 -04:00
docs docs: Add architecture notes for stdx and event crates 2025-07-26 16:38:58 -04:00
helix-core WIP: The proper Spellbook integration patch 2025-11-30 13:33:48 -05:00
helix-dap [DAP] configurationDone request: JDTLS expects arguments to be an object, not null (#14879) 2025-12-01 00:47:58 +09:00
helix-event build(deps): bump the rust-dependencies group with 2 updates (#14373) 2025-09-03 08:16:33 -05:00
helix-loader WIP: The proper Spellbook integration patch 2025-11-30 13:33:48 -05:00
helix-lsp Add generic Range and Diagnostic types in helix-view 2025-11-30 13:33:48 -05:00
helix-lsp-types Add generic Range and Diagnostic types in helix-view 2025-11-30 13:33:48 -05:00
helix-parsec fix(clippy): clippy 1.83 lints (#12150) 2024-12-02 08:23:32 -06:00
helix-stdx fix(lints): clippy 1.89-1.90 (#14223) 2025-09-22 08:44:17 -05:00
helix-term WIP: The proper Spellbook integration patch 2025-11-30 13:33:48 -05:00
helix-tui Use the default terminal size when runtime detection fails 2025-09-23 09:33:25 -04:00
helix-vcs build(deps): bump gix from 0.74.1 to 0.75.0 (#14865) 2025-11-24 23:54:10 -05:00
helix-view WIP: The proper Spellbook integration patch 2025-11-30 13:33:48 -05:00
runtime Add support for ripple (#14798) 2025-11-30 11:18:14 -06:00
xtask Rainbow tree-sitter matches 🌈 (#13530) 2025-07-26 18:02:29 -04:00
.envrc direnv: Watch changes to default.nix 2025-03-04 11:31:54 -05:00
.gitattributes Help Linguist identify Tree-sitter queries (#13436) 2025-04-29 08:28:20 -05:00
.gitignore fix: added .DS_Store to gitignore 2024-11-20 16:18:42 -06:00
base16_theme.toml base16_default: add styles to newer unthemed features (#10858) 2024-06-23 10:07:13 +09:00
Cargo.lock WIP: The proper Spellbook integration patch 2025-11-30 13:33:48 -05:00
Cargo.toml WIP: The proper Spellbook integration patch 2025-11-30 13:33:48 -05:00
CHANGELOG.md Add release notes for 25.07.1 2025-07-18 10:39:27 -04:00
default.nix fix: add runtimeDir as propagated build input (#14247) 2025-08-16 10:51:17 -04:00
flake.lock nix: Update flake lock 2025-10-06 10:00:08 -04:00
flake.nix flake: Remove darwin CoreFoundation dev-shell input 2025-10-18 20:09:29 -04:00
grammars.nix nix: Remove debug ls -al (#14320) 2025-08-26 17:19:41 -04:00
languages.toml Add support for ripple (#14798) 2025-11-30 11:18:14 -06:00
LICENSE Add the LICENSE file. 2021-05-11 01:44:00 +09:00
logo_dark.svg Reduce logo sizes even more (#9211) 2024-01-02 23:16:37 +01:00
logo_light.svg Reduce logo sizes even more (#9211) 2024-01-02 23:16:37 +01:00
logo.svg Reduce logo sizes even more (#9211) 2024-01-02 23:16:37 +01:00
README.md Fix repology badge (#11895) 2024-10-16 01:52:50 +09:00
rust-toolchain.toml chore(msrv): bump from 1.76 to 1.82 (#13275) 2025-04-28 09:48:54 -05:00
rustfmt.toml Add rustfmt.toml to force formatting to use rustfmt defaults 2021-07-23 18:11:22 +09:00
screenshot.png update screenshot (#1879) 2022-03-30 00:16:57 +09:00
shell.nix build(nix): update flake deps, add default.nix file 2022-06-21 17:39:30 -05:00
theme.toml Allow theming directory prompt completions (#12205) 2024-12-17 21:13:42 -06:00

Helix

Build status GitHub Release Documentation GitHub contributors Matrix Space

Screenshot

A Kakoune / Neovim inspired editor, written in Rust.

The editing model is very heavily based on Kakoune; during development I found myself agreeing with most of Kakoune's design decisions.

For more information, see the website or documentation.

All shortcuts/keymaps can be found in the documentation on the website.

Troubleshooting

Features

  • Vim-like modal editing
  • Multiple selections
  • Built-in language server support
  • Smart, incremental syntax highlighting and code editing via tree-sitter

Although it's primarily a terminal-based editor, I am interested in exploring a custom renderer (similar to Emacs) using wgpu or skulpin.

Note: Only certain languages have indentation definitions at the moment. Check runtime/queries/<lang>/ for indents.scm.

Installation

Installation documentation.

Packaging status

Contributing

Contributing guidelines can be found here.

Getting help

Your question might already be answered on the FAQ.

Discuss the project on the community Matrix Space (make sure to join #helix-editor:matrix.org if you're on a client that doesn't support Matrix Spaces yet).

Credits

Thanks to @jakenvac for designing the logo!