User guide / Configuration

Themes and key bindings in their own files

Development reference · View source

Two directories beside the configuration file add to it:

DirectoryEach .yaml file holds
themes.d/One theme, named after the file: themes.d/mine.yaml defines the theme mine. The file is what would go under themes: mine:.
keybinds.d/Part of the keys section, written as it would be under keys:.
# keybinds.d/normal.yaml
bind:
  normal:
    F5: save
  • They are read after the configuration file, in file-name order. A later file wins: a theme replaces one of the same name, including a built-in or one defined inline under themes:. Key files merge one binding at a time, so a later file can change one key in bind or rebind without repeating the rest; leader and window are replaced.
  • Only files ending in .yaml are read. Hidden files, such as an editor’s swap files, are skipped, and so is a directory that does not exist. At most 256 files are read from each.
  • They are found beside whichever file was loaded, including one given with --config, and are read even when that file does not exist.
  • Inline themes: and keys: sections keep working alongside them.
  • A theme file that is not valid YAML stops Runyte from starting, as the configuration file does. A key file in the wrong shape is reported like any other keys problem and never stops it.