No description
Find a file
Michael Davis 23b424a46d
stdx: Add floor/ceil char boundary functions to RopeSliceExt
These functions mimic `str::floor_char_boundary` and
`str::floor_char_boundary` (currently unstable under
`round_char_boundary`). They're useful for correcting a byte index
which may not lie on a character boundary. For example you might limit
a search within a slice to some fixed number of bytes. The fixed number
might not lie on a boundary though so it needs to be corrected to
either the earlier (floor) or later (ceil) boundary.
2025-01-26 11:10:24 -05:00
.cargo Add hook/event system 2024-01-23 11:20:19 +09:00
.github CI: Cache tree-sitter grammars in all jobs 2025-01-23 09:47:51 -05:00
book Update install.md: fix link to lang server install instructions () 2025-01-26 14:21:13 +09:00
contrib Add changelog notes for 25.01.1 () 2025-01-19 14:50:39 -06:00
docs release docs: Fix git push command for the release tag 2024-12-22 09:48:32 -05:00
helix-core perf(syntax): short-circuit if name matches language_id () 2025-01-23 17:49:14 -06:00
helix-dap build(deps): bump the rust-dependencies group with 6 updates () 2024-10-23 22:34:20 +09:00
helix-event Add support for path completion () 2024-11-21 21:12:36 -06:00
helix-loader fix(lints): clippy 1.84 2025-01-23 15:18:16 -05:00
helix-lsp feat: specify custom lang server(s) for :lsp-stop and :lsp-restart () 2025-01-23 18:14:35 -06:00
helix-lsp-types build(deps): bump the rust-dependencies group with 5 updates () 2025-01-21 08:59:05 -06:00
helix-parsec fix(clippy): clippy 1.83 lints () 2024-12-02 08:23:32 -06:00
helix-stdx stdx: Add floor/ceil char boundary functions to RopeSliceExt 2025-01-26 11:10:24 -05:00
helix-term fix: goto_file_impl incorrect use of slice instead of byte_slice () 2025-01-25 12:38:35 -06:00
helix-tui tui buffer: Handle multi-width graphemes in set_string_anchored 2025-01-23 18:12:20 -05:00
helix-vcs build(deps): bump the rust-dependencies group with 5 updates () 2025-01-21 08:59:05 -06:00
helix-view fix(lints): clippy 1.84 2025-01-23 15:18:16 -05:00
runtime Small refinements for modus themes () 2025-01-25 20:30:43 +09:00
xtask minor: Setup default keymap directly in xtask docgen 2024-12-28 21:42:09 -05:00
.envrc
.gitattributes
.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 () 2024-06-23 10:07:13 +09:00
Cargo.lock feat: passing multile of the same files in the arguments places a cursor at each position () 2025-01-23 14:04:02 -06:00
Cargo.toml build(deps): bump the rust-dependencies group with 5 updates () 2025-01-21 08:59:05 -06:00
CHANGELOG.md Add changelog notes for 25.01.1 () 2025-01-19 14:50:39 -06:00
default.nix Expose all flake outputs through flake-compat () 2024-05-07 01:33:59 +09:00
flake.lock flake: Revert update of nixpkgs 2025-01-25 13:52:14 -05:00
flake.nix Make git revision available for nix flake builds () 2024-12-25 11:26:53 -06:00
grammars.nix Make nix flake respect unused grammars () 2024-01-14 15:11:40 +01:00
languages.toml Update tree-sitter-elixir 2025-01-24 12:37:48 -05:00
LICENSE
logo.svg Reduce logo sizes even more () 2024-01-02 23:16:37 +01:00
logo_dark.svg Reduce logo sizes even more () 2024-01-02 23:16:37 +01:00
logo_light.svg Reduce logo sizes even more () 2024-01-02 23:16:37 +01:00
README.md Fix repology badge () 2024-10-16 01:52:50 +09:00
rust-toolchain.toml chore(msrv): bump MSRV from 1.70 to 1.76 2024-11-22 01:17:08 -08:00
rustfmt.toml
screenshot.png
shell.nix
theme.toml Allow theming directory prompt completions () 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!