Skip to content

Selected match in HTML tag is indistinguishable from non-selected matches in dark terminals #21406

Description

@acorn931

Steps to reproduce

For this reproduction, I'm using the MDN's basic HTML template.

  1. Ensure the terminal emulator is in dark style/mode
    For GNOME Console and Ptyxis, this can be done from the main menu (F10). Ptyxis users should also set the GNOME colour palette in preferences (Ctrl+,), under the 'Appearance' tab.
    For Konsole, ensure your profile's colour scheme is 'Breeze', which is the default for the 'Built-in' profile.
  2. Edit the HTML file with Vim using vim --clean index.html
  3. Enable hlsearch with :set hlsearch
  4. Perform a search for /meta without pressing <Enter>
  5. Cycle between the results with CTRL-G/CTRL-T

All matches are visually indistinguishable (black text with yellow highlight), making it impossible to tell which is selected without further configuration.

This is not an issue in light style/mode.

Expected behaviour

When the terminal emulators (Ptyxis, GNOME Console, and Konsole) are in light style/mode, Vim colours the meta text a darker shade of yellow. This distinction is important since the selected match is highlighted by reversing the text and background colour, while the non-selected matches simply use a light shade of yellow.

This means the match highlighting behaviour differs between light/dark terminal emulators:

  • In light style/mode: the selected match is a dark shade of yellow, the non-selected matches are a light shade of yellow.
Image
  • In dark style/mode: all matches (selected, non-selected) share the same light shade of yellow. They're visually indistinguishable.
Image

I'd expect the difference to be equally obvious when the terminal emulator is in dark style/mode.

I should note that setting termguicolors does make the selected match distinguishable in dark style/mode, as its background now adopts a slightly darker shade of yellow then the non-selected matches. Though it's certainly not a fix, since it remains difficult to discern the difference.

Version of Vim

9.2.1119

Environment

Operating system: Fedora Linux 43 (Workstation Edition)
Terminal: Ptyxis 49.3 (Fedora Workstation default, primary), GNOME Console 49.2, Konsole 26.08.0
Value of $TERM: xterm-256color
Shell: fish, version 4.2.0

Thank you for this wonderful software.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions