No description
Find a file
Pascal Kuthe b1f7528090 fix snippet bugs and multicursor completion edgecases
Multicursor completions may overlap and therefore overlapping
completions must be dropped to avoid crashes. Furthermore, multicursor
edits might simply be out of range if the word before/after the cursor
is shorter. This currently leads to crashes, instead these selections
are now also removed for completions.

This commit also significantly refactors snippet transaction generation
so that tabstops behave correctly with the above rules. Furthermore,
snippet tabstops need to be carefully mapped to ensure their position
is correct and consistent with our selection semantics. Finally,
we now keep a partially updated Rope while creating snippet
transactions so that we can fill information into snippets that
depends on the position in the document.
2023-03-10 16:54:17 +09:00
.cargo enable rendering in integration tests () 2023-02-04 13:20:23 -08:00
.github update MSRV to 1.65 2023-03-05 15:54:02 +09:00
book Generalised to multiple runtime directories with priorities () 2023-03-09 23:50:43 +09:00
contrib Add Appstream metadata file () 2023-01-24 17:26:42 -06:00
docs Expand contributing docs () 2023-02-19 12:52:12 -06:00
helix-core Add API to create a Transaction from potentially overlapping changes 2023-03-10 16:54:17 +09:00
helix-dap feat(dap): implement Restart request () 2023-03-06 18:19:53 +09:00
helix-loader Generalised to multiple runtime directories with priorities () 2023-03-09 23:50:43 +09:00
helix-lsp fix snippet bugs and multicursor completion edgecases 2023-03-10 16:54:17 +09:00
helix-parsec Remove now unused the pattern combinator 2023-03-08 10:48:35 +09:00
helix-term fix snippet bugs and multicursor completion edgecases 2023-03-10 16:54:17 +09:00
helix-tui tui: Log keyboard enhancement query time 2023-03-08 10:49:32 +09:00
helix-vcs Add command for resetting diff hunks () 2023-03-08 10:49:14 +09:00
helix-view Generalised to multiple runtime directories with priorities () 2023-03-09 23:50:43 +09:00
runtime feat(theme): Update pop-dark statusline () 2023-03-09 11:17:45 +09:00
xtask Fix new clippy lints () 2023-02-09 16:27:08 -06:00
.envrc Work around a nix-direnv issue 2022-02-25 18:01:47 +09:00
.gitattributes
.gitignore
.ignore
base16_theme.toml
Cargo.lock store multiple snapshots on the document at once 2023-03-09 13:01:02 +09:00
Cargo.toml Add a parser-combinator crate 2023-03-08 10:48:35 +09:00
CHANGELOG.md
default.nix
flake.lock build(nix): fix devshell 2023-02-25 07:06:30 +03:00
flake.nix build(nix): fix devshell 2023-02-25 07:06:30 +03:00
grammars.nix
languages.toml Softwrapping improvements () 2023-03-08 11:02:11 +09:00
LICENSE
logo.svg
logo_dark.svg
logo_light.svg
README.md Rewrite and refactor all documentation () 2023-03-06 18:27:17 +09:00
rust-toolchain.toml update MSRV to 1.65 2023-03-05 15:54:02 +09:00
rustfmt.toml
screenshot.png
shell.nix
theme.toml Add markup.strikethrough theme keys () 2023-01-21 16:21:26 -06:00
VERSION

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

It's a terminal-based editor first, but I'd like to explore a custom renderer (similar to Emacs) in 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 @JakeHL for designing the logo!