A dark Neovim theme written in Lua, inspired by the pastel palette mellow.nvim that I used for a long time.
Install the theme using your preferred package manager, e.g. lazy:
{
"killitar/obscure.nvim",
lazy = false,
priority = 1000,
opts = {}
}
colorscheme obscure
vim.cmd[[colorscheme obscure]]
[!IMPORTANT] Set the configuration BEFORE loading the color scheme with
colorscheme obscure
.
{
transparent = false,
terminal_colors = true,
dim_inactive = true,
styles = {
keywords = { italic = true },
identifiers = {},
functions = {},
variables = {},
booleans = {},
comments = { italic = true },
},
--- You can override specific highlights to use other groups or a hex color
--- function will be called with a Highlights and ColorScheme table
on_highlights = function(highlights, colors) end,
plugins = {
-- enable all plugins when not using lazy.nvim
-- set to false to manually enable/disable plugins
all = package.loaded.lazy == nil,
-- uses your plugin manager to automatically enable needed plugins
-- currently only lazy.nvim is supported
auto = true,
-- add any plugins here that you want to enable
-- for all possible plugins, see:
-- * https://github.com/killitar/obscure.nvim/tree/main/lua/obscure/groups
-- flash = true,
},
}
To configure a setting, you should pass that setting with the changed value following the structure of the default configuration.
require("obscure").setup({
styles = {
booleans = { italic = true, bold = true },
},
on_highlights = function(hl,c)
hl.Comment = { fg = "#ffffff" }
-- Or
hl.Comment = { fg = c.orange }
end
})
You can easily use the color palette for other plugins inside your Neovim configuration:
local colors = require("obscure.palettes").get_palette("obscure") -- pass in any of the config options as explained above
plugin.bg = colors.yellow