maxmx03.solarized.nvim/lua/solarized/init.lua
Max Miliano 3ae785b553 fix: prevent error when user pass a nil value to setup
added more tests and makefile
2024-09-19 10:39:43 -03:00

54 lines
1.4 KiB
Lua

---@class solarized
---@field config? solarized.config
---@field setup? fun(config: solarized.config)
---@field load? fun()
---@type solarized
local M = {}
M.config = require 'solarized.config'
M.setup = function(config)
M.config = vim.tbl_deep_extend('force', M.config, config or {})
if M.config.styles.enabled == false then
M.config.styles = {
types = { italic = false, bold = false },
functions = { italic = false, bold = false },
parameters = { italic = false, bold = false },
comments = { italic = false, bold = false },
strings = { italic = false, bold = false },
keywords = { italic = false, bold = false },
variables = { italic = false, bold = false },
constants = { italic = false, bold = false },
}
end
end
M.load = function()
if vim.g.colors_name then
vim.cmd 'hi clear'
end
if vim.fn.exists 'syntax_on' then
vim.cmd 'syntax reset'
end
vim.g.colors_name = 'solarized'
local highlights = {}
local colors = {}
if vim.o.background == 'dark' then
highlights = require 'solarized.highlights'
local palette = require 'solarized.palette'
colors = palette[M.config.palette]
else
highlights = require 'solarized.highlights.solarized-light'
local palette = require 'solarized.palette.solarized-light'
colors = palette[M.config.palette]
end
highlights.set_highlight(colors, M.config)
end
return M