From 9c0c54dd00156ec75b3472174e30953e23d439ca Mon Sep 17 00:00:00 2001 From: Joshua Potter Date: Mon, 7 Nov 2016 10:32:23 -0800 Subject: [PATCH] Maintain search and switch registers --- plugin/hightlight.vim | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/plugin/hightlight.vim b/plugin/hightlight.vim index c416f5c..fd214b1 100644 --- a/plugin/hightlight.vim +++ b/plugin/hightlight.vim @@ -100,19 +100,20 @@ endfunction " ====================================================================== function! s:AppendToSearch(reg, pattern) - let s:last_seen = a:pattern - if !has_key(s:registry_colors, a:reg) - call s:InitRegister(a:reg, g:highlight_register_default_color) + if len(a:pattern) > 0 + if !has_key(s:registry_colors, a:reg) + call s:InitRegister(a:reg, g:highlight_register_default_color) + endif + if !has_key(s:registry, a:reg) + let s:registry[a:reg] = {} + endif + " Don't want to add multiple match objects into registry + if !has_key(s:registry[a:reg], a:pattern) + let s:registry[a:reg][a:pattern] = + \ matchadd(s:GroupName(a:reg), a:pattern) + endif + call s:ActivateRegister(a:reg) endif - if !has_key(s:registry, a:reg) - let s:registry[a:reg] = {} - endif - " Don't want to add multiple match objects into registry - if !has_key(s:registry[a:reg], a:pattern) - let s:registry[a:reg][a:pattern] = - \ matchadd(s:GroupName(a:reg), a:pattern) - endif - call s:ActivateRegister(a:reg) endfunction @@ -155,15 +156,16 @@ endfunction exe 'hi Search cterm=bold,underline ctermbg=none ctermfg=' . g:highlight_register_default_color call s:InitRegister('0', 'Yellow') -call s:InitRegister('1', 'DarkYellow') +call s:InitRegister('1', 'Blue') call s:InitRegister('2', 'Red') call s:InitRegister('3', 'Magenta') call s:InitRegister('4', 'Green') call s:InitRegister('5', 'Cyan') -call s:InitRegister('6', 'Blue') +call s:InitRegister('6', 'DarkYellow') call s:InitRegister('7', 'White') call s:InitRegister('8', 'Gray') call s:InitRegister('9', 'Black') +call s:AppendToSearch(v:register, @/) noremap HighlightRegistry_AppendToSearch \ :call AppendToSearch(v:register, '\<'.expand('').'\>')