`InactiveQueryCursor::new` might reuse a query cursor from a thread-local cache if one is available, rather than create a new cursor. Currently tree-house does not reset cached cursors back to defaults (i.e. byte range and match limit). For now we can patch around this here but eventually this should be fixed in `tree-house` upstream. Then this patch can be reverted. In practice this caused textobjects like `]f` to get "stuck" trying to move to the next function if it was out of the current view. This is because the highlight query cursor sets the range of the cursor to the current viewport. We can reset the byte range to defaults to fix the textobject behavior. |
||
---|---|---|
.cargo | ||
.github | ||
book | ||
contrib | ||
docs | ||
helix-core | ||
helix-dap | ||
helix-event | ||
helix-loader | ||
helix-lsp | ||
helix-lsp-types | ||
helix-parsec | ||
helix-stdx | ||
helix-term | ||
helix-tui | ||
helix-vcs | ||
helix-view | ||
runtime | ||
xtask | ||
.envrc | ||
.gitattributes | ||
.gitignore | ||
CHANGELOG.md | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
base16_theme.toml | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
grammars.nix | ||
languages.toml | ||
logo.svg | ||
logo_dark.svg | ||
logo_light.svg | ||
rust-toolchain.toml | ||
rustfmt.toml | ||
screenshot.png | ||
shell.nix | ||
theme.toml |
README.md
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.
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
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!