From c78a6e6d937333fed276bddc4589f6313e277a8e Mon Sep 17 00:00:00 2001 From: Israel Chauca Fuentes Date: Thu, 12 Feb 2015 09:09:48 -0500 Subject: [PATCH] Allow using commas and colons in matchpairs. Fix #208. --- plugin/delimitMate.vim | 2 +- test/autoclose_matchpairs.vim | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugin/delimitMate.vim b/plugin/delimitMate.vim index f330efb..8addbab 100644 --- a/plugin/delimitMate.vim +++ b/plugin/delimitMate.vim @@ -48,7 +48,7 @@ function! s:init() "{{{ call s:option_init("autoclose", 1) " matchpairs call s:option_init("matchpairs", string(&matchpairs)[1:-2]) - call s:option_init("matchpairs_list", map(split(s:get('matchpairs'), ','), 'split(v:val, '':'')')) + call s:option_init("matchpairs_list", map(split(s:get('matchpairs'), '.:.\zs,\ze.:.'), 'split(v:val, ''^.\zs:\ze.$'')')) let pairs = s:get('matchpairs_list') if len(filter(pairs, 'v:val[0] ==# v:val[1]')) echohl ErrorMsg diff --git a/test/autoclose_matchpairs.vim b/test/autoclose_matchpairs.vim index f3062a9..faa69a9 100644 --- a/test/autoclose_matchpairs.vim +++ b/test/autoclose_matchpairs.vim @@ -1,8 +1,8 @@ -let g:delimitMate_matchpairs = '(:),{:},[:],<:>,¿:?,¡:!' +let g:delimitMate_matchpairs = '(:),{:},[:],<:>,¿:?,¡:!,,::' let lines = readfile(expand(':t:r').'.txt') call vimtest#StartTap() let testsnumber = len(filter(copy(lines), 'v:val =~ ''^"''')) -let itemsnumber = len(split(g:delimitMate_matchpairs, ',')) +let itemsnumber = len(split(g:delimitMate_matchpairs, '.:.\zs,\ze.:.')) call vimtap#Plan(testsnumber * itemsnumber) let tcount = 1 let reload = 1 @@ -24,7 +24,7 @@ for item in lines let reload = 0 endif let [input, output] = split(item, '"\%(\\.\|[^\\"]\)*"\zs\s*\ze"\%(\\.\|[^\\"]\)*"') - for [s:l,s:r] in map(split(g:delimitMate_matchpairs, ','), 'split(v:val, ":")') + for [s:l,s:r] in map(split(g:delimitMate_matchpairs, '.:.\zs,\ze.:.'), 'split(v:val, ''.\zs:\ze.'')') let input2 = substitute(input, '(', s:l, 'g') let input2 = substitute(input2, ')', s:r, 'g') let output2 = substitute(output, '(', s:l, 'g')