
gruvbox.nvim
A port of [gruvbox community](https://github.com/gruvbox-community/gruvbox) theme to lua with [treesitter](https://github.com/nvim-treesitter/nvim-treesitter) support!
# Prerequisites
Neovim 0.7.0+
# Installing
Using `packer`
```lua
use { "ellisonleao/gruvbox.nvim" }
```
# Basic Usage
Inside `init.vim`
```vim
set background=dark " or light if you want light mode
colorscheme gruvbox
```
Inside `init.lua`
```lua
vim.o.background = "dark" -- or "light" for light mode
vim.cmd([[colorscheme gruvbox]])
```
# Configuration
Additional settings for gruvbox are:
```lua
-- setup must be called before loading the colorscheme
-- Default options:
require("gruvbox").setup({
undercurl = true,
underline = true,
bold = true,
italic = 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 gruvbox")
```
## Overriding
### Pallette
You can specify your own palette colors. For example:
```lua
require("gruvbox").setup({
palette_overrides = {
bright_green = "#990000",
}
})
vim.cmd("colorscheme gruvbox")
```
More colors in the [palette.lua](lua/gruvbox/palette.lua) file
### 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:
```lua
require("gruvbox").setup({
overrides = {
SignColumn = {bg = "#ff9900"}
}
})
vim.cmd("colorscheme gruvbox")
```
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 `:h synIDattr`