on master help sign in
Update README.
f6d0c7aBlaž Hrastnik
README.md+41−7
@@ -1,19 +1,53 @@
1# Helix
1# Helix
2
2
3−| Crate | Description |
3+A kakoune / neovim inspired editor, written in Rust.
4−| ----------- | ----------- |
4+
5−| helix-core | Core editing primitives, functional. |
5+The editing model is very heavily based on kakoune; during development I found
6−| helix-syntax | Tree-sitter grammars |
6+myself agreeing with most of kakoune's design decisions.
7−| helix-view | UI abstractions for use in backends, imperative shell. |
7+
8−| helix-term | Terminal UI |
8+# Features
9+
10+- Vim-like modal editing
11+- Multiple selections
12+- Built-in language server support
13+- Smart, incremental syntax highlighting and code editing via tree-sitter
14+
15+It's a terminal-based editor first, but I'd like to explore a custom renderer
16+(similar to emacs) in wgpu or skulpin.
9
17
10# Installation
18# Installation
11
19
20+We provide packaging for various distributions, but here's a quick method to
21+build from source.
22+
12```
23```
13−git clone --depth 1 --recurse-submodules -j8 https://github.com/helix-editor/helix
24+git clone --recurse-submodules --shallow-submodules -j8 https://github.com/helix-editor/helix
14cd helix
25cd helix
15cargo install --path helix-term
26cargo install --path helix-term
16```
27```
17
28
18This will install the `hx` binary to `$HOME/.cargo/bin`.
29This will install the `hx` binary to `$HOME/.cargo/bin`.
19
30
31+Now copy the `runtime/` directory somewhere. Helix will by default look for the
32+runtime inside the same folder as the executable, but that can be overriden via
33+the `HELIX_RUNTIME` environment variable.
34+
35+# Contributing
36+
37+Contributors are very welcome! **No contribution is too small and all contributions are valued.**
38+
39+Some suggestions to get started:
40+
41+- You can look at the [good first issue](https://github.com/helix-editor/helix/labels/good%20first%20issue) label on the issue tracker.
42+- Help with packaging on various distributions needed!
43+- If your preffered language is missing, integrating a tree-sitter grammar for
44+ it and defining syntax highlight queries for it is straight forward and
45+ doesn't require much knowledge of the internals.
46+
47+We provide an [architecture.md](./docs/architecture.md) that should give you
48+a good overview of the internals.
49+
50+# Getting help
51+
52+Discuss the project on the community [Matrix channel](https://matrix.to/#/#helix-editor:example.com).
53+
doc/architecture.md+9
@@ -1,4 +1,13 @@
1
1
2+| Crate | Description |
3+| ----------- | ----------- |
4+| helix-core | Core editing primitives, functional. |
5+| helix-syntax | Tree-sitter grammars |
6+| helix-lsp | Language server client |
7+| helix-view | UI abstractions for use in backends, imperative shell. |
8+| helix-term | Terminal UI |
9+| helix-tui | TUI primitives, forked from tui-rs, inspired by Cursive |
10+
2# Notes
11# Notes
3
12
4- server-client architecture via gRPC, UI separate from core
13- server-client architecture via gRPC, UI separate from core