Named themes: the two built in, and every *.toml in the config directory’s
themes/, each a set of theme.colors slots named by its file. theme.dark and
theme.light pick one per mode; theme.colors lies over whichever is in use.
Color configuration for the application theme: one slot per role, each a name
("cyan", "default"), "#rrggbb" or "indexed(N)". The option registry
documents every slot and holds its dark and light defaults.
One config file’s settings as written. Partial, so a later file can set a value
back to its default and an omitted key changes nothing;
AppConfig::from_layers fills defaults once after merging.
[glyphs]: per-slot overrides over the Unicode set, for fonts with more than the
coverage floor. Keys are glyphs.rs slot names; values keep the replaced glyph’s
width. The ASCII set is never overridden. Layered like every section.
Recursive search under the working directory, driven by home’s filter: one
background walk on first typing, then each keystroke scores its results off the
UI thread. These limits bound the walk and the list.
Which built-in color defaults to start from. Chrome colors (header fills, striping,
borders) must sit near the background without matching it, which no ANSI color
expresses, so they are fixed per set.
The variables naming an S3 endpoint, in lookup order: service-specific, general
(as AWS SDKs read them), then AWS_ENDPOINT (what object_store accepts).
Style of the column cursor’s header and of the current cell: the cell_cursor
tint in bold, or reversed video where the tint would not show, so the cell is
marked on any terminal.
Style of the column cursor’s cells: the column_cursor tint, or nothing where the
tint would not show; the header and the current cell still mark the column there.
path with a leading ~ expanded, nothing else: for command-line paths, which
cmd, older PowerShell and quoting pass through with ~ (a $ was already
expanded and is part of a name). A path that exists as typed (a file named ~)
is kept.
Whether id can name a source: lowercase letters, digits and -, starting with
a letter or digit, at most 40 characters (it goes into URLs and cache keys).
Whether a tint can be told from the terminal’s own background: a 16-color terminal
turns the default tints into black or white, and NO_COLOR into none.