No description
Find a file
Michael Davis c3620b7116
Join input and wait tasks in external formatter Tokio command
This matches the layout of `shell_impl_async` in `commands.rs` and
avoids a hang or maybe deadlock in `to_writer`'s calls to
`tokio::io::AsyncWriteExt::write_all`. I don't really understand the
underlying cause of the hang but it seems it's necessary to spawn a
new tokio task to provide input to stdin. This is shown in an example
in `tokio::process::Child::wait` but not documented explicitly.
2025-02-01 10:58:03 -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 Add ghostty configuration support () 2025-01-29 08:56:08 -06: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(ropey): enable simd feature for stdx () 2025-01-30 19:51:34 -05:00
helix-dap DAP: Refactor handling of Event and Request protocol types 2025-01-27 15:27:35 -05: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 perf(ropey): enable simd feature for stdx () 2025-01-30 19:51:34 -05:00
helix-term Use typable command doc when keybind provides no arguments 2025-02-01 09:10:04 -05:00
helix-tui stdx: Add floor/ceil/is grapheme boundary functions to RopeSliceExt 2025-01-27 09:24:40 -05:00
helix-vcs build(deps): bump the rust-dependencies group with 5 updates () 2025-01-21 08:59:05 -06:00
helix-view Join input and wait tasks in external formatter Tokio command 2025-02-01 10:58:03 -05:00
runtime Add ghostty configuration support () 2025-01-29 08:56:08 -06:00
xtask minor: Setup default keymap directly in xtask docgen 2024-12-28 21:42:09 -05:00
.envrc direnv: Watch the rust-toolchain file () 2023-11-29 11:01:12 +09:00
.gitattributes Add .gitattributes () 2022-08-03 08:21:51 -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 () 2024-06-23 10:07:13 +09:00
Cargo.lock build(deps): bump the rust-dependencies group with 2 updates () 2025-01-27 17:19:26 -06:00
Cargo.toml perf(ropey): enable simd feature for stdx () 2025-01-30 19:51:34 -05: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 fix: add comment token for svelte files () 2025-01-31 15:13:09 -06: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 build(nix): update flake deps, add default.nix file 2022-06-21 17:39:30 -05:00
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!