Highlight full extent of hint matches, not just the prefix label

Add --hints-text-background-color option (default: auto) that can apply
a background color to the matched text after the hint label. This makes
it more clear exactly which text each hint covers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jack Duvall 2026-03-23 17:46:31 -04:00
parent 64567a539b
commit c48111d92c
2 changed files with 14 additions and 4 deletions

View file

@ -189,7 +189,7 @@ func main(_ *cli.Command, o *Options, args []string) (rc int, err error) {
fctx := style.Context{AllowEscapeCodes: true}
faint := fctx.SprintFunc("dim")
hint_style := fctx.SprintFunc(fmt.Sprintf("fg=%s bg=%s bold", o.HintsForegroundColor, o.HintsBackgroundColor))
text_style := fctx.SprintFunc(fmt.Sprintf("fg=%s bold", o.HintsTextColor))
text_style := fctx.SprintFunc(fmt.Sprintf("fg=%s bg=%s bold", o.HintsTextColor, o.HintsTextBackgroundColor))
highlight_mark := func(m *Mark, mark_text string) string {
hint := encode_hint(m.Index, alphabet)

View file

@ -234,9 +234,19 @@ def custom_marking() -> None:
--hints-text-color
default=auto
type=str
The foreground color for text pointed to by the hints. You can use color names or hex values. For the eight basic
named terminal colors you can also use the :code:`bright-` prefix to get the bright variant of the
color. The default is to pick a suitable color automatically.
The foreground color for text pointed to by the hints (excluding the hint label itself). You can use
color names or hex values. For the eight basic named terminal colors you can also use the
:code:`bright-` prefix to get the bright variant of the color. The default is to pick a suitable
color automatically.
--hints-text-background-color
default=auto
type=str
The background color for text pointed to by the hints (excluding the hint label itself). You can use
color names or hex values. For the eight basic named terminal colors you can also use the
:code:`bright-` prefix to get the bright variant of the color. The default is to pick a suitable
color automatically.
--customize-processing