this post was submitted on 24 May 2024
15 points (82.6% liked)

Neovim

2178 readers
2 users here now

founded 1 year ago
MODERATORS
 

Update: Based on the discussion here and in other places I added the following (well, technically I did something different in my colorscheme, but in the end it translates to that)

vim.api.nvim_set_hl(0, 'Normal', {})

This reverts the weird text and background colors to the previous behavior of ... not setting them.


With update 0.10 Neovim behavior changed regarding text color and background color.

I use a color theme that does not set those and previously this worked perfectly fine. Neovim simply used the font color defined in the terminal and had a transparent background.

Now the background is #14161b and the font color is #e0e2ea. Neither of the colors is configured ANYWHERE in my whole setup. Neither in the colorscheme, nor in my terminal configuration, nor in my Neovim configuration.

Is there a sane way to revert this to the old behavior? (i.e. use the font color configured in the terminal’s configuration and use transparent background.)

you are viewing a single comment's thread
view the rest of the comments
[–] metiulekm 6 points 6 months ago (2 children)

:highlight Normal guifg=0 guibg=0 worked for me, at least when run interactively in a nvim -u NORC session.

[–] [email protected] 3 points 6 months ago

From the neovim 0.10 changelog:

'termguicolors' is enabled by default when Nvim is able to determine that the host terminal emulator supports 24-bit color.

So for me, i previously had vim.cmd.hi 'Normal ctermbg=none' as the method for disabling the background. But now, nvim was deciding to use gui colors for the terminal, and I was only setting terminal background to none.

The options are:

  • vim.cmd.hi 'Normal ctermbg=none guibg=none' (also none out the gui bg)
  • vim.cmd.hi 'Normal bg=none' (flat unconditional bg none)
  • vim.opt.termguicolors = false (just disable the now enabled by default function to go back to terminal colors)
[–] [email protected] 1 points 6 months ago (2 children)

This looks fine when doing it manually, thanks. I wonder how to properly implementing this in my Lua-only setup without just wrapping it in vim.cmd.

[–] metiulekm 2 points 6 months ago

I looked at material.nvim randomly, and they use vim.api.nvim_set_hl to set their colors. It seems that the equivalent of the above command is :lua vim.api.nvim_set_hl(0, "Normal", {}).

[–] [email protected] 2 points 6 months ago

Its something like vim.nvim_api_set_hl