Closed tjgrhm closed 1 year ago
Good catch. I also noticed that on the Lazy screen.
Here is a reference to the commit which introduced the feature: 6510c08c90523c92a0e9aa1474621c9fb825a44f If I remember correctly, it was introduced for NvimTree: https://github.com/sainnhe/everforest/issues/111#issuecomment-1347735032.
We could probably re-visit this because
NvimTreeEndOfBuffer
highlight group.:hi! link EndOfBuffer NonText
(Neovim's default), everything seems to get displayed as expected.Before I push that change, here is a recap — with screenshots — of the way EndOfBuffer
looks with a few settings variations.
While some cases below work flawlessly with a cleared EndOfBuffer
background, others will have trade-off which users should be aware of.
show_eob
:true dim_inactive
:false✅ Everything looks as expected
_show_eob:true diminactive:false (current)
_show_eob:true diminactive:false (clear EndOfBuffer bg)
show_eob
:false dim_inactive
:false✅ Everything looks as expected
_show_eob:false diminactive:false (current)
_show_eob:false diminactive:false (clear EndOfBuffer bg)
show_eob
:true dim_inactive
:true✅⚠️ The current appearance seems broken, with an entirely dimmed eob. I am not the author of the dimming feature, but to me this doesn't seem intentional, and I believe that the suggested change actually fixes it.
_show_eob:true diminactive:true (current)
_show_eob:true diminactive:true (clear EndOfBuffer bg)
show_eob
:false dim_inactive
:true⚠️ Similarly to the above, the current appearance seems broken, with an entirely dimmed eob. In this case though, clearing the background color reveals the eob symbols in the current window, while keeping them hidden in inactive windows. I believe that this is an acceptable trade-off for having properly rendered floating windows everywhere. If need be, we can always revert the appearance (optimize for the active window instead) in a subsequent commit. (edit: addressed in 4eb1e19899e35544dea3e01092d51cfaf2334e3d)
_show_eob:false diminactive:true (current)
_show_eob:false diminactive:true (clear EndOfBuffer bg)
Note NvimTree's EndOfBuffer isn't affected by any of these:
I have done the following steps before reporting this issue:
Operating system/version
Arch
Terminal emulator/version
Kitty 0.28.1
$TERM environment variable
xterm-kitty
Tmux version
No response
Feature matrix
Minimal vimrc that can reproduce this bug.
Steps to reproduce this bug using minimal vimrc
neovim -u init.lua
.:Lazy
.Expected behavior
I would expect the background of a floating window to stay consistent after its buffer has ended, having the appearance of filling the entire space it was allocated. For instance, with the
habamax
theme:Actual behavior
Instead, with
everforest
the background only fills part of the floating window and the normal background is used after the floating window's buffer ends. This appears to be because theEndOfBuffer
highlight group has a background value set (whereashabamax
does not set this). Note that settingg:everforest_transparent_background=1
does resolve this, but also makes everything else transparent too.