Skip to content

Espresso-, Kimbie-, Grivbox- inspired Neovim Colorscheme

License

Notifications You must be signed in to change notification settings

qaptoR-nvim/chocolatier.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Chocolatier.nvim

An espresso/kimbie inspired chocolatey theme written in lua with treesitter and semantic highlights support!

Adapted from ellisonleao/gruvbox.nvim theme.

./images/palette.png ./images/screenshot.png

Light and Dark modes are available now. Light mode is currently a straightforward inversion of dark mode colors.

Only alt_g is in use for now, the rest will be implemented over time where applicable.

All colors are subject to slight variation as this theme is still in development.

Prerequisites

Neovim 0.8.0+ (according to original gruvbox.nvim)

Recommend using Neovim 0.10.0+ (actually tested/used)

Installing

Using packer

use { "qaptoR-nvim/chocolatier.nvim" }

Using lazy.nvim

{ "qaptoR-nvim/chocolatier.nvim", priority = 1000 , config = true, opts = ...}

Using vim-plug

Plug 'qaptoR-nvim/chocolatier.nvim'

Basic Usage

Inside init.vim

set background=dark " or light if you want light mode
colorscheme chocolatier

Inside init.lua

vim.o.background = "dark" -- or "light" for light mode
vim.cmd([[colorscheme chocolatier]])

Configuration

Additional settings for chocolatier are:

-- Default options:
require("chocolatier").setup({
  terminal_colors = true, -- add neovim terminal colors
  undercurl = true,
  underline = true,
  bold = true,
  italic = {
    strings = true,
    emphasis = true,
    comments = true,
    operators = false,
    folds = true,
  },
  strikethrough = true,
  invert_selection = false,
  invert_signs = false,
  invert_tabline = false,
  invert_intend_guides = false,
  inverse = true, -- invert background for search, diffs, statuslines and errors
  contrast = "", -- can be "hard", "soft" or empty string
  palette_overrides = {},
  overrides = {},
  dim_inactive = false,
  transparent_mode = false,
})
vim.cmd("colorscheme chocolatier")

VERY IMPORTANT: Make sure to call setup() BEFORE calling the colorscheme command, to use your custom configs

Overriding

Palette

You can specify your own palette colors. For example:

require("chocolatier").setup({
    palette_overrides = {
        bright_green = "#990000",
    }
})
vim.cmd("colorscheme chocolatier")

Highlight groups

If you don’t enjoy the current color for a specific highlight group, now you can just override it in the setup. For example:

require("chocolatier").setup({
    overrides = {
        SignColumn = {bg = "#ff9900"}
    }
})
vim.cmd("colorscheme chocolatier")

It also works with treesitter groups and lsp semantic highlight tokens

require("chocolatier").setup({
    overrides = {
        ["@lsp.type.method"] = { bg = "#ff9900" },
        ["@comment.lua"] = { bg = "#000000" },
    }
})
vim.cmd("colorscheme chocolatier")

Please note that the override values must follow the attributes from the highlight group map, such as:

  • fg - foreground color
  • bg - background color
  • bold - true or false for bold font
  • italic - true or false for italic font

Other values can be seen in ~synIDattr~

About

Espresso-, Kimbie-, Grivbox- inspired Neovim Colorscheme

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published