diff --git a/autoload/delimitMate.vim b/autoload/delimitMate.vim index d0d2779..9bcc199 100644 --- a/autoload/delimitMate.vim +++ b/autoload/delimitMate.vim @@ -406,9 +406,9 @@ function! delimitMate#ExpandReturn() "{{{ " Expand: call delimitMate#FlushBuffer() - let b:delimitMate_lineSuffix = getline('.')[col('.')-1:] - call feedkeys("\l\"_Do \\\=b:delimitMate_lineSuffix\\k$i\", 't') - return '' + " Not sure why I used the previous combos, but I'm sure somebody will tell + " me about it. + return "\a\\O" else return "\" endif diff --git a/test/expand_cr.txt b/test/expand_cr.txt new file mode 100644 index 0000000..7484435 --- /dev/null +++ b/test/expand_cr.txt @@ -0,0 +1,12 @@ +# +%d +filetype indent on +set bs=2 et sts=4 sw=4 ft=javascript +call setline(1, '$(document).ready(function() {})') +DelimitMateReload +exec "normal 31|i\x\" +================================================================================ +$(document).ready(function() { + x +}) +-------------------------------------------------------------------------------- diff --git a/test/expand_cr.vim b/test/expand_cr.vim new file mode 100644 index 0000000..9dee051 --- /dev/null +++ b/test/expand_cr.vim @@ -0,0 +1,42 @@ +let g:delimitMate_expand_cr = 1 +"DelimitMateReload +let lines = readfile(expand(':t:r').'.txt') +call vimtest#StartTap() +let testsnumber = len(filter(copy(lines), 'v:val =~ ''^=\{80}$''')) +call vimtap#Plan(testsnumber) +let tcount = 1 +let expect = 0 +let evaluate = 0 +for item in lines + if item =~ '^=\{80}$' + let expect = 1 + let expected = [] + continue + endif + + if item =~ '^#\|^\s*$' && expect == 0 + " A comment or empty line. + continue + endif + if ! expect + " A command. + exec item + call vimtap#Diag(item) + continue + endif + if item =~ '^-\{80}$' + let expect = 0 + endif + if expect + call add(expected, item) + continue + endif + let lines = getline(1, line('$')) + let passed = lines == expected + echom string(lines) + echom string(expected) + call vimtap#Ok(passed, string(expected) . + \ (passed ? ' =' : ' !') . '= ' . string(lines)) + let tcount += 1 +endfor +call vimtest#Quit()