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.)

  • metiulekm@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    6
    ·
    6 months ago

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

    • bisby@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      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)
    • 𝘋𝘪𝘳𝘬@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      6 months ago

      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.

      • sudo
        link
        fedilink
        arrow-up
        2
        ·
        6 months ago

        Its something like vim.nvim_api_set_hl

      • metiulekm@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        ·
        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", {}).