diff --git a/autoload/delimitMate.vim b/autoload/delimitMate.vim index a8cf238..db1116e 100644 --- a/autoload/delimitMate.vim +++ b/autoload/delimitMate.vim @@ -5,6 +5,7 @@ let s:defaults.delimitMate_quotes = ['"', "'", '`'] let s:defaults.delimitMate_enabled = 1 let s:defaults.delimitMate_autoclose = 1 let s:defaults.delimitMate_expand_space = 0 +let s:defaults.delimitMate_jump_expansion = 0 let s:defaults.delimitMate_expand_inside_quotes = 0 let s:defaults.delimitMate_smart_pairs = 1 let s:defaults.delimitMate_smart_pairs_extra = [] @@ -293,16 +294,25 @@ endfunction function! s:keys4right(char, pair, info, opts) "{{{1 if !a:opts.autoclose if s:info.cur.around == a:pair + echom 41 return "\" elseif s:info.cur.p_char == strcharpart(a:pair, 0, 1) + echom 42 return "\U\" endif + echom 43 return "" endif if strcharpart(a:info.cur.text[a:info.cur.col - 1 :], 0, 1) ==# a:char - echom 41 + echom 44 return "\" endif + if a:opts.expand_space && a:opts.jump_expansion + \ && matchstr(a:info.cur.ahead, '^ ['.escape(a:char, '\^[]').']') ==# ' ' . a:char + echom 45 + return "\\\U\ \U\" + endif + echom 49 return '' endfunction diff --git a/test/expand_space.vim b/test/expand_space.vim index 0bf5e9b..a29c902 100644 --- a/test/expand_space.vim +++ b/test/expand_space.vim @@ -14,16 +14,13 @@ call vimtest#StartTap() call vimtap#Plan(12) let g:delimitMate_expand_space = 1 -DelimitMateReload " Issue #95 let b:delimitMate_jump_expansion = 1 -DelimitMateReload -call DMTest_pairs('', "( test)x", '( test )x') +call DMTest_pairs('', "i( test)x", '( test )x') let delimitMate_expand_inside_quotes = 1 -DelimitMateReload -call DMTest_quotes('', "' x", "' x '") +call DMTest_quotes('', "i' x", "' x '") call vimtest#Quit()