Skip to content

WTFox/jellybeans.nvim

Repository files navigation

🟣 Jellybeans.nvim

A port of the jellybeans colorscheme for Neovim, written in Lua.

jellybeans jellybeans

✨ Features

📦 Installation

Using lazy.nvim:

{
    "wtfox/jellybeans.nvim",
    priority = 1000,
    config = function()
        require("jellybeans").setup()
        vim.cmd.colorscheme("jellybeans")
    end,
}

🛠️ Configuration

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,
})

Lualine

The theme includes a Lualine theme. To enable it:

require('lualine').setup {
    options = {
        theme = 'jellybeans'
    }
}

🔌 Extras Support

  • FZF
  • Ghostty
  • Wezterm
  • Windows Terminal
  • Yazi
  • and more...

💕 Inspirations

🌟 Star History

Star History Chart