My variation of the gruvbox theme with full support for treesitter!
I wasn't comfortable with the gruvbox themes out there, either they didn't have good treesitter support or if they do, I didn't like their colors on python and javascript/typescript files.
Font: Jetbrains Mono patched with nerd fonts
Terminal: wezterm https://github.com/wez/wezterm
inspired by https://github.com/NvChad/NvChad (You have to enable it via config variable)
Plug 'luisiacc/gruvbox-baby', {'branch': 'main'}
...
colorscheme gruvbox-baby
❗️ configuration needs to be set BEFORE loading the color scheme with
colorscheme gruvbox-baby
Option | Default | Available options |
---|---|---|
background_color | medium |
medium , dark |
transparent_mode | false |
false , true - sets background colors to None |
comment_style | italic |
see :h attr-list |
keyword_style | italic |
see :h attr-list |
string_style | nocombine |
see :h attr-list |
function_style | bold |
see :h attr-list |
variable_style | NONE |
see :h attr-list |
highlights | {} |
override highlights with your custom highlights |
color_overrides | {} |
override color palette with your custom colors |
use_original_palette | false |
use the original gruvbox palette |
-- Example config in Lua
vim.g.gruvbox_baby_function_style = "NONE"
vim.g.gruvbox_baby_keyword_style = "italic"
-- Each highlight group must follow the structure:
-- ColorGroup = {fg = "foreground color", bg = "background_color", style = "some_style(:h attr-list)"}
-- See also :h highlight-guifg
-- Example:
vim.g.gruvbox_baby_highlights = {Normal = {fg = "#123123", bg = "NONE", style="underline"}}
-- Enable telescope theme
vim.g.gruvbox_baby_telescope_theme = 1
-- Enable transparent mode
vim.g.gruvbox_baby_transparent_mode = 1
-- Load the colorscheme
vim.cmd[[colorscheme gruvbox-baby]]
If you enable the telescope theme, I recommend using it with this borderchars config:
telescope.setup({
defaults = {
...
borderchars = {
prompt = { "─", " ", " ", " ", "─", "─", " ", " " },
results = { " " },
preview = { " " },
},
}
})
" Example config in VimScript
let g:gruvbox_baby_function_style = "NONE"
let g:gruvbox_baby_keyword_style = "italic"
" Enable telescope theme
let g:gruvbox_baby_telescope_theme = 1
" Enable transparent mode
let g:gruvbox_baby_transparent_mode = 1
" Load the colorscheme
colorscheme gruvbox-baby
If you want access to the palette you have to do this:
local colors = require("gruvbox-baby.colors").config()
vim.g.gruvbox_baby_highlights = {Normal = {fg = colors.orange}}
To enable gruvbox-baby
theme for Lualine
, simply specify it in your lualine settings:
require('lualine').setup {
options = {
-- ... your lualine config,
theme = "gruvbox-baby",
-- ... your lualine config,
}
}
Color | Code | Name |
---|---|---|
#ebdbb2 | foreground | |
#dedede | gray | |
#504945 | medium_gray | |
#665c54 | comment | |
#e7d7ad | milk | |
#cc241d | error_red | |
#fb4934 | red | |
#d65d0e | orange | |
#fabd2f | bright_yellow | |
#eebd35 | soft_yellow | |
#d4879c | pink | |
#b16286 | magenta | |
#98971a | soft_green | |
#689d6a | forest_green | |
#8ec07c | clean_green | |
#458588 | blue_gray | |
#83a598 | dark_gray | |
#7fa2ac | light_blue |
Color | Code | Name |
---|---|---|
#0d0e0f | dark0 | |
#202020 | dark | |
#242424 | background_dark | |
#282828 | background | |
#32302f | background_light |
Color | Code | Name |
---|---|---|
#0d0e0f | dark0 | |
#0d0e0f | dark | |
#171a1a | background_dark | |
#1d2021 | background | |
#32302f | background_light |
Color | Code | Name |
---|---|---|
#0d0e0f | dark0 | |
#202020 | dark | |
#282626 | background_dark | |
#32302f | background | |
#3c3a39 | background_light |
Color | Code | Name |
---|---|---|
#0d0e0f | dark0 | |
#202020 | dark | |
#32302f | background_dark | |
#32302f | background | |
#3c3a39 | background_light |
To add the gruvbox-baby themes to Windows Terminal run,
extras/windows_terminal/add_themes_to_windows_terminal.py $PATH_TO_WINDOWS_TERMINAL_SETTINGS_JSON
# Windows Terminal settings.json can be found at
# %LOCALAPPDATA%/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/settings.json
To use the fzf theme append the variable/string to your FZF_DEFAULT_OPTS variable
export FZF_DEFAULT_OPTS="${FZF_DEFAULT_OPTS} ${FZF_THEME}"
#To use the fzf theme the environment variables used have to be defined.
#You can use the tmux or bash file to export them to your environment
The Matrix - https://github.com/luisiacc/the-matrix.nvim