gruvbox.lua

~/.config/nvim/lua/plugins/gruvbox.lua
return {
  "sainnhe/gruvbox-material",
  config = function()
    vim.g.gruvbox_material_transparent_background = 1
    vim.api.nvim_create_autocmd('ColorScheme', {
      group = vim.api.nvim_create_augroup('custom_highlights_gruvboxmaterial', {}),
      pattern = 'gruvbox-material',
      callback = function()
        local config = vim.fn['gruvbox_material#get_configuration']()
        local palette = vim.fn['gruvbox_material#get_palette'](config.background, config.foreground,
          config.colors_override)
        local set_hl = vim.fn['gruvbox_material#highlight']

        -- set_hl('Search', palette.none, palette.bg_visual_yellow)
        -- set_hl('IncSearch', palette.none, palette.bg_visual_red)
        --       " Define a highlight group.
        -- " The first parameter is the name of a highlight group,
        -- " the second parameter is the foreground color,
        -- " the third parameter is the background color,
        -- " the fourth parameter is for UI highlighting which is optional,
        -- " and the last parameter is for `guisp` which is also optional.
        -- " See `autoload/gruvbox_material.vim` for the format of `l:palette`.
        -- call gruvbox_material#highlight('groupE', l:palette.red, l:palette.none, 'undercurl', l:palette.red)

        -- local config = vim.fn['gruvbox_material#get_configuration']()
        -- local palette = vim.fn['gruvbox_material#get_palette'](config.background, config.foreground,
        --   config.colors_override)
        -- P(palette)
        -- palette:
        -- {
        --   aqua = { "#89b482", "108" },
        --   bg0 = { "#282828", "235" },
        --   bg1 = { "#32302f", "236" },
        --   bg2 = { "#32302f", "236" },
        --   bg3 = { "#45403d", "237" },
        --   bg4 = { "#45403d", "237" },
        --   bg5 = { "#5a524c", "239" },
        --   bg_current_word = { "#3c3836", "237" },
        --   bg_diff_blue = { "#0e363e", "17" },
        --   bg_diff_green = { "#34381b", "22" },
        --   bg_diff_red = { "#402120", "52" },
        --   bg_dim = { "#1b1b1b", "233" },
        --   bg_green = { "#a9b665", "142" },
        --   bg_red = { "#ea6962", "167" },
        --   bg_statusline1 = { "#32302f", "236" },
        --   bg_statusline2 = { "#3a3735", "236" },
        --   bg_statusline3 = { "#504945", "240" },
        --   bg_visual_blue = { "#374141", "17" },
        --   bg_visual_green = { "#3b4439", "22" },
        --   bg_visual_red = { "#4c3432", "52" },
        --   bg_visual_yellow = { "#4f422e", "94" },
        --   bg_yellow = { "#d8a657", "214" },
        --   blue = { "#7daea3", "109" },
        --   fg0 = { "#d4be98", "223" },
        --   fg1 = { "#ddc7a1", "223" },
        --   green = { "#a9b665", "142" },
        --   grey0 = { "#7c6f64", "243" },
        --   grey1 = { "#928374", "245" },
        --   grey2 = { "#a89984", "246" },
        --   none = { "NONE", "NONE" },
        --   orange = { "#e78a4e", "208" },
        --   purple = { "#d3869b", "175" },
        --   red = { "#ea6962", "167" },
        --   yellow = { "#d8a657", "214" }
        -- }

        set_hl('NormalFloat', palette.fg1, palette.none)
        set_hl('FloatBorder', palette.grey0, palette.none)
        set_hl('Pmenu', palette.fg1, palette.none)
        set_hl('PmenuSel', palette.none, palette.bg1)
        -- set_hl('PmenuExtra', palette.grey2, { nil, "259" })
        -- set_hl('PmenuExtraSel', palette.none, { nil, "259" })
        set_hl('PmenuExtra', palette.grey2, palette.none)
        set_hl('PmenuExtraSel', palette.grey2, palette.none)
      end
    })
    vim.cmd("colorscheme gruvbox-material")
  end
}

Comments