Git Product home page Git Product logo

gruvbox's Introduction

gruvbox is heavily inspired by badwolf, jellybeans and solarized.

Designed as a bright theme with pastel 'retro groove' colors and light/dark mode switching in the way of solarized. The main focus when developing gruvbox is to keep colors easily distinguishable, contrast enough and still pleasant for the eyes.

This is a community fork of gruvbox, created to merge recent pull requests and fix recent issues.

If you would like to help gruvbox community edition, please consider becoming a maintainer. See this issue for more details.

Attention

  1. Read this first
  2. Typeface from gallery is Fantasque Sans Mono
  3. Typeface from screenshots below is Fira Mono

Screenshots

Refer Gallery for more syntax-specific screenshots.

Dark mode

Screenshot Dark

Light mode

Screenshot Light

Airline theme

Screenshot Airline

Palette

Dark mode

Palette Dark

Light mode

Palette Light

Contrast options

Refer wiki section for contrast configuration and other options.

Contrast Options

Documentation

Please check wiki for installation details, terminal-specific setup, troubleshooting, configuration options and others.

Features

Contributions

See gruvbox-contrib repo for contributions, ports and extras.

ToDo

  • Filetype syntax highlighting (R, TeX, Swift, Erlang)
  • Plugin support (Tagbar, VimPlug)

Self-Promotion

If you like gruvbox follow the repository on GitHub and vote for it on vim.org.

License

MIT/X11

gruvbox's People

Contributors

alvaromlgs avatar antoinemadec avatar cryptomilk avatar dijonkitchen avatar ellisonleao avatar eloytoro avatar ethe avatar francois-pasquier avatar ggcristo avatar gmoe avatar iryston avatar ixti avatar jonasmalacofilho avatar kharacternyk avatar kristijanhusak avatar kshenoy avatar magicmark avatar minijackson avatar morhetz avatar mvcouwen avatar nguyenvukhang avatar nickspoons avatar nkhlmn avatar phddoom avatar rbong avatar rouge8 avatar saccarosium avatar shuber2 avatar undu avatar yuezk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gruvbox's Issues

Question: Appropriate colors for doxygen comments in (e.g. C/C++) code

@morhetz have you ever used highlighting of doxygen-style comments with the gruvbox color theme?

let g:load_doxygen_syntax=1

When I just enable that option on a C-file using doxygen, the comment chars /**/ become orange, doxygen short comments are red, like keywords - what is really distracting
(i.e. starting @718)
vim-doxygen

using 'enhanced' colors is even worse, imho:

let g:doxygen_enhanced_color=0

vim-doxygen_enhanced

Is this intended, or would you mind to come up with a more natural approach for your extremely coherent colorscheme?
(sry for not fixing this myself, really have no spare time & am not into colorschemes at all)

🤖 This issue has been automatically copied from morhetz#77 🤖

Airline theme breaks with transparent vim windows.

I'm using Urxvt with real transparency and Compton as a compositor. In order to get a transparent background with nvim I set, :hi Normal ctermbg=none in init.vim.

This causes a bunch of red to take over in vim-airline, as it gets the colors from the theme after the previous change is made. Without changing my init.vim, if I create a new window and then pass the previous statement as a command, everything works fine, as vim-airline has already read the right colors.

Before.
2016-03-05-221500_931x43_scrot

After. (Statement in config.)
2016-03-05-221433_923x40_scrot

How it should look. (Statement passed as command in existing window.)
2016-03-05-221518_925x41_scrot

🤖 This issue has been automatically copied from morhetz#108 🤖

ALE not displaying errors when using gruvbox

Pretty much the title, when I switch to use gruvbox ALE warnings are not displayed.

image

Minimal configuration: https://paste.gnugen.ch/raw/4Aww

Steps to reproduce expected: Use the provided configuration as nvim configuration
Steps to reproduce actual behaviour: Uncomment lines 14, 17,18 in the provided configuration. This will enable gruvbox in dark mode

Expected behaviour: ALE should highlight errors in file
Actual behaviour: No errors are displayed in the file

🤖 This issue has been automatically copied from morhetz#266 🤖

Some lines's background is discolored

Mysterious bug, running colorscheme gruvbux seems to fix it for the part that is currently displayed, but when I scroll down and up again the discoloration shows up again.
2018-02-18-195906_1920x1080_scrot

🤖 This issue has been automatically copied from morhetz#228 🤖

Support changing background

I prefer my background to be #000000. You rejected #102 saying:

I would try to provide alternative solution to overload any gruvbox color

I would like this feature.

Using the workaround (mentioned in #74) "works" but is fragile; switching colorscheme or changing background causes the change to be lost:

colorscheme gruvbox
highlight Normal guibg=0 ctermbg=0

It would be nice to have "official" support for this.

🤖 This issue has been automatically copied from morhetz#135 🤖

vim_did_enter is not available in older versions

Error detected while processing /data/developer/.vim/plugged/gruvbox/colors/gruvbox.vim:
line  549:
E121: Undefined variable: v:vim_did_enter
E15: Invalid expression: v:vim_did_enter

This at version 7.4.1099, which is current default on Centos7

I believe vim_did_enter was introduced at 7.4.1658.

dark mode cursor not visible in OSX terminal

Hi,

On OSX I have put

colorscheme gruvbox
set background=dark

into the vimrc, however when using the terminal version of vim the cursor is set to a very dark colour so is not visible.

If I change to the light background I can see it as a very dark grey colour. My MacVim works fine however and in there the cursor seems to change to the colour of whatever it's currently over, or when it's not over text it's a light colour. In the terminal the cursor doesn't change colour.

Putting ':set termguicolors' in the vimrc does not help this as I saw suggested in another post.

Thanks,

Ian

🤖 This issue has been automatically copied from morhetz#274 🤖

Additional maintainers needed

If you have experience with gruvbox and/or with maintaining open source projects, especially with VimScript projects, you are welcome to become a maintainer of this project and part of the gruvbox-community organization.

Please post below or email me at [email protected] with your GitHub account name.

My intention is to avoid any single-maintainer issues with this project.

^ and _ highlighted as red

In my tex file ^ and _ are highlighted as red. Now I know tex isn't supported yet but I really like this color scheme so is there a way to work around that?

🤖 This issue has been automatically copied from morhetz#210 🤖

Regular status line looks a little off...

So, not using any form of juiced status line, looks a little off.

In the attached screenshot it looks like the colors are inverted. - The split on the right is the focused one, but judging by the status line, it looks to be the other way around (to my eyes, at least).

Not sure if this is a bug or intended. So far I've hacked a dirty fix but I know nothing about theming Vim, so I thought I'd drop you an issue.

EDIT: Comparing your screenshots to my own sorta makes me realize that there might be something fundamentally wrong with the colors on my machine, no? - I have added set termguicolors as per your instructions and are using Neovim/ConEmu, by the time the screenshot was taken, though.

gruvbox_weird_statusline

🤖 This issue has been automatically copied from morhetz#164 🤖

Highlight for spelling errors is switched?

Hi,

thanks for publishing gruvbox, I like it very much! However, there's one thing that bugs me: I often use the spell checking feature built into vim. Most colorschemes I used so far (including the default colorscheme) highlight bad words (wrong spelling) in red, and other things such as rare words or sentences starting with a lower case letter in blue. With the default colorscheme:

testtext -tmp - vim_013

With gruvbox (using g:gruvbox_guisp_fallback='bg' in the terminal), it's the other way around:

testtext -tmp - vim_012

Is that intentional? Would you be willing to accept a pull request that switches the bad/case colors?

Thanks!

🤖 This issue has been automatically copied from morhetz#175 🤖

Update screenshots

Airline screenshots need to be updated for #17.

If there's any new things that need to be captured please add them here. I cannot quite get airline fonts working properly, so if you can, please don't hesitate to submit a PR.

`vim-go` support

Can we add more syntax highlighters for go? I can do this myself but would need assistance as to where to start the implementation of this.

🤖 This issue has been automatically copied from morhetz#126 🤖

Not setting the background contrast mode as expected

At the end of my init.vim I have this line

let g:gruvbox_contrast_dark = 'hard'

as per the documentation on the wiki for setting the background contrast mode. However, when I load Neovim, the change is not applied; when I :so $MYVIMRC it applies the changes. Am I doing something wrong here?

example

🤖 This issue has been automatically copied from morhetz#258 🤖

Visual selection in diff mode almost invisible

When diff is on, the selection is almost invisible in changed lines.

Example of block selection. You can still guess where it is.

20180409_191443

And normal selection…

20180409_191452

Not only the change of color of the text is almost non-existent, but also whitespaces are not changed at all. A solid background color for the complete selection would be nice.

🤖 This issue has been automatically copied from morhetz#237 🤖

Fish integration

Not sure where to put this. I use this theme a lot and recently changed my shell to Fish (http://fishshell.com/).

Since gruvbox_256palette.sh is a bash script. You can still load it in Fish via:

# ~/.config/fish/config.fish
# Modify the terminal's 256 color palette to use the gruvbox theme
set -l GRUVBOX_SCRIPT ~/.vim/bundle/gruvbox/gruvbox_256palette.sh
if test -f $GRUVBOX_SCRIPT
  bash $GRUVBOX_SCRIPT
end

You end up with the right (non washed-up colors). Hope this helps someone.

🤖 This issue has been automatically copied from morhetz#76 🤖

Haskell highlighting is broken

I had to remove the overridings from gruvbox to get a decent syntax highlighting back. There’s some kind of regression. Is there a way to fix that?

🤖 This issue has been automatically copied from morhetz#190 🤖

Override specific colors

It would be great to be able to override any specific color. This way you could define your own red, orange, etc., if a certain color (or all colors) do not quite suit your taste.

🤖 This issue has been automatically copied from morhetz#208 🤖

C++ comment highlighting

C++ comments (lines starting with //) seem to be highlighted by default, rather than just colored. Is there a way to turn this off?

🤖 This issue has been automatically copied from morhetz#276 🤖

Unable to configure colors for vim-sneak plugin

Hello here!
As I can see gruvbox links Sneak and SneakLabel color groups to Search group internally. Thus I am not able to configure proper colors for vim-sneak in init.vim without changing Search color group.
Unfortunately, I failed in finding a way to overcome this. Could you please show me a way to fix this limitation.

Thank you for the gruvbox it is really great.

🤖 This issue has been automatically copied from morhetz#197 🤖

Scrolling breaks gruvbox

Hello

I have a bug with gruvbox when scrolling with my mouse in vim.

Below is the same file when I use first: my mouse scrolling and second: PageDown. Mouse scrolling fails to "trigger gruvbox" somehow but I can't be more precise since I'm newbie with vim programming.

Does anyone know how to fix this?

Thanks
Screenshot from 2019-03-20 10-00-25
Screenshot from 2019-03-20 10-03-25

🤖 This issue has been automatically copied from morhetz#267 🤖

Gruvbox is broken in neovim

When I open ~/.vimrc with Neovim
image
When I open ~/.vimrc with Vim
image
Gruvbox seems to be broken in neovim.
My config about scheme is as following:

set termguicolors
set background=dark                                                                                                                                              
let g:gruvbox_italic=1                                                                                                                                           
let g:gruvbox_contrast_dark='hard'                                                                                                                               
colorscheme gruvbox 

Can any one help on this?

🤖 This issue has been automatically copied from morhetz#280 🤖

Support for the fzf.vim

Example from fzf.vim documentation

" Customize fzf colors to match your color scheme
let g:fzf_colors =
\ { 'fg':      ['fg', 'Normal'],
  \ 'bg':      ['bg', 'Normal'],
  \ 'hl':      ['fg', 'Comment'],
  \ 'fg+':     ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
  \ 'bg+':     ['bg', 'CursorLine', 'CursorColumn'],
  \ 'hl+':     ['fg', 'Statement'],
  \ 'info':    ['fg', 'PreProc'],
  \ 'border':  ['fg', 'Ignore'],
  \ 'prompt':  ['fg', 'Conditional'],
  \ 'pointer': ['fg', 'Exception'],
  \ 'marker':  ['fg', 'Keyword'],
  \ 'spinner': ['fg', 'Label'],
  \ 'header':  ['fg', 'Comment'] }

🤖 This issue has been automatically copied from morhetz#207 🤖

Cannot see cursor in insert mode

Here is what the cursor looks like before insert mode:

screen shot 2018-08-31 at 3 22 42 pm

And here is what it looks like in insert mode:

screen shot 2018-08-31 at 3 22 59 pm

in the first image that block cursor changes colour depending on the text below, which I like. The insert cursor is very very thin, and doesn't change colour in the same way. How can I make the insert cursor visible?

🤖 This issue has been automatically copied from morhetz#253 🤖

chromatica.nvim support

I've recently discovered chromatica.nvim, a semantic highlighting plugin for Neovim for C-family languages. It would be great if gruvbox supported this plugin.

gruvbox-chromatica
About the screenshot: left and right is before and after :ChromaticaStart.

The plugin uses clang as a backend, and asynchronously provides syntax groups to extend highlighting. As you may notice, variables (linked to the Variable highlight group) are colored Grey, which is IMHO too close to the Comment highlight group. There's might be other elements you want to tweak, but I'll leave that up to you.

I don't know much about creating color schemes for vim, but if you have any other questions let me know.

🤖 This issue has been automatically copied from morhetz#148 🤖

GruvBox red is displaying kinda orange

image

Not sure why this is doing this. I am sourcing the script for colors as per documentation.

And I noticed this only happens in tmux. I'm using a MacBook Pro late 2013.

🤖 This issue has been automatically copied from morhetz#169 🤖

update release

Hello, could you please update the release? thanks! :)

🤖 This issue has been automatically copied from morhetz#162 🤖

Operator version

What do you think of adding an "Operator" version of gruvbox that italicizes things similarly to a few VSCode themes like Palenight or Night Owl for use with fonts like Operator Mono / Dank Mono?

🤖 This issue has been automatically copied from morhetz#281 🤖

Flag to Indicate Gruvbox Loaded

Hello, I have the problem that if I deploy my vimrc in a new environment, an error occurs if gruvbox is not installed since I use vim-plug to install it afterwards. So can it provide a flag that indicating if gruvbox is loaded, so that I can make it fall back to a builtin colorscheme.

Or, is there a workaround? Thanks.

🤖 This issue has been automatically copied from morhetz#256 🤖

gruvbox_256palette doesn't work on Windows Putty

operating system

Windows 10 Enterprise 1709 (OS Build 16299.248)

In SecureCRT it works perfectly fine.
image

I wonder what am i missing with Putty?
image

Palette scripts (nor default nither osx) makes NO affect!

xterm-256color is on
image

Could you please help me with this? Thank you.
vimrc.txt
zshrc.txt

🤖 This issue has been automatically copied from morhetz#229 🤖

Can't define color palette solely in Xresources with g:gruvbox_termcolors = 16

I would like to have Xresources as the single place to define my system-wide color palette and have Vim use that by setting let g:gruvbox_termcolors = 16. However:

  1. Currently I have to specify set background=dark or set background=light in my Vim configuration, depending on the Xresources color scheme. Otherwise, the cursor line has the opposite color.
  2. The Vim background color does not perfectly match the background color in Xresources, which is what I would assume when using let g:gruvbox_termcolors = 16.

So I can't just change the Xresources colors to change my color scheme, but also have to edit the Vim configuration. Is there a way around these two issues?

🤖 This issue has been automatically copied from morhetz#130 🤖

A suggestion for error foreground color

A small suggestion to change the error message foreground color from:

call s:HL('ErrorMsg',   s:vim_bg, s:red, s:bold)

to

call s:HL('ErrorMsg',   s:fg0, s:red, s:bold)

This is more readable due to better contrast.

🤖 This issue has been automatically copied from morhetz#138 🤖

Colors not vivid

I am facing an issue where the colors on my terminal, URxvt, are not the same as the ones shown in the gallery.

Uploading 2019-05-09-210928_1920x1080_scrot.png…

$ echo $TERM
rxvt-unicode-256color

I've tried the suggestions in terminal-specific, but none of them seem to work for me.
Although running the gruvbox_256palette.sh does seem to make a slight difference, it is till not the same as that shown in the gallery.

Relevant lines of vimrc

 set t_8f=^[[38;2;%lu;%lu;%lum        " set foreground color
 set t_8b=^[[48;2;%lu;%lu;%lum        " set background color
 colorscheme gruvbox
 set t_Co=256                         " Enable 256 colors
 set termguicolors                    " Enable GUI colors for the terminal to get truecolor

Edit: I tried using the suckless-terminal (fresh install) but the colors rendered is the same as that shown above.

🤖 This issue has been automatically copied from morhetz#279 🤖

NERDTree Colors

Any chance you have a block for the equivilent NERDTree colors? For example:

" NERDTree ---------------------------------------------------------------------
"nmap <C-\> :NERDTreeToggle<cr>
map <silent> <leader>d :execute 'NERDTreeToggle ' . getcwd()<CR>

autocmd StdinReadPre * let s:std_in=1
let NERDTreeShowHidden=1
let NERDTreeIgnore = ['\.DS_Store$']
let g:NERDTreeWinSize=45
let g:NERDTreeAutoDeleteBuffer=1
" NERDTress File highlighting
function! NERDTreeHighlightFile(extension, fg, bg, guifg, guibg)
exec 'autocmd FileType nerdtree highlight ' . a:extension .' ctermbg='. a:bg .' ctermfg='. a:fg .' guibg='. a:guibg .' guifg='. a:guifg
exec 'autocmd FileType nerdtree syn match ' . a:extension .' #^\s\+.*'. a:extension .'$#'
endfunction

call NERDTreeHighlightFile('jade', 'green', 'none', 'green', '#151515')
call NERDTreeHighlightFile('ini', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('md', 'blue', 'none', '#3366FF', '#151515')
call NERDTreeHighlightFile('yml', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('config', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('conf', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('json', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('html', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('styl', 'cyan', 'none', 'cyan', '#151515')
call NERDTreeHighlightFile('css', 'cyan', 'none', 'cyan', '#151515')
call NERDTreeHighlightFile('coffee', 'Red', 'none', 'red', '#151515')
call NERDTreeHighlightFile('js', 'Red', 'none', '#ffa500', '#151515')
call NERDTreeHighlightFile('php', 'Magenta', 'none', '#ff00ff', '#151515')

🤖 This issue has been automatically copied from morhetz#124 🤖

gruvbox golang

Hi,

Are you still supporting this theme ?

I just wanted to ask you if something has changed in gruvbox theme for golang support, looking at the gallery for golang see below.

my system.
screen shot 2018-10-03 at 12 45 20 am

this is image from gallery you have posted.

687474703a2f2f696d6775722e636f6d2f7535796e7264432e706e67

as you can see the imports are different color, just wondering is that normal, or are my colors screwed up.

Thanks

🤖 This issue has been automatically copied from morhetz#254 🤖

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.