solarized.nvim icon indicating copy to clipboard operation
solarized.nvim copied to clipboard

Lualine config does not use the custom colors set by 'on_colors'

Open skamsie opened this issue 1 year ago • 2 comments

Not sure if this is the intended behavior here, but I expected the colors set via on_colors option would override the corresponding color globally, however it's not applied for lualine. Please see the following example:

-- ~/.config/nvim/lua/plugins/solarized.lua
return {
  'maxmx03/solarized.nvim',
  enabled = true,
  lazy = false,
  priority = 1000,
  opts = {
    on_colors = function()
      -- setting to red just for exemplification purpose
      return { blue   = '#BD3613' }
    end,
  },

  config = function(_, opts)
    require('solarized').setup(opts)
    vim.cmd.colorscheme 'solarized'

    require('lualine').setup {
      options = {
        theme = require('lualine.themes.solarized')
      }
    }
  end
}

This change would replace everything that was normally blue originally with #BD3613 with the exception of the lualine which still shows the 'old blue' #268BD2

Screenshot 2024-10-07 at 18 39 14

skamsie avatar Oct 07 '24 16:10 skamsie

You can't use on_colors to override Lualine's colors. Click here to see an example of how to customize it.

maxmx03 avatar Oct 08 '24 22:10 maxmx03

@maxmx03 thanks but you are basically suggesting to start writing the whole lualine theme from scratch 😅. As far as I know if I change only one field, eg normal = { a = { fg = colors.base04, bg = colors.blue }, } then I have to update the others as well b = ..., c =... and for the other modes. I was hoping that I can only overwrite lualine_a_normal but it does not work

skamsie avatar Oct 09 '24 17:10 skamsie