Code Monkey home page Code Monkey logo

gruvbox-material's Introduction

Hi 👋, I'm Sainnhe Park

An open source enthusiast from China 🇨🇳

Sainnhe's GitHub stats

Top Langs

Loading

gruvbox-material's People

Contributors

alimaazkhan avatar antoineco avatar aonodensetsu avatar blakewilliams avatar crivotz avatar deepattic avatar dhruvmanila avatar dn9uyen avatar donk3ys avatar echasnovski avatar jdhao avatar jryom avatar koka831 avatar lucastrvsn avatar nabaco avatar neanias avatar pedro757 avatar pkazmier avatar sainnhe avatar smolck avatar xeluxee avatar xpac27 avatar yatesco avatar zeertzjq avatar zxyin 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  avatar

gruvbox-material's Issues

Neovim LSP diagnostics integration

Neovim built-in LSP diagnostics finally merged into neovim core and its API is stable now. Can we implement some highlight groups for the new neovim lsp?

I made some examples of how it will work and for me it's nice and clean!

call gruvbox_material#highlight('LspDiagnosticsFloatingError', s:palette.red, s:palette.bg3)
call gruvbox_material#highlight('LspDiagnosticsFloatingWarning', s:palette.yellow, s:palette.bg3)
call gruvbox_material#highlight('LspDiagnosticsFloatingInformation', s:palette.blue, s:palette.bg3)
call gruvbox_material#highlight('LspDiagnosticsFloatingHint', s:palette.aqua, s:palette.bg3)

highlight! link LspDiagnosticsDefaultError ErrorLine
highlight! link LspDiagnosticsDefaultWarning WarningLine
highlight! link LspDiagnosticsDefaultInformation InfoLine
highlight! link LspDiagnosticsDefaultHint HintLine

highlight! link LspDiagnosticsVirtualTextError Grey
highlight! link LspDiagnosticsVirtualTextWarning Grey
highlight! link LspDiagnosticsVirtualTextInformation Grey
highlight! link LspDiagnosticsVirtualTextHint Grey

highlight! link LspDiagnosticsUnderlineError ErrorLine
highlight! link LspDiagnosticsUnderlineWarning WarningLine
highlight! link LspDiagnosticsUnderlineInformation InfoLine
highlight! link LspDiagnosticsUnderlineHint HintLine

highlight! link LspDiagnosticsSignError RedSign
highlight! link LspDiagnosticsSignWarning YellowSign
highlight! link LspDiagnosticsSignInformation BlueSign
highlight! link LspDiagnosticsSignHint AquaSign

I don't know if I'm right with all this hi group links but, for me, works really well. I can make a PR to add this!

Thanks so much for this colorscheme, it's my daily driver for a long time!

[help] how to override highlight group Conceal values set by gruvbox-material

Hi there, I wanna Custom Conceal group highlights.

What I've tried is create a file named filetype.vim under ~/.vim/after/plugin with contents:

if &background == 'light'
    if g:colors_name == 'bluewery-light'
        highlight Conceal cterm=NONE guifg=#bbbbbb
    else
        highlight Conceal cterm=NONE guifg=#ccdd88
    endif
else
    highlight Conceal gui=NONE guifg=#364954
endif

I found gruvbox-material override my custom in fact which is in contrary.

So how to make it?

Thanks in advace!

Very hard to see the search result.

image

I've set hlsearch, and can't find the search result of a search pattern(only the cword could see).

My gruvbox-material setting is:

let g:gruvbox_material_background = 'soft'
set background=dark
colorscheme gruvbox-material

Add specific configuration for Dart

There is already specific support in this colorscheme for Clojure, Rust, Lua, etc. However, there isn't any specific configuration for Dart, and I think the look when using this dart syntax plugin in vim-polyglot could be improved with some slight tweaks. Currently, it looks like this:

image

IMO there is too much yellow, especially when compared to Rust, which I think is more balanced:

image

Of course, this is just my opinion, and some people might think this looks fine. However, I wanted to bring this to light so that it might be improved if possible. Thanks!

Long files load very slowly

  • Operating system/version: Mac Big Sur
  • Terminal emulator/version: iterm2 v.3.4.2
  • echo $TERM: xterm-256color
  • tmux -V:
  • vim --version or nvim --version:
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Oct  7 2020 18:05:08)
macOS version
Included patches: 1-1719
Compiled by Homebrew
Huge version with MacVim GUI.  Features included (+) or not (-):
+acl               +file_in_path      -mouse_sysmouse    -tag_old_static
+arabic            +find_in_path      +mouse_urxvt       -tag_any_white
+autocmd           +float             +mouse_xterm       +tcl
+autochdir         +folding           +multi_byte        +termguicolors
-autoservername    -footer            +multi_lang        +terminal
+balloon_eval      +fork()            -mzscheme          +terminfo
+balloon_eval_term +fullscreen        +netbeans_intg     +termresponse
+browse            +gettext           +num64             +textobjects
++builtin_terms    -hangul_input      +odbeditor         +textprop
+byte_offset       +iconv             +packages          +timers
+channel           +insert_expand     +path_extra        +title
+cindent           +ipv6              +perl              +toolbar
+clientserver      +job               +persistent_undo   +transparency
+clipboard         +jumplist          +popupwin          +user_commands
+cmdline_compl     +keymap            +postscript        +vartabs
+cmdline_hist      +lambda            +printer           +vertsplit
+cmdline_info      +langmap           +profile           +virtualedit
+comments          +libcall           -python            +visual
+conceal           +linebreak         +python3           +visualextra
+cryptv            +lispindent        +quickfix          +viminfo
+cscope            +listcmds          +reltime           +vreplace
+cursorbind        +localmap          +rightleft         +wildignore
+cursorshape       +lua               +ruby              +wildmenu
+dialog_con_gui    +menu              +scrollbind        +windows
+diff              +mksession         +signs             +writebackup
+digraphs          +modify_fname      +smartindent       -X11
+dnd               +mouse             -sound             -xfontset
-ebcdic            +mouseshape        +spell             +xim
+emacs_tags        +mouse_dec         +startuptime       -xpm
+eval              -mouse_gpm         +statusline        -xsmp
+ex_extra          -mouse_jsbterm     -sun_workshop      -xterm_clipboard
+extra_search      +mouse_netterm     +syntax            -xterm_save
-farsi             +mouse_sgr         +tag_binary
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe  -DMACOS_X -DMACOS_X_DARWIN  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang   -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/[email protected]/lib -L/usr/local/opt/readline/lib -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/[email protected]/lib -L/usr/local/opt/readline/lib  -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon       -lm  -lncurses -liconv /usr/local/lib/libintl.a -framework AppKit  -L/usr/local/opt/lua/lib -llua5.3 -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -lperl  -L/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/lib/python3.9/config-3.9-darwin -lpython3.9 -framework CoreFoundation -F/System/Library/Frameworks -framework Tcl -framework CoreFoundation -lruby.2.7

Minimal vimrc that can reproduce this bug

syntax on                                       "Syntax ON
set re=0
set noimd                                       "Revert back to English when on different language
set nocompatible                                "Latest Vim Setting used
set encoding=utf-8
so ~/.vim/plugins.vim                           "Source the plugins
filetype plugin indent on

"-------------GENERAL SETTINGS-------------
runtime macros
:filetype indent on
set t_CO=256                                    "Number of colours
set display+=lastline                           "Show long lines"
set autoindent                                  "Copy indent from previous line
set smartindent                                 "Smart indenting when { is used
set autoread                                    "Auto refresh when file has been changed
set ignorecase                                  "Ignores case when searching
set smartcase                                   "Disables ignorecase when capitals used
set so=10                                       "Keep cursor to not touch the bottom or top"
set backspace=indent,eol,start                  "Make backspace as normal
hi clear SignColumn                      "Disable signcolumn
set noerrorbells visualbell t_vb=               "No error bells
set autowriteall                                "Automatically writes file
set complete=.,w,b,u                            "Set autocomplete
set shortmess=a                                 "Get rid of Please press enter when opening a file"
set backupcopy=yes                              "Overwrite backupto original
set noswapfile                                  "Dont create swapfiles
set confirm                                     "Dont prompt when nonsaved quits
set mouse=a                                     "Click to position cursor always"
set splitbelow                                  "Horizontal split to below
set splitright                                  "Vertical split to right
set hlsearch                                    "highlight search
set incsearch                                   "Show preview of search
set diffopt+=vertical                           "Set split and diff to vertical
let mapleader = ','                             "The default leader is '\'

"GUI Adjust"
hi LineNr ctermbg=0 guibg=bg
hi vertsplit ctermbg=0 guibg=bg
hi foldcolumn ctermbg=0 guibg=bg guifg=white
hi clear SignColumn

"----------VISUALS---------
set guifont=FiraCode\ Nerd\ Font:h12            "Set font family
set linespace=10                                "Set line space
set wrapmargin=0                                "line number margins
set textwidth=0                                 "Set text width"
set nonumber                                    "No line numbers
"set number                                     Set line numbers"
"set relativenumber                             Set relative numbers"
set ttyfast                                     "Set typing fast/ scroll fast option"
set guioptions-=e                               "Disable tabline
set guioptions-=l                               "Disable scrollbars
set guioptions-=L
set guioptions-=r
set guioptions-=R
set tabstop=4                                   "Default tabs
set expandtab                                   "Use space as a tab
set softtabstop=4                               "Width applied by tab
set shiftwidth=4                                "Width of tab in normal mode
let &t_SI.="\e[5 q"                             "Cursor shape change in different mode
let &t_SR.="\e[4 q"
let &t_EI.="\e[1 q"
if has('linebreak')
    set breakindent
    let &showbreak = ''
    set cpo+=n
    let &breakat = " \t;:,])}"
end
set list lcs=trail:·,tab:»»,nbsp:~              "Show whitespaces with symbol

"Mappings
map ; :
noremap ;; ;
nmap j gj
nmap k gk
vmap j gj
vmap k gk
nnoremap  :m .+1<CR>==
nnoremap ˚ :m .-2<CR>==
inoremap  <Esc>:m .+1<CR>==gi
inoremap ˚ <Esc>:m .-2<CR>==gi
vnoremap  :m '>+1<CR>gv=gv
vnoremap ˚ :m '<-2<CR>gv=gv


"highlight word under cursor - more options :so $VIMRUNTIME/syntax/hitest.vim
":autocmd CursorMoved * exe printf('match SpellLocal /\V\%%%dl\@!\<%s\>/', line('.'), escape(expand('<cword>'), '/\'))

"Folding
set foldmethod=syntax
:setlocal foldcolumn=0
let javascript_fold=1
set foldlevelstart=99
set fillchars=fold:\
"Space to toggle folds
nnoremap <silent> <Space> @=(foldlevel('.')?'za':"\<Space>")<CR>
"Neat Folding
function! NeatFoldText()
    let line = '' . substitute(getline(v:foldstart), '^\s*"\?\s*\|\s*"\?\s*{{' . '{\d*\s*', '', 'g') . ' '
    let lines_count = v:foldend - v:foldstart + 1
    let lines_count_text = '|' . printf("%10s", lines_count . ' lines') . '|'
    let foldchar = matchstr(&fillchars, 'fold:\zs.')
    let foldtextstart = strpart('+' . repeat(foldchar, v:foldlevel*2). line, 0, (winwidth(0)*2)/3)
    let foldtextend = lines_count_text . repeat(foldchar, 8)
    let foldtextlength = strlen(substitute(foldtextstart . foldtextend, '.', 'x', 'g')) + &foldcolumn
    return foldtextstart . repeat(foldchar, winwidth(0)-foldtextlength) . foldtextend
endfunction
set foldtext=NeatFoldText()

"-------------SYNTAX HIGHLIGHTING-------------
"Python Syntax
let g:python_highlight_all = 1

"Custom ext highlighting
au BufNewFile,BufRead *.ejs,*.vue,*hbs set filetype=html
au BufNewFile,BufRead *.jsx set filetype=javascriptreact
au BufNewFile,BufRead *.tsx set filetype=typescriptreact
au BufRead,BufNewFile .py,.pyw,*.c,*.h match BadWhitespace /\s\+$/

"---------------THEMES---------------
set background=dark
let g:gruvbox_material_background = 'hard'
colorscheme gruvbox-material

hi clear SignColumn
hi RedundantSpaces ctermbg=red guibg=red
hi ExtraWhitespace ctermbg=red guibg=red
2match RedundantSpaces /\s\+$/
2match ExtraWhitespace /\s\+$/

let g:airline_theme='gruvbox_material'
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#show_buffers = 0
let g:airline#extensions#tabline#show_splits = 0
let g:airline#extensions#tabline#show_tabs = 1
let g:airline#extensions#tabline#close_symbol = '×'
let g:airline#extensions#tabline#show_close_button = 1
let g:airline#extensions#tabline#formatter = 'unique_tail_improved'
let g:asyncrun_open = 8
let g:asyncrun_status = ''
let g:airline_section_error = airline#section#create_right(['%{g:asyncrun_status}'])

map <F10> :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<'
            \ . synIDattr(synID(line("."),col("."),0),"name") . "> lo<"
            \ . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"<CR>

let g:terminal_ansi_colors = [ '#546d79', '#ff5151', '#69f0ad', '#ffd73f', '#40c4fe', '#ff3f80', '#64fcda', '#fefefe', '#b0bec4', '#ff8980', '#b9f6c9', '#ffe47e', '#80d7fe', '#ff80ab', '#a7fdeb', '#fefefe',]
"black, dark red, dark green, dark yellow, dark blue, dark magenta, dark cyan, light grey, dark grey, red, green, yellow, blue, magenta, cyan, white

"-----AUTO-COMMANDS------"
"Auto sourcing self
augroup autosourcing
    autocmd!
    autocmd BufWritePost $MYVIMRC source $MYVIMRC
    autocmd BufWritePost $MYVIMRC AirlineRefresh
augroup END

Steps to reproduce this bug using minimal vimrc

Open a long complex file (e.g. Line length 260 .tsx file)

Actual behaviour

Takes about 1~2 seconds to load the page

Expected behaviour

Take less than 1 seconds to open the file (my previous theme kristijanhusak/vim-hybrid-material used to take less than 1sec)

Invalid expression

  • Operating system/version: macOS 11.0.1
  • Terminal emulator/version: Kitty 0.19.2
  • echo $TERM: xterm-kitty
  • vim --version: 8.2.2100
Error detected while processing /Users/foo/.vim/pack/packager/start/gruvbox-material/vimrc[4]../Users/foo/.vim/pack/packager/start/gruvbox-material/colors/gruvbox-material.vim[21]..function gruvbox_material#get_configuration:
line    1:
E15: Invalid expression: {
Error detected while processing /Users/foo/.vim/pack/packager/start/gruvbox-material/vimrc[4]../Users/foo/.vim/pack/packager/start/gruvbox-material/colors/gruvbox-material.vim:
line   22:
E121: Undefined variable: background
E116: Invalid arguments for function gruvbox_material#get_palette(s:configuration.background, s:configuration.palette)
line   29:
E121: Undefined variable: transparent_background
line   51:
E121: Undefined variable: s:palette
E116: Invalid arguments for function gruvbox_material#highlight
line   52:
E121: Undefined variable: s:palette
E116: Invalid arguments for function gruvbox_material#highlight
...

Minimal vimrc that can reproduce this bug

packadd gruvbox-material
set termguicolors
set background=dark
colorscheme gruvbox-material

Steps to reproduce this bug using minimal vimrc

Install gruvbox-material using the native package manager (:h packages) and then start Vim:

$ cat vimrc
packadd gruvbox-material
set termguicolors
set background=dark
colorscheme gruvbox-material
$ vim --noplugin -u vimrc vimrc

Actual behaviour

Loads of errors (see above). Note that this is only a problem in Vim, not in Neovim.

Expected behaviour

Start without errors.

Nvim terminal color support

Terminal in Neovim support g:terminal_color_N to set colors. See in here.
A possible configuration for gruvbox-material medium.

if get(g:, 'colors_name', 'default') == 'gruvbox-material'
    let g:terminal_color_0  = '#282828'
    let g:terminal_color_1  = '#ea6962'
    let g:terminal_color_2  = '#a9b665'
    let g:terminal_color_3  = '#d8a657'
    let g:terminal_color_4  = '#7daea3'
    let g:terminal_color_5  = '#d3869b'
    let g:terminal_color_6  = '#89b482'
    let g:terminal_color_7  = '#d4be98'
    let g:terminal_color_8  = '#7c6f64'
    let g:terminal_color_9  = '#402120'
    let g:terminal_color_10 = '#34381b'
    let g:terminal_color_11 = '#e78a4e'
    let g:terminal_color_12 = '#0e363e'
    let g:terminal_color_13 = '#928374'
    let g:terminal_color_14 = '#374141'
    let g:terminal_color_15 = '#ddc7a1'
endif

Results on Windows10, Neovim with powershell
image

Different status-line color on different method.

  • Operating system/version: Manjaro Linux x86_64
  • Terminal emulator/version: kitty
  • echo $TERM: xterm-kitty
  • tmux -V:
  • vim --version : VIM - Vi IMproved 8.2

Actual behaviour

Apparently, when I load airline_theme from .vimrc like this, the statusline is kind of white in color
image

Expected behaviour

And when I load it from vim neomal mode, it is dark in color for some reason. I want it to be dark in color by default. but cant do the thing from .vimrc
image

Statement on maintenance

Due to some personal reasons gruvbox-material#23, I'll stop maintaining this project for a period of time(maybe about half a year).

This does not mean that this project has been abandoned, issues and PRs are welcome, I'll review them in the future.

If you're interested in this project and would like to become a maintainer, please contact me.

Thanks for your understanding :)

Transparency of sign column

When g:gruvbox_material_transparent_background is turned on, the background of the sign column is still not transparent.

pic-selected-191016-2341-40

Related highlight groups of ALE, coc.nvim, and gitgutter might also need to be tweaked.

let g:gruvbox_material_better_performance = 1 on save changes colour palette

  • Operating system/version: Mac OS Big Sur
  • Terminal emulator/version: MacVim 8.2
  • echo $TERM:
  • tmux -V:
  • vim --version or nvim --version:
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Oct  7 2020 18:05:08)
macOS version
Included patches: 1-1719
Compiled by Homebrew
Huge version with MacVim GUI.  Features included (+) or not (-):
+acl               +file_in_path      -mouse_sysmouse    -tag_old_static
+arabic            +find_in_path      +mouse_urxvt       -tag_any_white
+autocmd           +float             +mouse_xterm       +tcl
+autochdir         +folding           +multi_byte        +termguicolors
-autoservername    -footer            +multi_lang        +terminal
+balloon_eval      +fork()            -mzscheme          +terminfo
+balloon_eval_term +fullscreen        +netbeans_intg     +termresponse
+browse            +gettext           +num64             +textobjects
++builtin_terms    -hangul_input      +odbeditor         +textprop
+byte_offset       +iconv             +packages          +timers
+channel           +insert_expand     +path_extra        +title
+cindent           +ipv6              +perl              +toolbar
+clientserver      +job               +persistent_undo   +transparency
+clipboard         +jumplist          +popupwin          +user_commands
+cmdline_compl     +keymap            +postscript        +vartabs
+cmdline_hist      +lambda            +printer           +vertsplit
+cmdline_info      +langmap           +profile           +virtualedit
+comments          +libcall           -python            +visual
+conceal           +linebreak         +python3           +visualextra
+cryptv            +lispindent        +quickfix          +viminfo
+cscope            +listcmds          +reltime           +vreplace
+cursorbind        +localmap          +rightleft         +wildignore
+cursorshape       +lua               +ruby              +wildmenu
+dialog_con_gui    +menu              +scrollbind        +windows
+diff              +mksession         +signs             +writebackup
+digraphs          +modify_fname      +smartindent       -X11
+dnd               +mouse             -sound             -xfontset
-ebcdic            +mouseshape        +spell             +xim
+emacs_tags        +mouse_dec         +startuptime       -xpm
+eval              -mouse_gpm         +statusline        -xsmp
+ex_extra          -mouse_jsbterm     -sun_workshop      -xterm_clipboard
+extra_search      +mouse_netterm     +syntax            -xterm_save
-farsi             +mouse_sgr         +tag_binary
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe  -DMACOS_X -DMACOS_X_DARWIN  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang   -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/[email protected]/lib -L/usr/local/opt/readline/lib -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/[email protected]/lib -L/usr/local/opt/readline/lib  -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon       -lm  -lncurses -liconv /usr/local/lib/libintl.a -framework AppKit  -L/usr/local/opt/lua/lib -llua5.3 -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -lperl  -L/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/lib/python3.9/config-3.9-darwin -lpython3.9 -framework CoreFoundation -F/System/Library/Frameworks -framework Tcl -framework CoreFoundation -lruby.2.7

Minimal vimrc that can reproduce this bug

set background=dark
let g:gruvbox_material_better_performance = 0
let g:gruvbox_material_sign_column_background = 'none'
let g:gruvbox_material_disable_italic_comment = 1
let g:gruvbox_material_enable_italic = 0
let g:gruvbox_material_palette = "original"
let g:gruvbox_material_background = 'hard'
colorscheme gruvbox-material

augroup autosourcing
    autocmd!
    autocmd BufWritePost $MYVIMRC source $MYVIMRC
augroup END

Steps to reproduce this bug using minimal vimrc

when autocmd BufWritePost $MYVIMRC source $MYVIMRC
is used to autoload .vimrc on save
and g:gruvbox_material_better_performance is set to 1
.vimrc changes it's syntax colour

Actual behaviour

syntax colour is lost. Needs to reopen .vimrc to see the correct highlight

Expected behaviour

.vimrc remains it's syntax colour on save

How to change background color only?

Is there any simple way to change only the background color? Or Adding every color definition in the custom palette is the only to change the background color.

PS: Thank you for making this color scheme. It is the best ❤️.

[Discussion] The Design of Common Highlight Groups

I'm unhappy with some designs of common highlight groups in original gruvbox.

For example, the foreground color of Operator is GruvboxFg1, which is darker than the foreground of Normal, but unbalanced brightness will make me feel uncomfortable.

So I use Orange as the foreground color of Operator in this color scheme.

This color scheme is based on gruvbox, but it's not aiming to be consistent with the original gruvbox except the color palette, you can see a lot of adjustments in this color scheme.

And I do believe that someone is also dissatisfied with some designs in original gruvbox.

If so, feel free to share your ideas here. If your thoughts is reasonable enough, I'll open a PR to adjust common highlight groups and extended highlight groups preliminarily.

Here are current designs:

# Group                 Foreground      Background      Attributes
Normal                  light           dark0

# UI
ColorColumn             none            dark1
Conceal                 blue            none
Cursor                  none            none            reverse
lCursor                 none            none            reverse
CursorColumn            none            dark1
CursorLine              none            dark1
CursorLineNr            yellow          dark1
LineNr                  dark4           none
SignColumn              none            dark1
DiffAdd                 none            darkgreen
DiffChange              none            darkblue
DiffDelete              none            darkred
DiffText                none            dark0           reverse
Directory               green           none
EndOfBuffer             dark0           dark0
ErrorMsg                red             none            bold
WarningMsg              yellow          none            bold
ModeMsg                 dark0           lightgrey       bold
MoreMsg                 yellow          none            bold
FoldColumn              grey            dark1
Folded                  grey            dark1
IncSearch               none            none            reverse,bold
Search                  none            none            reverse,underline
MatchParen              none            none            bold
NonText                 grey            none
Pmenu                   light           dark2
PmenuSbar               none            dark2
PmenuSel                dark0           lightgrey
PmenuThumb              none            dark4
Question                orange          none            bold
SpellBad                red             none            italic t=underline g=undercurl s=red
SpellCap                blue            none            italic t=underline g=undercurl s=blue
SpellLocal              aqua            none            italic t=underline g=undercurl s=aqua
SpellRare               purple          none            italic t=underline g=undercurl s=purple
StatusLine              light           dark3
StatusLineNC            lightgrey       dark1
StatusLineTerm          light           dark3
StatusLineTermNC        lightgrey       dark1
TabLine                 light           dark3
TabLineFill             light           dark1
TabLineSel              dark0           lightgrey
VertSplit               dark3           dark0
Visual                  none            none            reverse
VisualNOS               none            none            reverse
WildMenu                dark0           lightgrey
Todo                    grey            none            bold,italic
CursorIM                none            none            reverse
ToolbarLine             none            dark3
ToolbarButton           light           dark3           bold
QuickFixLine            yellow          dark0           reverse
Debug                   orange          none

# Syntax
Title                   green           none            bold
Conditional             red             none
Repeat                  red             none
Label                   red             none
Exception               red             none
Keyword                 red             none
Statement               red             none
Typedef                 yellow          none
Type                    yellow          none
StorageClass            orange          none
Delimiter               light           none
Special                 orange          none
Tag                     orange          none
Operator                orange          none
SpecialChar             orange          none
String                  green           none
PreProc                 aqua            none
Macro                   aqua            none
Define                  aqua            none
Include                 aqua            none
PreCondit               aqua            none
Structure               aqua            none
Identifier              blue            none
Underlined              blue            none            underline
Constant                purple          none
Boolean                 purple          none
Character               purple          none
Number                  purple          none
Float                   purple          none
SpecialKey              blue            none
Comment                 grey            none            italic
SpecialComment          grey            none            italic
Ignore                  light           none
#if get(g:, 'gruvbox_material_enable_bold', 0)
    Error                   red             dark0           bold,reverse
    Function                green           none            bold
#else
    Error                   red             dark0           reverse
    Function                green           none
#endif

whitespace / comment is the same color

btw i really love this colorscheme! please don't be bothered by my issues, just wanna help optimizing it :)

i like having whitespace visible (setting listchars) and in this colorscheme these got the same colors as the comments which really looks odds.

this is why i got this in my config:

highlight NonText guifg=grey25
highlight SpecialKey guifg=grey25

maybe it is also intended to have it the same color but i dont remember that other colorschemes do the same (or i just forgot about that)

ofc grey25 is just a placeholder which looks fine to me, feel free to choose something awesome that matches the current comment style :)

just an idea !

i also searched the issues this time and didnt found anything related to that (only that you linked comment to nontext)

The design of color palette

The color palette is still in beta stage, some colors may be adjusted in the future.

Currently, the colors look good on my device, but they may not look fine on yours. If you have any ideas or suggestions, please feel free to share them here.

Note: Since the colors display differently on different monitors, photos may be more helpful than screenshots if you want to upload images.

Changed words are hard to read when highlighted in diff view

  • Operating system/version: arch linux
  • Terminal emulator/version: konsole 20.08.3 and guake 3.7.0
  • echo $TERM: xterm-256color
  • tmux -V:
  • vim --version or nvim --version:
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Sep 17 2020 21:54:53)
包含补丁: 1-1704
编译者 Arch Linux
巨型版本 with GTK3 GUI.  可使用(+)与不可使用(-)的功能:
+acl               -farsi             +mouse_sgr         +tag_binary
+arabic            +file_in_path      -mouse_sysmouse    -tag_old_static
+autocmd           +find_in_path      +mouse_urxvt       -tag_any_white
+autochdir         +float             +mouse_xterm       +tcl/dyn
-autoservername    +folding           +multi_byte        +termguicolors
+balloon_eval      -footer            +multi_lang        +terminal
+balloon_eval_term +fork()            -mzscheme          +terminfo
+browse            +gettext           +netbeans_intg     +termresponse
++builtin_terms    -hangul_input      +num64             +textobjects
+byte_offset       +iconv             +packages          +textprop
+channel           +insert_expand     +path_extra        +timers
+cindent           +ipv6              +perl/dyn          +title
+clientserver      +job               +persistent_undo   +toolbar
+clipboard         +jumplist          +popupwin          +user_commands
+cmdline_compl     +keymap            +postscript        +vartabs
+cmdline_hist      +lambda            +printer           +vertsplit
+cmdline_info      +langmap           +profile           +virtualedit
+comments          +libcall           +python/dyn        +visual
+conceal           +linebreak         +python3/dyn       +visualextra
+cryptv            +lispindent        +quickfix          +viminfo
+cscope            +listcmds          +reltime           +vreplace
+cursorbind        +localmap          +rightleft         +wildignore
+cursorshape       +lua/dyn           +ruby/dyn          +wildmenu
+dialog_con_gui    +menu              +scrollbind        +windows
+diff              +mksession         +signs             +writebackup
+digraphs          +modify_fname      +smartindent       +X11
+dnd               +mouse             +sound             -xfontset
-ebcdic            +mouseshape        +spell             +xim
+emacs_tags        +mouse_dec         +startuptime       -xpm
+eval              +mouse_gpm         +statusline        +xsmp_interact
+ex_extra          -mouse_jsbterm     -sun_workshop      +xterm_clipboard
+extra_search      +mouse_netterm     +syntax            -xterm_save
     系统 vimrc 文件: "/etc/vimrc"
     用户 vimrc 文件: "$HOME/.vimrc"
 第二用户 vimrc 文件: "~/.vim/vimrc"
      用户 exrc 文件: "$HOME/.exrc"
    系统 gvimrc 文件: "/etc/gvimrc"
    用户 gvimrc 文件: "$HOME/.gvimrc"
第二用户 gvimrc 文件: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
        系统菜单文件: "$VIMRUNTIME/menu.vim"
         $VIM 预设值: "/usr/share/vim"
编译方式: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/at-spi-2.0 -pthread    -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -D_REENTRANT  -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
链接方式: gcc   -L. -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.32/core_perl/CORE  -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-3 -lgdk-3 -lz -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0  -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lelf    -lcanberra  -lacl -lattr -lgpm -ldl   -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.32/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/perl5/5.32/core_perl/CORE -lperl -lpthread -ldl -lm -lcrypt -lutil -lc   -L/usr/lib -ltclstub8.6 -ldl -lz -lpthread -lm

Steps to reproduce this bug using minimal vimrc

  1. vimdiff 2 random files
  2. :set cursorline
  3. Move to a line with different contents

Actual behaviour

image

Expected behaviour

The words are readable

How to set contrast?

In README you show screenshots with different contrast, however I am not able to set them. I have tried let g:gruvbox_material_contrast_dark="soft", but without success.

Palette Specification (in README?)

Hello! I'm looking to port this colorscheme to Emacs, but without a showcase/definition (not sure exactly what to call it) specification in the README (or elsewhere) of the palette, I have to read through the definitions of the colors in colors/gruvbox-material.vim. This isn't too bad, but it would be nice to have a definition specification in the README like Gruvbox does here: https://github.com/gruvbox-community/gruvbox#palette

As an aside, I'd like to say thank you for this great colorscheme! It's probably my most favorite colorscheme I've used with Neovim, and I do tend to miss it when using Emacs (hence why I want to port it over).

EDIT: I think an appropriate name for what I'm thinking of is "specification," so I've modified my comment accordingly.

Feature request: support more plugins

First of all, thanks for this amazing color scheme. But I found that some highlights of plugins like vim-easymotion and vim-sneak had not been adjusted. I will really appreciate it if you could add them.

No underline for Ale/Coc.nvim

I'm not quite sure what is doing it, but for linting errors rendered by Coc.nvim, there's no underline.

There's underline available for other themes, such as Ayu.

This project is looking for maintainers!

I am a Chinese college student majoring in telecommunication engineering, and in this year I will focus on preparing for the postgraduate entrance examination, so I will have little time to deal with issues and PRs. And since I don’t major in computer science, I cannot guarantee that I can continue to actively maintain this project in the future.

If you are familiar with vim script and would like to maintain this project, please email me [email protected] or leave a comment here.

Support for winbar.

Thanks for this colorscheme!

I want to know is there any plan for ToolbarButton and ToolbarLine support? Below pic is screenshot when I using a vim plugin vimspector to debug python code.

image

And the default color of winbar is not so good, is there any plan to make it consistent with gruvbox? Thanks in advanced.

Please support vim-illuminate

I'm sorry to send you another similar issue.


vim-illuminate has more than 400 stars and I think this plugin is famous.
But It is hard to see the gruvbox-material's default settings.
I'd be happy to fix it.

highlight group name

hi illuminatedWord cterm=underline gui=underline

https://github.com/RRethy/vim-illuminate

lightline/airline colorscheme name is different than colorscheme name

gruvbox material uses gruvbox-material for colorscheme statement

colorscheme gruvbox-material

and gruvbox_material for airline/lightline

let g:lightline.colorscheme = 'gruvbox_material'

This is not ideal because usually we can set

let g:airline_theme = g:colors_name

So that changing the colorscheme reflects on airline automatically.
This is not the case with gruvbox material.

sign column background / signs background don't match

2020-04-18-164410_570x131_scrot

there is a little bug with the signcolumn background. (it is not dedicated to gitgutter, also with coc etc)
you can actually all my theme configuration on this screenshot.

it does not happen when setting transparent background tho.

my idea would be to make the whole sign column the lighter background (or make the signs the darker background but i prefer the first variant)

btw i tried to change the sign column background lighter but it seems like i just can't get it working

highlight SignColumn ctermbg=white guibg=white

i am having this as the last line in my vimrc so it should overwrite the colorscheme.
are you able to help me out there ? white is just to test if i grab the correct highlight.

/edit when i enter the exact fix line as a command while nvim running it works. but even though its the last line in the vimrc it just doesnt work. any ideas ?
autocmd VimEnter * highlight ... also works... so strange

Change sitgncolumn bg

I'm using coc.nvim with gruvbox-material, and when signcolumnt pops out i can see that it has different bg comparing to line number column...how can i fix that?

Background color not visible under transparent background

Since commit 09c87d4, the background color for search highlight, visual selections, current word highlight etc. become invisible under transparent mode.

I would suggest adding an option to use light background or reversed mode (in transparent mode).

Compare:

Search [dark]

pic-selected-191123-0533-10

Search [reversed]

pic-selected-191123-0534-58

The dark background is barely visible.

comment color

hi, this my picture, I use mac, what should I do?
image

Pseudo cursor appear in terminal

When I open a terminal with :terminal in neovim a pseudo cursor appears, which is made me confusing about which buffer is active in window. As a way to check if I have problem with another plugin and configuration or not, I installed an older version of this plugin, tag v1.1.1, and I didn't find this issue. The following is a screen:
vokoscreen-2020-05-04_16-40-38

Tabline middle background color issues

Hi, a couple of days ago, I changed my status line from airline to lightline. Then, I found the background colors of two middle tabline were different.

This is what the tabline looks like with airline and it's very clear to find the current line:
image

However, with lightline, the tabline seems to be one with the current line.
image

(I changed the both tabsel styles to be unbold, so it might look different with the released version)

I found that the background color set in line 113 of lightline's color scheme was bg_statusline1, while in airline's color scheme it was bg0

Coc warning highlight not working

Hi, thank you so much for this color scheme, I have been enjoying it so far. However, recently I came across this little problem where when I am coding in typescript, the coc warning highlight is not working as it suppose to. I am wondering why the underline highlight is not working here. Do you think you know what the problem is and how can I fix it? The warning highlight works okay in my previous color scheme. Again thank you so much for this and have a nice day
image

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.