diff --git a/plugin/fzf.vim b/plugin/fzf.vim index 4064a559..75597baa 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -167,9 +167,12 @@ function! s:common_sink(action, lines) abort endfunction function! s:get_color(attr, ...) + let gui = has('termguicolors') && &termguicolors + let fam = gui ? 'gui' : 'cterm' + let pat = gui ? '^#[a-f0-9]\+' : '^[0-9]\+$' for group in a:000 - let code = synIDattr(synIDtrans(hlID(group)), a:attr, 'cterm') - if code =~ '^[0-9]\+$' + let code = synIDattr(synIDtrans(hlID(group)), a:attr, fam) + if code =~? pat return code endif endfor