vim-indent-guides icon indicating copy to clipboard operation
vim-indent-guides copied to clipboard

Guides not showing up the first time with colorscheme desert

Open shikhanshu opened this issue 8 years ago • 6 comments

Here's my .vimrc snippet: let g:indent_guides_start_level=2 let g:indent_guides_guide_size=1 let g:indent_guides_enable_on_vim_startup=1 colorscheme desert set background=dark

When I was on a different colorscheme (gruvbox), guides showed up just fine when opening up vim for the first time.

But now, with the desert colorscheme, the first time guides don't show up, but when I set background to dark again (even though it is already set to dark in vimrc) within vim, they show up.

What's happening?

shikhanshu avatar Feb 25 '16 00:02 shikhanshu

I got the same issue.

I found that when vim starts, "let s:hi_normal = indent_guides#capture_highlight('Normal')" will get Normal xxx guifg=gray guibg=grey17 font=Monospace 10 Then in indent_guides#gui_highlight_colors, "let l:color_name = matchstr(s:hi_normal, s:color_name_bg_pat)" will get "grey17 10". So "let l:hi_normal_guibg = color_helper#color_name_to_hex(l:color_name)" gets an empty value.

if ":colorscheme desert", "indent_guides#capture_highlight('Normal')" returns "Normal xxx guifg=gray guibg=grey17", and the plugin works fine.

My workaround is: change let g:indent_guides_color_name_guibg_pattern = "guibg='?\zs[0-9A-Za-z ]+\ze'?" to let g:indent_guides_color_name_guibg_pattern = "guibg='?\zs[0-9A-Za-z]+\ze'?" (Remove the space)

jerrylipeng avatar Apr 27 '16 04:04 jerrylipeng

Any fix for this issue? I really like 'desert'. With other colorschemes (like molokai), indent guides show up right on cue as soon as I start vim with a file.

shikhanshu avatar Sep 20 '16 01:09 shikhanshu

You can try my workaround. Works for me.

jerrylipeng avatar Sep 20 '16 12:09 jerrylipeng

same with you

haolly avatar Oct 31 '16 11:10 haolly

Yes, this worked for me too.

rahultadak avatar Mar 08 '17 01:03 rahultadak

I've just had to resurrect my github account to comment that I am experiencing this exact same issue, but weirdly enough only in gVim. I'm using gVim 8.1, and the Desert colorscheme. I've already attempted jerrylipeng's workaround to no avail. I had to dig manually through the script files of this plugin to figure out which color it grabs from the color scheme and how it actually computes the highlight values to come up with this manual workaround that only applies to my version of the desert colorscheme:

First, :hi Normal returns a string that includes guibg=grey20, which is the color the script is supposed to grab (but it's also followed by the font info that jerrylipeng identifies as well).

Checking the color_helper.vim script indicates grey20 = #333333. From there, I manually applied the color_helper#hex_color_lighten(color, percent) function with a calculator to get the values needed for this code snippet now in my .vimrc:

if has("gui_running")
    if g:colors_name =~ "desert"
        autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  guibg=#474747
        autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=#606060
    endif
endif

If jerrylipeng's workaround doesn't work for you, you may want to try this more manual fix until the plugin gets updated to fix this bug with the desert color scheme.

dragon-architect avatar Dec 31 '21 18:12 dragon-architect