feat(functions): derive the shared help palette from the fish theme
__fish_palette's c_cmd/c_flag/c_arg/c_dim now read fish's own highlighter variables (fish_color_command/option/param/autosuggestion) when set, and c_head reads the pager's fish_pager_color_prefix, so --help text matches whatever the user's actual theme renders at the prompt instead of a fixed guess at it. Each role keeps its previous static value as a fallback (e.g. a --no-config script, or the theme variable being unset or empty). Routes __fish_help_header's title/section colors and config-help's, gi's, and git-clean's own hand-rolled --help blocks through the palette instead of their hardcoded set_color calls, which fixes the --help-vs-actual-prompt color mismatch across most of the config's functions in one place (__fish_help_header backs the majority of user-facing --help output). Also fixes role mismatches found along the way: several already-palette functions (dockup, fish-deps, pkg, play-media, dng2avif) were coloring their <placeholder>/[bracket] argument text with c_dim instead of c_arg, and scrub's "Aggressive Targets:" heading was still a hardcoded set_color call sitting next to an otherwise-converted help block.
This commit is contained in:
@@ -45,9 +45,10 @@ function __fish_help_header --argument-names name
|
||||
# First argument only -- see DESCRIPTION.
|
||||
contains -- "$argv[2]" -h --help; or return 1
|
||||
|
||||
set -l c_ttl (set_color --bold)
|
||||
set -l c_sec (set_color --bold brblue)
|
||||
set -l c_rst (set_color normal)
|
||||
__fish_palette
|
||||
set -l c_ttl $c_cmd
|
||||
set -l c_sec $c_head
|
||||
set -l c_rst $c_reset
|
||||
set -l miss " No documentation header found. Try: help config $name"
|
||||
|
||||
set -l file (functions -D -- $name 2>/dev/null)
|
||||
|
||||
Reference in New Issue
Block a user