-- Generated by Matugen require('base16-colorscheme').setup({ base00 = "{{colors.background.default.hex}}", base01 = "{{colors.surface_container_lowest.default.hex}}", base02 = "{{colors.surface_container_low.default.hex}}", base03 = "{{colors.outline_variant.default.hex}}", base04 = "{{colors.on_surface_variant.default.hex}}", base05 = "{{colors.on_surface.default.hex}}", base06 = "{{colors.inverse_on_surface.default.hex}}", base07 = "{{colors.surface_bright.default.hex}}", base08 = "{{colors.tertiary.default.hex | lighten: -5}}", base09 = "{{colors.tertiary.default.hex}}", base0A = "{{colors.secondary.default.hex}}", base0B = "{{colors.primary.default.hex}}", base0C = "{{colors.tertiary_container.default.hex}}", base0D = "{{colors.primary_container.default.hex}}", base0E = "{{colors.secondary_container.default.hex}}", base0F = "{{colors.secondary.default.hex | lighten: -10}}", }) -- We first theme base16, but we also need to fix some other colors that don't -- contrast well by default -- Helper function to set multiple highlight groups at once local function set_hl_mutliple(groups, value) for _, v in pairs(groups) do vim.api.nvim_set_hl(0, v, value) end end -- Make selected text stand out more vim.api.nvim_set_hl(0, 'Visual', { bg = '{{colors.primary_container.default.hex}}', fg = '{{colors.on_primary_container.default.hex}}', -- normal text contrast }) -- Make "string" text contrast better set_hl_mutliple({ 'String', 'TSString' }, { fg = '{{colors.tertiary.default.hex | lighten: -15.0 }}', }) -- Grey out comments set_hl_mutliple({ 'TSComment', 'Comment' }, { fg = '{{colors.outline.default.hex}}', italic = true, }) -- Color in other highlight groups as you see fit! set_hl_mutliple({ 'TSMethod', 'Method' }, { fg = '{{colors.tertiary.default.hex}}', }) set_hl_mutliple({ 'TSFunction', 'Function' }, { fg = '{{colors.secondary.default.hex}}', }) set_hl_mutliple({ 'Keyword', 'TSKeyword', 'TSKeywordFunction', 'TSRepeat' }, { fg = '{{colors.inverse_primary.default.hex}}', })