• Stars
    star
    384
  • Rank 111,177 (Top 3 %)
  • Language
    Lua
  • License
    MIT License
  • Created almost 3 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Gruvbox theme for neovim with full πŸŽ„TreeSitter support.

logo

πŸŽ„ Gruvbox baby!

My variation of the gruvbox theme with full support for treesitter!

πŸ€” Why?

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.

πŸ“Έ Pretty pictures

Font: Jetbrains Mono patched with nerd fonts

Terminal: wezterm https://github.com/wez/wezterm

πŸŒ™ Lua

lua-example

🐍 Python

python-example

βš›οΈ React with typescript

react-typescript-example

πŸ” Telescope

inspired by https://github.com/NvChad/NvChad (You have to enable it via config variable) telescope-theme

βš™οΈ Installation

Plug 'luisiacc/gruvbox-baby', {'branch': 'main'}
...
colorscheme gruvbox-baby

πŸͺ› Configuration

❗️ 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}}

πŸ”Œ Plugin support

enable Lualine

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

🌈 Palette

gruvbox-baby medium gruvbox-baby intensities

πŸ“‹ Colors

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

πŸ‘Ά Medium Intensity

gruvbox-baby medium

Color Code Name
#0d0e0f dark0
#202020 dark
#242424 background_dark
#282828 background
#32302f background_light

🎱 Dark Intensity

gruvbox-baby dark

Color Code Name
#0d0e0f dark0
#0d0e0f dark
#171a1a background_dark
#1d2021 background
#32302f background_light

🍦 Soft Intensity

gruvbox-baby soft

Color Code Name
#0d0e0f dark0
#202020 dark
#282626 background_dark
#32302f background
#3c3a39 background_light

πŸ₯Ώ Soft Flat Intensity

gruvbox-baby soft flat

Color Code Name
#0d0e0f dark0
#202020 dark
#32302f background_dark
#32302f background
#3c3a39 background_light

πŸ‘½ Extras

add to Windows Terminal

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

use with fzf

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

πŸ‘† Acknowledgments

Other themes I've made

The Matrix - https://github.com/luisiacc/the-matrix.nvim