diff --git a/.gitignore b/.gitignore index 61217a3..2fda4f2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.sw? +*.un? *.vba *.zip *.gz diff --git a/autoload/delimitMate.vim b/autoload/delimitMate.vim index 599de28..0b0338d 100644 --- a/autoload/delimitMate.vim +++ b/autoload/delimitMate.vim @@ -186,27 +186,12 @@ function! delimitMate#IsBlockVisual() " {{{ endfunction " }}} function! delimitMate#Visual(del) " {{{ - let mode = mode() - if mode == "\" - redraw - echom "delimitMate: delimitMate is disabled on blockwise visual mode." - return "" - endif - " Store unnamed register values for later use in delimitMate#RestoreRegister(). - let b:save_reg = getreg('"') - let b:save_reg_mode = getregtype('"') - if len(getline('.')) == 0 " This for proper wrap of empty lines. let @" = "\n" endif - if mode ==# "V" - let dchar = "\" - else - let dchar = "" - endif - + " Let's find which kind of delimiter we got: let index = index(b:delimitMate_left_delims, a:del) if index >= 0 let ld = a:del @@ -219,12 +204,25 @@ function! delimitMate#Visual(del) " {{{ let rd = a:del endif - let index = index(b:delimitMate_quotes_list, a:del) - if index >= 0 + if index(b:delimitMate_quotes_list, a:del) >= 0 let ld = a:del let rd = ld endif + let mode = mode() + if mode == "\" + " Block-wise visual + return "I" . ld . "\gv\A" . rd . "\" + elseif mode ==# "V" + let dchar = "\" + else + let dchar = "" + endif + + " Store unnamed register values for later use in delimitMate#RestoreRegister(). + let b:save_reg = getreg('"') + let b:save_reg_mode = getregtype('"') + return "s" . ld . "\\"" . dchar . rd . "\:call delimitMate#RestoreRegister()\" endfunction " }}} diff --git a/doc/delimitMate.txt b/doc/delimitMate.txt index d518f12..21ef584 100644 --- a/doc/delimitMate.txt +++ b/doc/delimitMate.txt @@ -562,6 +562,8 @@ This script was inspired by the auto-completion of delimiters on TextMate. |---------|------------|-----------------------------------------------------| 2.4DEV 2010-06-06 * Current release: - Unbalanced parens: see :help delimitMateBalance. + - Visual wrapping now works on block-wise visual + with some limitations. |---------|------------|-----------------------------------------------------| 2.3.1 2010-06-06 * - Fix: an extra is inserted after