diff --git a/README.md b/README.md index 3f166db1b..f9c1d5195 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,62 @@
-

- - - - Helix - -

- -[![Build status](https://github.com/helix-editor/helix/actions/workflows/build.yml/badge.svg)](https://github.com/helix-editor/helix/actions) -[![GitHub Release](https://img.shields.io/github/v/release/helix-editor/helix)](https://github.com/helix-editor/helix/releases/latest) -[![Documentation](https://shields.io/badge/-documentation-452859)](https://docs.helix-editor.com/) -[![GitHub contributors](https://img.shields.io/github/contributors/helix-editor/helix)](https://github.com/helix-editor/helix/graphs/contributors) -[![Matrix Space](https://img.shields.io/matrix/helix-community:matrix.org)](https://matrix.to/#/#helix-community:matrix.org) +

evil-helix

-
- -![Screenshot](./screenshot.png) +A soft fork of [Helix](https://helix-editor.com) which introduces Vim keybindings and more. -A [Kakoune](https://github.com/mawww/kakoune) / [Neovim](https://github.com/neovim/neovim) inspired editor, written in Rust. +[![Build status](https://img.shields.io/github/actions/workflow/status/usagi-flow/helix/evil-build.yml?style=for-the-badge&logo=github)](https://github.com/usagi-flow/helix/actions/workflows/evil-build.yml) -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](https://helix-editor.com) or -[documentation](https://docs.helix-editor.com/). +> [!IMPORTANT] +> This project is a work-in-progress, but should be stable enough for daily usage. -All shortcuts/keymaps can be found [in the documentation on the website](https://docs.helix-editor.com/keymap.html). +## Installation -[Troubleshooting](https://github.com/helix-editor/helix/wiki/Troubleshooting) +[Download a package](https://github.com/usagi-flow/helix/releases/tag/feat-evil-base) and extract it in `/opt`. Additionally, it's recommended to symlink it in `/usr/local/bin`: -# Features +```sh +cd /opt +sudo curl -Lo helix.tar.gz https://github.com/usagi-flow/helix/releases/download/feat-evil-base/helix--.tar.gz +sudo tar -xf helix.tar.gz +cd /usr/local/bin +sudo ln -sv /opt/helix/hx . +``` -- Vim-like modal editing -- Multiple selections -- Built-in language server support -- Smart, incremental syntax highlighting and code editing via tree-sitter +Builds are not in package repositories yet. -It's a terminal-based editor first, but I'd like to explore a custom renderer -(similar to Emacs) in wgpu or skulpin. +## Project philosophy -Note: Only certain languages have indentation definitions at the moment. Check -`runtime/queries//` for `indents.scm`. +### Configurable features instead of plugins -# Installation +This fork seeks to implement functionality as part of the editor, and make it configurable. +The added functionality includes a Vim look-and-feel, but also other features. -[Installation documentation](https://docs.helix-editor.com/install.html). +In contrast, the upstream project, Helix, mostly limits its scope to its current core functionality, and defers further functionality to the future Scheme-based plugin system. -[![Packaging status](https://repology.org/badge/vertical-allrepos/helix.svg)](https://repology.org/project/helix/versions) +Compared to plugins, implementing features as part of the editor greatly improves performance, and avoids the risk of plugin compatibility issues. -# Contributing +### Sensible defaults -Contributing guidelines can be found [here](./docs/CONTRIBUTING.md). +In addition, sensible defaults are crucial: +The editor must offer a wide range of tools for your job, but it must do what you expect an editor to do. -# Getting help +### Avoid Scheme/Lisp -Your question might already be answered on the [FAQ](https://github.com/helix-editor/helix/wiki/FAQ). +Scheme/Lisp should not be forced onto the user. +It's error-prone and harder to read by humans, compared to Rust/TOML/Lua/... -Discuss the project on the community [Matrix Space](https://matrix.to/#/#helix-community:matrix.org) (make sure to join `#helix-editor:matrix.org` if you're on a client that doesn't support Matrix Spaces yet). +If upstream Helix moves to a [Scheme-based configuration](https://github.com/helix-editor/helix/issues/8853), +this project will seek to provide a user-friendly alternative. -# Credits +## Project goals -Thanks to [@jakenvac](https://github.com/jakenvac) for designing the logo! +- Introduce more Vim keybindings +- Implement common/crucial features as part of the editor: + - File tree (cf. [upstream PR](https://github.com/helix-editor/helix/pull/5768)) + - Light/dark mode support (cf. [upstream PR](https://github.com/helix-editor/helix/pull/7788)) +- Maintain compatibility with upstream + - Isolate features to minimize conflicts with upstream changes + - Contribute features to upstream where possible + - Ensure (through CI) that rebasing is always possible + - Find a name for this project \ No newline at end of file