Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/README.md')
-rw-r--r--runtime/README.md57
1 files changed, 57 insertions, 0 deletions
diff --git a/runtime/README.md b/runtime/README.md
new file mode 100644
index 00000000..bdc9cbda
--- /dev/null
+++ b/runtime/README.md
@@ -0,0 +1,57 @@
+Runtime
+
+Helix looks for some additional files on startup to provide features
+like the tutorial (`:tutor`) or syntax highlighting.
+
+The directory that contains these files is called the _runtime
+directory_. Check the "Runtime directory" line from `hx --health` to
+find where Helix looks for the runtime directory on your machine.
+
+When installed correctly, the runtime directory should have a shape
+like this:
+
+```
+$ tree $HELIX_RUNTIME
+runtime
+├── tutor The tutorial file.
+├── grammars Compiled tree-sitter parsers.
+│   ├── rust.so
+│   ├── awk.so
+│   ├── bash.so
+│   └── sources (Optional) source files for tree-sitter parsers.
+│      └── ... Used in 'hx --grammar build'.
+├── help Documentation for the :help command.
+│   └── ...
+└── queries Tree-sitter queries.
+    ├── rust
+    │   ├── highlights.scm
+    │   ├── injections.scm
+    │   └── textobjects.scm
+    └── ...
+```
+
+When looking up the runtime directory, Helix checks these places in
+order and returns the first value that exists:
+
+* The `HELIX_RUNTIME` environment variable. If that variable is set,
+ the value is treated as the path to the runtime directory.
+* The root of the Helix repository under a directory named `runtime`,
+ if running from source.
+* The config directory under a directory named `runtime`.
+* The parent directory of the Helix executable under a directory
+ named `runtime`.
+
+If you installed Helix through a package manager, the package manager
+most likely installed the runtime directory and wrapped Helix in a
+script that sets `HELIX_RUNTIME`.
+
+If you are building from source, you should set up a link between
+the `runtime` directory in the Helix git repository and the config
+directory.
+
+| OS | Command |
+| -------------------- | ------------------------------------------------ |
+| Windows (Cmd) | `xcopy /e /i runtime %AppData%\helix\runtime` |
+| Windows (PowerShell) | `xcopy /e /i runtime $Env:AppData\helix\runtime` |
+| Linux / macOS | `ln -s $PWD/runtime ~/.config/helix/runtime` |
+