Grows the icon map from 9 entries to ~170 and makes it configurable, with ICON_FALLBACK for programs it does not know and ICON_MAP for per-program overrides.
Upgrade note for anyone already running ICONS_ENABLED=1: programs outside the map now show a ? where they previously showed no glyph at all. Set ICON_FALLBACK='' to keep them text-only.
Added
- The icon map moved out of
naming.shintoicons.shand grew from 9 entries to the fulltmux-nerd-font-window-namemap (itsdefaults.yml, ~170 programs), keeping the aliases this plugin always shipped (gvim/view, bun/npx/pnpm, ipython/ipython3) and a robot glyph for every agent herdr detects. ICON_FALLBACK(default?): glyph shown when a program is missing from the map, like upstream'sfallback-icon.''turns the fallback off and keeps unknown programs text-only. UnderICON_STYLE=iconthe fallback is treated as "no glyph", so an unknown program keeps its plain name (rg, not?).ICON_MAP: per-program icon overrides as("prog=glyph")pairs, checked before the builtin map (e.g.ICON_MAP=("claude=")).- Shell labels get no icon even when the map has them:
precmdnames an idle prompt without a program, so a glyph would flip the label betweenzshand<glyph> zshon every reconcile. This covers the fixedSHELLSsix,IGNORED_PROGRAMScommands showing the shell label, and the user's real login shell (SHELL_NAME), which can sit outsideSHELLS(nu, tcsh, elvish, ...).
Fixed
HIDE_SHELLnow blanks the login shell itself. With 0.4.0's fixedSHELLSsix, a login shell outside the list (nu, tcsh, elvish, ...) kept naming itself on reconcile while the idle label stayed blank.- The login shell is recognized by program rather than by computed label:
prog == SHELL_NAMEis its own shell arm, so a reconcile agrees with the bare prompt even withSHOW_PROGRAM_ARGS=1, where the command-line path used to hijack it.
Thanks to @MuntasirSZN for #7.
Full Changelog: v0.4.0...v0.5.0