A port of the jellybeans colorscheme for Neovim, written in Lua.
- Written in Lua
- Highly configurable
- Treesitter support
- LSP support
- Support for popular plugins
Using lazy.nvim:
{
"wtfox/jellybeans.nvim",
priority = 1000,
config = function()
require("jellybeans").setup()
vim.cmd.colorscheme("jellybeans")
end,
}
Jellybeans ships with the following defaults
{
style = "dark", -- "dark" or "light"
transparent = false,
italics = true,
plugins = {
all = false,
auto = true, -- will read lazy.nvim and apply the colors for plugins that are installed
},
on_highlights = function(highlights, colors)
end,
on_colors = function(colors)
end,
}
You can easily override the color palette. For example, here's how to change the background color:
opts = {
on_colors = function(c)
local light_bg = "#ffffff"
local dark_bg = "#000000"
c.background = vim.o.background == "light" and light_bg or dark_bg
end,
}
If you want more control over highlight groups, that is also possible:
opts = {
on_highlights = function(hl, c)
hl.Constant = { fg = "#00ff00", bold = true }
end,
},
Borderless Telescope
require("jellybeans").setup({
on_highlights = function(hl, c)
local prompt = c.grey_one
hl.TelescopeNormal = {
bg = c.background,
fg = c.grey_two,
}
hl.TelescopeBorder = {
bg = c.background,
fg = c.background,
}
hl.TelescopePromptNormal = {
bg = prompt,
}
hl.TelescopePromptBorder = {
bg = prompt,
fg = prompt,
}
hl.TelescopePromptPrefix = {
bg = prompt,
}
hl.TelescopePromptCounter = {
bg = prompt,
}
hl.TelescopePreviewBorder = {
bg = c.background,
fg = c.background,
}
hl.TelescopeResultsBorder = {
bg = c.background,
fg = c.background,
}
hl.TelescopePromptTitle = {
bg = c.biloba_flower,
fg = prompt,
}
hl.TelescopePreviewTitle = {
bg = c.wewak,
fg = prompt,
}
hl.TelescopeResultsTitle = {
bg = c.koromiko,
fg = prompt,
}
end,
})
The theme includes a Lualine theme. To enable it:
require('lualine').setup {
options = {
theme = 'jellybeans'
}
}
- FZF
- Ghostty
- Wezterm
- Windows Terminal
- Yazi
- and more...