local M = {} function M.setup() require('base16-colorscheme').setup { -- Background tones base00 = '{{colors.surface.default.hex}}', -- Default Background base01 = '{{colors.surface_container.default.hex}}', -- Lighter Background (status bars) base02 = '{{colors.surface_container_high.default.hex}}', -- Selection Background base03 = '{{colors.outline.default.hex}}', -- Comments, Invisibles -- Foreground tones base04 = '{{colors.on_surface_variant.default.hex}}', -- Dark Foreground (status bars) base05 = '{{colors.on_surface.default.hex}}', -- Default Foreground base06 = '{{colors.on_surface.default.hex}}', -- Light Foreground base07 = '{{colors.on_background.default.hex}}', -- Lightest Foreground -- Accent colors base08 = '{{colors.error.default.hex}}', -- Variables, XML Tags, Errors base09 = '{{colors.tertiary.default.hex}}', -- Integers, Constants base0A = '{{colors.secondary.default.hex}}', -- Classes, Search Background base0B = '{{colors.primary.default.hex}}', -- Strings, Diff Inserted base0C = '{{colors.tertiary_fixed_dim.default.hex}}', -- Regex, Escape Chars base0D = '{{colors.primary_fixed_dim.default.hex}}', -- Functions, Methods base0E = '{{colors.secondary_fixed_dim.default.hex}}', -- Keywords, Storage base0F = '{{colors.error_container.default.hex}}', -- Deprecated, Embedded Tags } end -- Register a signal handler for SIGUSR1 (matugen updates) local signal = vim.uv.new_signal() signal:start( 'sigusr1', vim.schedule_wrap(function() package.loaded['matugen'] = nil require('matugen').setup() end) ) return M