return { 'ellisonleao/gruvbox.nvim', priority = 1000, config = function() local links = { ['@lsp.type.namespace'] = '@namespace', ['@lsp.type.type'] = '@type', ['@lsp.type.class'] = '@type', ['@lsp.type.enum'] = '@type', ['@lsp.type.interface'] = '@type', ['@lsp.type.struct'] = '@structure', ['@lsp.type.parameter'] = '@parameter', ['@lsp.type.variable'] = '@variable', ['@lsp.type.property'] = '@property', ['@lsp.type.enumMember'] = '@constant', ['@lsp.type.function'] = '@function', ['@lsp.type.method'] = '@method', ['@lsp.type.macro'] = '@macro', ['@lsp.type.decorator'] = '@function', } local colors = require('gruvbox.palette').colors for newgroup, oldgroup in pairs(links) do vim.api.nvim_set_hl(0, newgroup, { link = oldgroup, default = true }) end vim.api.nvim_set_hl(0, '@lsp.type.parameter', { fg = colors.faded_purple }) vim.api.nvim_set_hl(0, '@lsp.mod.readonly', { bold = true }) require('gruvbox').setup({ undercurl = true, underline = true, bold = false, italic = { strings = true, comments = true, operators = false, folds = true, }, strikethrough = true, invert_selection = false, invert_signs = false, invert_tabline = false, invert_intend_guides = false, palette_overrides = {}, overrides = {}, dim_inactive = true, transparent_mode = false, }) vim.cmd('colorscheme gruvbox') end, enabled = true }