Code Monkey home page Code Monkey logo

gruvbox-flat.nvim's Introduction

Gruvbox Flat

A dark beautiful Neovim theme written in Lua. [Coming soon] extra themes for Kitty and Alacritty

rust code

pallet

✨ Features

  • supports the latest Neovim 0.5 features like TreeSitter and LSP
  • minimal inactive statusline (currently bugged)
  • vim terminal colors
  • darker background for sidebar-like windows
  • lualine theme

Plugin Support

⚡️ Requirements

  • Neovim >= 0.5.0

📦 Installation

Install the theme with your preferred package manager:

vim-plug

Plug 'eddyekofo94/gruvbox-flat.nvim'

packer

use 'eddyekofo94/gruvbox-flat.nvim'

🚀 Usage

Enable the colorscheme:

" Vim Script
colorscheme gruvbox-flat
-- Lua
vim.cmd[[colorscheme gruvbox-flat]]

To enable the gruvbox theme for Lualine, simply specify it in your lualine settings:

require('lualine').setup {
  options = {
    theme = 'gruvbox-flat'
    -- ... your lualine config
  }
}

To enable the gruvbox-flat colorscheme for Lightline:

" Vim Script
let g:lightline = {'colorscheme': 'gruvbox-flat'}

To enable darker mode

vim.g.gruvbox_flat_style = "dark"

rust code

To enable harder mode

vim.g.gruvbox_flat_style = "hard"

harder

⚙️ Configuration

❗️ configuration needs to be set BEFORE loading the color scheme with colorscheme gruvbox-flat

Option Default Description
gruvbox_terminal_colors true Configure the colors used when opening a :terminal in Neovim
gruvbox_italic_comments true Make comments italic
gruvbox_italic_keywords true Make keywords italic
gruvbox_italic_functions false Make functions italic
gruvbox_italic_variables false Make variables and identifiers italic
gruvbox_transparent false Enable this to disable setting the background color
gruvbox_hide_inactive_statusline false Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard StatusLine and LuaLine.
gruvbox_sidebars {} Set a darker background on sidebar-like windows. For example: ["qf", "vista_kind", "terminal", "packer"]
gruvbox_dark_sidebar true Sidebar like windows like NvimTree get a darker background
gruvbox_dark_float true Float windows like the lsp diagnostics windows get a darker background.
gruvbox_colors {} You can override specific color groups to use other groups or a hex color
gruvbox_theme {} You can override specific highlight groups to use other color groups or a hex color
-- Example config in Lua
vim.g.gruvbox_italic_functions = true
vim.g.gruvbox_sidebars = { "qf", "vista_kind", "terminal", "packer" }

-- Change the "hint" color to the "orange" color, and make the "error" color bright red
vim.g.gruvbox_colors = { hint = "orange", error = "#ff0000" }

-- Change the TabLineSel highlight group (used by barbar.nvim) to the "orange" color
vim.g.gruvbox_theme = { TabLineSel = { bg = "orange" } }

-- Load the colorscheme
vim.cmd[[colorscheme gruvbox-flat]]
" Example config in VimScript
let g:gruvbox_italic_functions = 1
let g:gruvbox_sidebars = [ "qf", "vista_kind", "terminal", "packer" ]

" Load the colorscheme
colorscheme gruvbox-flat

Making undercurls work properly in Tmux

To have undercurls show up and in color, add the following to your Tmux config file:

# Undercurl
set -g default-terminal "${TERM}"
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'  # undercurl support
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'  # underscore colours - needs tmux-3.0

🍭 Extras

Extra color configs for Kitty, and Alacritty can be found in extras. To use them, refer to their respective documentation.

  • To generate the configs :luafile /lua/gruvbox/extra/init.lua

Alacritty terminal

✅ TODO

  • Generate theme for Kitty
  • Generate theme for Alacritty
  • Add light theme (hopefully one of these days)
  • Add hard/darker theme (still has some more improvements to go)

gruvbox-flat.nvim's People

Contributors

eddyekofo94 avatar mattkubej avatar guilhermeprokisch avatar smiteshp avatar gregorias avatar sleepytraveler avatar vascomfnunes 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.