From cb6866f1c359ed4847f86e94745b369cc6ab16c3 Mon Sep 17 00:00:00 2001 From: Israel Chauca Fuentes Date: Sat, 11 Feb 2017 22:38:51 -0500 Subject: [PATCH] Improve smart rules --- autoload/delimitMate.vim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/autoload/delimitMate.vim b/autoload/delimitMate.vim index 8fcefe1..1a47a6c 100644 --- a/autoload/delimitMate.vim +++ b/autoload/delimitMate.vim @@ -22,16 +22,17 @@ let s:defaults.delimitMate_excluded_regions = ['String', 'Comment'] let s:exprs = [] call add(s:exprs, 'next_char =~# "\\w"') call add(s:exprs, 'next_char =~# "[".escape(v:char,"\\^]")."€£$]"') +call add(s:exprs, 'next_char =~# "[".escape(join(s:option("quotes"),""),"\\^]")."]"') call add(s:exprs, 'ahead =~# "^[^[:space:][:punct:]]"') let s:defaults.delimitMate_smart_pairs_base = s:exprs " Set smart_quotes expressions: let s:exprs = [] call add(s:exprs, 'prev_char =~# "\\w"') -call add(s:exprs, 'prev_char =~# "[^[:space:][:punct]".escape(join(options.quotes, ""), "\\^[]")."]"') +call add(s:exprs, 'prev_char =~# "[^[:space:][:punct:]".escape(join(options.quotes, ""), "\\^[]")."]"') call add(s:exprs, 'next_char =~# "\\w"') call add(s:exprs, 'char == "\"" && &filetype =~? "\\" && line =~ "^\\s*$"') -call add(s:exprs, 'next_char =~# "[^[:space:][:punct]".escape(join(options.quotes, ""), "\\^[]")."]"') +call add(s:exprs, 'next_char =~# "[^[:space:][:punct:]".escape(join(options.quotes, ""), "\\^[]")."]"') " Balance quotes call add(s:exprs, 'strchars(substitute(substitute(a:info.cur.line, "\\\\.", "", "g"), "[^".escape(char, "\\^[]")."]", "", "g")) % 2')