diff --git a/autoload/rainbow_parentheses.vim b/autoload/rainbow_parentheses.vim index 87a74ad..d070ba2 100644 --- a/autoload/rainbow_parentheses.vim +++ b/autoload/rainbow_parentheses.vim @@ -4,28 +4,22 @@ " 2011-10-12: Use less code. Leave room for deeper levels. "============================================================================== -let s:pairs = [ - \ ['brown', 'RoyalBlue3'], - \ ['Darkblue', 'SeaGreen3'], - \ ['darkgray', 'DarkOrchid3'], - \ ['darkgreen', 'firebrick3'], - \ ['darkcyan', 'RoyalBlue3'], - \ ['darkred', 'SeaGreen3'], - \ ['darkmagenta', 'DarkOrchid3'], - \ ['brown', 'firebrick3'], - \ ['gray', 'RoyalBlue3'], - \ ['black', 'SeaGreen3'], - \ ['darkmagenta', 'DarkOrchid3'], - \ ['Darkblue', 'firebrick3'], - \ ['darkgreen', 'RoyalBlue3'], - \ ['darkcyan', 'SeaGreen3'], - \ ['darkred', 'DarkOrchid3'], +let s:rpairs= [ + \ ['red', 'RoyalBlue3'], + \ ['brown', 'SeaGreen3'], + \ ['blue', 'DarkOrchid3'], + \ ['gray', 'firebrick3'], + \ ['green', 'RoyalBlue3'], + \ ['magenta', 'SeaGreen3'], + \ ['cyan', 'DarkOrchid3'], + \ ['darkred', 'firebrick3'], \ ['red', 'firebrick3'], \ ] -let s:pairs = exists('g:rbpt_colorpairs') ? g:rbpt_colorpairs : s:pairs -let s:max = exists('g:rbpt_max') ? g:rbpt_max : max([len(s:pairs), 16]) +let s:pairs = exists('g:rbpt_colorpairs') ? reverse(g:rbpt_colorpairs) : reverse(s:rpairs) +let s:max = exists('g:rbpt_max') ? g:rbpt_max : max([len(s:pairs), 15]) let s:loadtgl = exists('g:rbpt_loadcmd_toggle') ? g:rbpt_loadcmd_toggle : 0 let s:types = [['(',')'],['\[','\]'],['{','}'],['<','>']] +let s:bold = exists('g:bold_parentheses') ? g:bold_parentheses : 1 func! s:extend() if s:max > len(s:pairs) @@ -39,8 +33,9 @@ cal s:extend() func! rainbow_parentheses#activate() let [id, s:active] = [1, 1] + let bold = s:bold ? ' cterm=bold gui=bold' : '' for [ctermfg, guifg] in s:pairs - exe 'hi default level'.id.'c ctermfg='.ctermfg.' guifg='.guifg + exe 'hi default level'.id.'c ctermfg='.ctermfg.' guifg='.guifg.bold let id += 1 endfor endfunc @@ -89,7 +84,7 @@ func! rainbow_parentheses#load(...) for each in range(1, s:max) let region = 'level'. each .(b:loaded[a:1] ? '' : 'none') let grp = b:loaded[a:1] ? 'level'.each.'c' : 'Normal' - let cmd = 'sy region %s matchgroup=%s start=/%s/ end=/%s/ contains=TOP,%s,NoInParens' + let cmd = 'sy region %s matchgroup=%s start=/%s/ end=/%s/ contains=TOP,%s,NoInParens fold' exe printf(cmd, region, grp, type[0], type[1], join(alllvls, ',')) cal remove(alllvls, 0) endfor diff --git a/readme.md b/readme.md index ddb8dd9..1a0b932 100644 --- a/readme.md +++ b/readme.md @@ -1,36 +1,48 @@ # Better Rainbow Parentheses +Forked from https://github.com/kien/rainbow_parentheses.vim since that now +appears to be unmaintained. + ### Options: +The colours used; the outermost pair is coloured with the last colour in the +list, the next-outermost with the second-last colour, etc. The first element of +each entry is the terminal colour, the second element is the GUI (gvim) colour. ```vim let g:rbpt_colorpairs = [ + \ ['red', 'RoyalBlue3'], + \ ['brown', 'SeaGreen3'], + \ ['blue', 'DarkOrchid3'], + \ ['gray', 'firebrick3'], + \ ['green', 'RoyalBlue3'], + \ ['magenta', 'SeaGreen3'], + \ ['cyan', 'DarkOrchid3'], + \ ['darkred', 'firebrick3'], \ ['brown', 'RoyalBlue3'], - \ ['Darkblue', 'SeaGreen3'], - \ ['darkgray', 'DarkOrchid3'], - \ ['darkgreen', 'firebrick3'], - \ ['darkcyan', 'RoyalBlue3'], - \ ['darkred', 'SeaGreen3'], - \ ['darkmagenta', 'DarkOrchid3'], - \ ['brown', 'firebrick3'], - \ ['gray', 'RoyalBlue3'], - \ ['black', 'SeaGreen3'], - \ ['darkmagenta', 'DarkOrchid3'], - \ ['Darkblue', 'firebrick3'], + \ ['darkblue', 'DarkOrchid3'], + \ ['gray', 'firebrick3'], \ ['darkgreen', 'RoyalBlue3'], - \ ['darkcyan', 'SeaGreen3'], - \ ['darkred', 'DarkOrchid3'], + \ ['darkmagenta', 'SeaGreen3'], + \ ['darkcyan', 'DarkOrchid3'], \ ['red', 'firebrick3'], \ ] ``` +How deep to colour (repeating the colour list if necessary) before giving up; +limited for performance reasons. ```vim -let g:rbpt_max = 16 +let g:rbpt_max = 15 ``` ```vim let g:rbpt_loadcmd_toggle = 0 ``` +Also bold parenthese to make the colours stand out more. +```vim +let g:bold_parentheses = 1 " Default on +``` + ### Commands: ```vim