cwal.nvim is a dynamic Neovim colorscheme that reads your generated cwal palette and applies it across core UI, syntax, Treesitter, diagnostics, completion popups, Bufferline, and Lualine.
For now, only dark mode is supported.
cwal colors from colors-nvim.luacwal.ini changesDiagnostic* + legacy LspDiagnostics* links)Pmenu*, Cmp*, BlinkCmp*)BufferLine*)theme = "cwal")cwalcwal setup that generates:~/.config/cwal/cwal.inicolors-nvim.lua inside your configured out_dirInstall from the AUR:
paru -S cwal-git
or
yay -S cwal-git
cwal.nvim reads out_dir from your cwal.ini, then loads:
<out_dir>/colors-nvim.lua
{
"nitinbhat972/cwal.nvim",
priority = 1000,
config = function()
vim.cmd.colorscheme("cwal")
end,
}
vim.pack.add({
{ src = "https://github.com/nitinbhat972/cwal.nvim" },
})
vim.cmd.colorscheme("cwal")
Set the colorscheme:
:colorscheme cwal
or in Lua:
vim.cmd.colorscheme("cwal")
require("lualine").setup({
options = {
theme = "cwal",
},
})
The colorscheme defines most highlight groups, ensuring compatibility with the majority of plugins.
Note: Bufferline highlight groups are not refreshed automatically on colorscheme change and may require a Neovim restart.
cwal.nvim watches:
~/.config/cwal/cwal.ini
On change, it:
colors-nvim.lua"cwal")CwalReload User eventYou can hook into the reload process using the CwalReload User event. This is useful for refreshing other plugins or custom highlights that depend on the palette.
vim.api.nvim_create_autocmd("User", {
pattern = "CwalReload",
callback = function()
-- Your custom logic here, e.g., refreshing a custom statusline or plugin
print("Cwal colors have been reloaded!")
end,
})
Color file not found: .../colors-nvim.luaout_dir in your cwal.ini<out_dir>/colors-nvim.lua existscwal colors and Neovim follows.Licensed under GNU GPL v3.0 — always free and open-source.
Star the project on GitHub if you find it useful!