mirror of
https://github.com/neovim/neovim.git
synced 2025-09-28 14:08:32 +00:00

Problem: completion items can now have dedicated highlighting (through `hl_group` and `kind_hlgroup` fields). Both of the fields combine their highlight attributes with the underlying `PmenuXxx` group. As default color scheme `Pmenu` and `PmenuSel` are intentionally almost inverted versions of one another, the added highlighting will be unreadable in one of them if done only through foreground (which is the most convenient way for users and being able to do so is arguably the biggest benefit of actually combining added highlighting). Solution: adjust `PmenuSel` to utilize `attr=reverse`. This works because `fg`/`bg` are first combined and only then reversed. This results in a colored background for items with `hl_group` and `kind_hlgroup` using text highlighting. This also results in the same background for regular selected item, while intentionally changing foreground from `Nvim{Light,Dark}Grey3` to (essentially) `Nvim{Light,Dark}Grey2`. This both provides better contrast ratio and does not need realigning of the whole block.