Code Monkey home page Code Monkey logo

gruvbox-baby's Introduction

logo

🎄 Gruvbox baby!

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

Why?

I wasn't confortable 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

Lua example lua-example

Python example python-example

React with typescript example react-typescript-example

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

Data from images:

Font: Jetbrains Mono patched with nerd fonts

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

⚙️ 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
function_style bold see :h attr-list
variable_style NONE see :h attr-list
hightlights {} override highlights with your custom colors
-- 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]]
" 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

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

☑️ TODO

  • Add specification for background intensity

Palette

gruvbox palette

dark = "#202020",
foreground = "#ebdbb2",
background = "#282828",
background_dark = "#242424",
bg_light = "#32302f",
medium_gray = "#504945",
comment = "#665c54",
gray = "#DEDEDE",
soft_yellow = "#EEBD35",
soft_green = "#98971a",
bright_yellow = "#fabd2f",
orange = "#d65d0e",
red = "#fb4934",
error_red = "#cc241d",
magenta = "#b16286",
pink = "#D4879C",
light_blue = "#7fa2ac",
dark_gray = "#83a598",
blue_gray = "#458588",
forest_green = "#689d6a",
clean_green = "#8ec07c",
milk = "#E7D7AD",

-- Dark theme changes colors to
["dark"] = {
      dark = "#161616",
      background = "#202020",
      background_dark = "#161616",
    },

Aknowledgments

gruvbox-baby's People

Contributors

luisiacc avatar crzdg avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.