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

42 lines
1.6 KiB
Lua

-- An example subset of your init.lua
local function source_matugen()
-- Update this with the location of your output file
local matugen_path = os.getenv("HOME") .. "/.config/nvim/matugen.lua" -- dofile doesn't expand $HOME or ~
local file, err = io.open(matugen_path, "r")
-- If the matugen file does not exist (yet or at all), we must initialize a color scheme ourselves
if err ~= nil then
-- Some placeholder theme, this will be overwritten once matugen kicks in
vim.cmd('colorscheme base16-catppuccin-mocha')
-- Optionally print something to the user
vim.print("A matugen style file was not found, but that's okay! The colorscheme will dynamically change if matugen runs!")
else
dofile(matugen_path)
io.close(file)
end
end
-- Main entrypoint on matugen reloads
local function auxiliary_function()
-- Load the matugen style file to get all the new colors
local matugen_path = os.getenv("HOME") .. "/.config/nvim/generated.lua"
source_matugen()
-- Because reloading base16 overwrites lualine configuration, just source lualine here
dofile(os.getenv("HOME") .. '/.config/nvim/config/plugins/lualine-nvim.lua') -- path of your lualine setup
-- Any other options you wish to set upon matugen reloads can also go here!
vim.api.nvim_set_hl(0, "Comment", { italic = true })
end
-- Register an autocmd to listen for matugen updates
vim.api.nvim_create_autocmd("Signal", {
pattern = "SIGUSR1",
callback = auxiliary_function,
})
-- Additionally call this function once on startup to query for matugen's theme
-- or set a default
auxiliary_function()