mirror of
https://github.com/Raimondi/delimitMate.git
synced 2026-01-20 10:03:02 +08:00
Block-wise visual wrapping works with limitations.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,4 +1,5 @@
|
||||
*.sw?
|
||||
*.un?
|
||||
*.vba
|
||||
*.zip
|
||||
*.gz
|
||||
|
||||
@@ -186,27 +186,12 @@ function! delimitMate#IsBlockVisual() " {{{
|
||||
endfunction " }}}
|
||||
|
||||
function! delimitMate#Visual(del) " {{{
|
||||
let mode = mode()
|
||||
if mode == "\<C-V>"
|
||||
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 = "\<BS>"
|
||||
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 == "\<C-V>"
|
||||
" Block-wise visual
|
||||
return "I" . ld . "\<Esc>gv\<Right>A" . rd . "\<Esc>"
|
||||
elseif mode ==# "V"
|
||||
let dchar = "\<BS>"
|
||||
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 . "\<C-R>\"" . dchar . rd . "\<Esc>:call delimitMate#RestoreRegister()\<CR>"
|
||||
endfunction " }}}
|
||||
|
||||
|
||||
@@ -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 <Space> is inserted after <Space>
|
||||
|
||||
Reference in New Issue
Block a user