Add insert_eol_marker

This commit is contained in:
Israel Chauca Fuentes
2017-02-11 19:13:09 -05:00
parent 7752546515
commit 0f6581c6f3
2 changed files with 17 additions and 14 deletions

View File

@@ -7,6 +7,8 @@ let s:defaults.delimitMate_autoclose = 1
let s:defaults.delimitMate_expand_space = 0 let s:defaults.delimitMate_expand_space = 0
let s:defaults.delimitMate_expand_cr = 0 let s:defaults.delimitMate_expand_cr = 0
let s:defaults.delimitMate_jump_expansion = 0 let s:defaults.delimitMate_jump_expansion = 0
let s:defaults.delimitMate_insert_eol_marker = 0
let s:defaults.delimitMate_eol_marker = ';'
let s:defaults.delimitMate_expand_inside_quotes = 0 let s:defaults.delimitMate_expand_inside_quotes = 0
let s:defaults.delimitMate_smart_pairs = 1 let s:defaults.delimitMate_smart_pairs = 1
let s:defaults.delimitMate_smart_pairs_extra = [] let s:defaults.delimitMate_smart_pairs_extra = []
@@ -318,8 +320,9 @@ function! s:keys4left(char, pair, info, opts) "{{{1
echom 33 echom 33
return '' return ''
endif endif
let eol_marker = a:opts.insert_eol_marker == 1 && empty(a:info.cur.ahead) ? a:opts.eol_marker . "\<C-G>U\<Left>" : ''
echom 34 echom 34
return strcharpart(a:pair, 1, 1) . "\<C-G>U\<Left>" return strcharpart(a:pair, 1, 1) . eol_marker . "\<C-G>U\<Left>"
endfunction endfunction
function! s:keys4right(char, pair, info, opts) "{{{1 function! s:keys4right(char, pair, info, opts) "{{{1
@@ -398,7 +401,8 @@ function! s:keys4cr(info, opts) "{{{1
echom 71 echom 71
let right = a:info.cur.line let right = a:info.cur.line
let rm_spaces = empty(a:info.cur.behind) ? '' : "\<C-U>" let rm_spaces = empty(a:info.cur.behind) ? '' : "\<C-U>"
return rm_spaces . "\<Del>x\<C-G>U\<Left>\<BS>\<CR>" . a:info.cur.n_char . "\<Del>\<Up>\<End>\<CR>" let eol_marker = a:opts.insert_eol_marker == 2 && strchars(a:info.cur.ahead) == 1 ? a:opts.eol_marker : ''
return rm_spaces . "\<Del>x\<C-G>U\<Left>\<BS>\<CR>" . a:info.cur.n_char . "\<Del>" . eol_marker . "\<Up>\<End>\<CR>"
endif endif
if a:opts.expand_cr && a:opts.expand_inside_quotes if a:opts.expand_cr && a:opts.expand_inside_quotes
\&& !empty(filter(copy(a:opts.quotes), 'v:val.v:val ==# a:info.prev.around')) \&& !empty(filter(copy(a:opts.quotes), 'v:val.v:val ==# a:info.prev.around'))

View File

@@ -11,33 +11,32 @@
" - Add 5 to vimtap#Plan(). " - Add 5 to vimtap#Plan().
call vimtest#StartTap() call vimtest#StartTap()
call vimtap#Plan(8) call vimtap#Plan(9)
let g:delimitMate_expand_cr = 1 let g:delimitMate_expand_cr = 1
let g:delimitMate_eol_marker = ';' let g:delimitMate_eol_marker = ';'
" NOTE: Do not forget to update the plan ^ " NOTE: Do not forget to update the plan ^
let g:delimitMate_insert_eol_marker = 0 let g:delimitMate_insert_eol_marker = 0
DelimitMateReload
call DMTest_single('', '(', '()') call DMTest_single('', 'i(', '()')
call DMTest_single('', "(\<CR>x", ['(', 'x', ')']) call DMTest_single('', "i(\<CR>x", ['(', 'x', ')'])
let g:delimitMate_insert_eol_marker = 1 let g:delimitMate_insert_eol_marker = 1
DelimitMateReload call DMTest_single('', 'i(', '();')
call DMTest_single('', '(', '();')
call DMTest_single('', "(\<CR>x", ['(', 'x', ');']) call DMTest_single(' a', 'i(', '() a')
call DMTest_single('', "i(\<CR>x", ['(', 'x', ');'])
let g:delimitMate_insert_eol_marker = 2 let g:delimitMate_insert_eol_marker = 2
DelimitMateReload call DMTest_single('', 'i(', '()')
call DMTest_single('', '(', '()')
call DMTest_single('', "(\<CR>x", ['(', 'x', ');']) call DMTest_single('', "i(\<CR>x", ['(', 'x', ');'])
call DMTest_single('', "{(\<CR>x", ['{(', 'x', ')};']) call DMTest_single('', "i{(\<CR>x", ['{(', 'x', ')}'])
call DMTest_single('', ";\<Esc>I{(\<CR>x", ['{(', 'x', ')};']) call DMTest_single('', "i;\<Left>{(\<CR>x", ['{(', 'x', ')};'])
" End: quit vim. " End: quit vim.
call vimtest#Quit() call vimtest#Quit()