-- 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}}", })