You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
helix/runtime
Michael Davis 2dbec4c933
Add a document for the runtime directory
This help topic should otherwise belong under `runtime/help/topics`
but it should be accessible if the runtime directory is not correctly
installed.

This article shows up under `:help topics` because of the symlink
but can also be accessed by `:help runtime` if necessary.
2 years ago
..
grammars Dynamically load grammar libraries at runtime 3 years ago
help Add a document for the runtime directory 2 years ago
queries Update tree-sitter-scheme 2 years ago
themes update(theme): adjust base16_transparent and dark_high_contrast (#5105) 2 years ago
README.md Add a document for the runtime directory 2 years ago
tutor fix(tutor): Capitalize first letter of a sentence (#5075) 2 years ago

README.md

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