Expand description
bat renderer — emits a base16 Sublime-Text .tmTheme (XML plist) that
bat (the cat clone) consumes as a custom theme.
This is the FIRST per-app config-file renderer in ishou (every prior
target emits a palette, a token dump, or a scheme YAML). It is the M0
proof that ishou can natively emit a per-app config file, toward ishou
replacing stylix as the fleet theming engine: instead of stylix
generating the bat theme from its base16 scheme, ishou renders the
.tmTheme directly from the same typed TokenSet the base16 scheme
comes from.
Output format: a Sublime-Text .tmTheme property list (the format
programs.bat.themes.<name>.src / bat’s ~/.config/bat/themes/*.tmTheme
consume). bat parses it with syntect; the format is a <plist> whose
settings array holds one global-settings dict followed by one dict per
scope-selector rule.
§base16 → .tmTheme mapping
The mapping follows the canonical base16 .tmTheme template used by
tinted-theming/base16-textmate (the same slot roles the base16
bat/base16-stylix theme uses), so this render displaces that
generated theme byte-role-for-byte:
| tmTheme setting | base16 slot | ishou colour | role |
|---|---|---|---|
background | base00 | polar_night_0 | default background |
foreground/caret | base05 | snow_storm_1 | default foreground |
invisibles | base03 | polar_night_3 | comments |
lineHighlight | base01 | polar_night_1 | line highlight |
selection | base02 | polar_night_2 | selection bg |
gutterForeground | base03 | polar_night_3 | gutter fg |
| Comment | base03 | polar_night_3 | |
| Variables / deleted | base08 | aurora_red | |
| Integers / constants | base09 | aurora_orange | |
| Classes / bold | base0A | aurora_yellow | |
| Strings / inserted | base0B | aurora_green | |
| Escapes / regex | base0C | frost_1 | |
| Functions / headings | base0D | frost_2 | |
| Keywords / italic | base0E | aurora_purple | |
| Embedded / deprecated | base0F | frost_3 |
Hex values are #RRGGBB (upper-case-insensitive; we emit lowercase),
with a leading # — the tmTheme plist requires the # prefix
(unlike stylix base16 YAML, which forbids it).
Functions§
- render
- Render the base16
.tmThemebat consumes.