dotfiles/.config/matugen/templates/neovim/template.lua
2026-04-12 11:58:16 +02:00

64 lines
2 KiB
Lua

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