gruvbox-community / gruvbox

Retro groove color scheme for Vim - community maintained edition
MIT License
801 stars 62 forks source link

Escaped " are not colored consistently #155

Closed SuperSandro2000 closed 3 years ago

SuperSandro2000 commented 3 years ago

If you decide to post your issue here, please include the relevant information:

Both \" should have the same color.

image

rbong commented 3 years ago

Thank you for reporting.

Can't recreate this on the latest version of gruvbox and vim 8.2.2277 with many features enabled.

Please include the full output of vim --version. Please also confirm that the minimal .vimrc is complete. It doesn't include colorscheme gruvbox so I'm not sure if it's just missing the last line or something else.

2021-02-18-112234_320x27_scrot

This is possibly a builtin syntax bug, so if your version of 8.2 is older than mine you might want to try updating. If the problem persists, please use this binding and F10 to check the highlight group under the cursor:

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>
SuperSandro2000 commented 3 years ago

Please include the full output of vim --version.

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Aug 11 2020 17:00:59)
Included patches: 1-716
Modified by team+vim@tracker.debian.org
Compiled by team+vim@tracker.debian.org
Huge version without GUI.  Features included (+) or not (-):
+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
-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              +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            +visual
+conceal           +linebreak         +python3           +visualextra
+cryptv            +lispindent        +quickfix          +viminfo
+cscope            +listcmds          +reltime           +vreplace
+cursorbind        +localmap          +rightleft         +wildignore
+cursorshape       +lua               +ruby              +wildmenu
+dialog_con        +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
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/build/vim-It0QT5/vim-8.2.0716=. -fstack-protector-strong -Wformat -Werror=format-security -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
Linking: gcc   -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-E  -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim        -lm -ltinfo  -lselinux  -lcanberra -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/x86_64-linux-gnu/perl/5.30/CORE -lperl -ldl -lm -lpthread -lcrypt  -L/usr/lib/python3.8/config-3.8-x86_64-linux-gnu -lpython3.8 -lcrypt -lpthread -ldl -lutil -lm -lm -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lm -lruby-2.7 -lm     

Please also confirm that the minimal .vimrc is complete. It doesn't include colorscheme gruvbox so I'm not sure if it's just missing the last line or something else.

I just forgot to copy it after I commented out all the other things.

source $VIMRUNTIME/defaults.vim
set nocompatible
call plug#begin('~/.vim/plugged')
Plug 'gruvbox-community/gruvbox'
cal plug#end()

" colorscheme
colorscheme default                     " required for source %

set background=dark                     " black background
highlight LineNr ctermfg = '243'        " visible number column numbers
let g:gruvbox_contrast_dark = 'hard'    " higher contrast
let g:gruvbox_italic=1                  " use italics cause konsole supports it
let g:gruvbox_number_column = 'bg1'     " number column visible
colorscheme gruvbox

This is possibly a builtin syntax bug, so if your version of 8.2 is older than mine you might want to try updating.

Also happens with vim from nixpkgs which is the newest version I have available.

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jan 01 1980 00:00:00)                                                                                                                          Included patches: 1-1522

The right i<shSpecialDQ> trans<shSpecialDQ> lo<GruvboxOrange> and the right escaped \" has hi<shDoubleQuote> trans<shDoubleQuote> lo<String>. This also happens with https://raw.githubusercontent.com/vim/vim/master/runtime/syntax/sh.vim.

Might be a bug in the highlighting of vim: image

rbong commented 3 years ago

It does appear to be a vim syntax bug, not a gruvbox bug. Since shSpecialDQ and shDoubleQuote are different they could have different colors in any theme, not just gruvbox. There have been many runtime file updates since hat patch you have installed, it's tough to track down the exact fix since VIM doesn't list runtime file updates. Not sure what patch number that stable version you used is on but it is also likely older than what I have.

SuperSandro2000 commented 3 years ago

I tried the latest from vim and their upstream and both still had the bug

rbong commented 3 years ago

I'm not sure but I think the stable release is on patch 0. If it still happens after patch 2277, which I'm on, you'll want to contact the maintainer of the sh.vim runtime file, who lists his contact info as Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM> (VIM does not directly accept issues for runtime files). I have left his email formatted as it appears in the runtime file with spam prevention, it looks as if you'll want to remove the capital letters.