diff options
Diffstat (limited to 'vim/plugin/rainbow_paren.vim')
-rw-r--r-- | vim/plugin/rainbow_paren.vim | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/vim/plugin/rainbow_paren.vim b/vim/plugin/rainbow_paren.vim deleted file mode 100644 index 9c26134..0000000 --- a/vim/plugin/rainbow_paren.vim +++ /dev/null @@ -1,96 +0,0 @@ -" this script by Shawn M Moore aka Sartak <sartak at gmail.com> -" also by Michael R Geddes aka frogonwheels <vimmer at frog.wheelycreek.net> -" originally by anonymous - -" this in the public domain -" last updated 25 Mar 07 - -" this does nothing unless you, -" let g:rainbow = 1 - -" and set which kinds of character pairs you want to rainbow -" let g:rainbow_paren = 1 " () -" let g:rainbow_brace = 1 " {} -" let g:rainbow_bracket = 1 " [] -" let g:rainbow_angle = 1 " <> - -" if you want the different types to nest, such that the braces in ({}) are -" colored the same as the internal parens of (()), then -" let g:rainbow_nested = 1 - -function! Rainbow() - let s:basename = 'level' - exe 'hi '.s:basename.'1c ctermfg=6 guifg=#1673b0' - exe 'hi '.s:basename.'2c ctermfg=2 guifg=#008551' - exe 'hi '.s:basename.'3c ctermfg=3 guifg=#b25200' - exe 'hi '.s:basename.'4c ctermfg=4 guifg=#4369cc' - exe 'hi '.s:basename.'5c ctermfg=5 guifg=#a045a7' - " this color is never nested, it only appears on the outermost layer - exe 'hi '.s:basename.'6c ctermfg=1 guifg=#c7394e' - - " helper function - func s:DoSyn(cur, top, left, right, uniq) - let uniq = a:uniq - if exists("g:rainbow_nested") && g:rainbow_nested != 0 - let uniq = "" - endif - - let cmd = 'syn region '.s:basename.uniq.a:cur.' transparent fold matchgroup='.s:basename.a:cur.'c start=/'.a:left.'/ end=/'.a:right.'/ contains=TOP' - - let i = a:cur - - if i == 1 - let i = a:top - endif - - while i <= a:top - let cmd = cmd . ',' . s:basename . uniq . i - let i = i + 1 - endwhile - exe cmd - endfunc - - func s:DoSyntaxes(count) - let i = 1 - - while i <= a:count - " if you define new pairs, make sure to take into account that the - " delimiter is currently / and that it uses regex, so you need to escape - " regex metachars (like what is done for brackets) - - if exists("g:rainbow_paren") && g:rainbow_paren != 0 - " ocaml uses (* *) for comments; these shouldn't be highlighted - if &filetype == "ocaml" - call s:DoSyn(i, a:count, "(\\*\\@!", "\\*\\@<!)", "a") - else - call s:DoSyn(i, a:count, "(", ")", "a") - endif - endif - - if exists("g:rainbow_brace") && g:rainbow_brace != 0 - call s:DoSyn(i, a:count, "{", "}", "b") - endif - - if exists("g:rainbow_bracket") && g:rainbow_bracket != 0 - call s:DoSyn(i, a:count, "\\[", "\\]", "c") - endif - - if exists("g:rainbow_angle") && g:rainbow_angle != 0 - call s:DoSyn(i, a:count, "<", ">", "d") - endif - - let i = i + 1 - endwhile - endfun - - call s:DoSyntaxes(6) " 6 is the number of colors we have - - delfun s:DoSyn - delfun s:DoSyntaxes -endfunction - -if exists("g:rainbow") && g:rainbow - augroup rainbow - autocmd BufWinEnter,FileType * call Rainbow() - augroup END -endif |