Smart quotes consider balanced quotes on current line. Closes #94.

This commit is contained in:
Israel Chauca Fuentes
2013-06-19 00:43:42 -04:00
parent d4ba528935
commit 70e1ac1462
4 changed files with 16 additions and 11 deletions

View File

@@ -261,8 +261,11 @@ function! delimitMate#IsSmartQuote(char) "{{{
let valid_char_re = '\w\|[^[:punct:][:space:]]'
let word_before = char_before =~ valid_char_re
let word_at = char_at =~ valid_char_re
let escaped = delimitMate#CursorIdx() >= 1 && delimitMate#GetCharFromCursor(-1) == '\'
let result = word_before || escaped || word_at
let escaped = delimitMate#CursorIdx() >= 1
\ && delimitMate#GetCharFromCursor(-1) == '\'
let noescaped = substitute(getline('.'), '\\.', '', 'g')
let even = !(count(split(noescaped, '\zs'), a:char) % 2)
let result = word_before || escaped || word_at || !even
return result
endfunction "delimitMate#SmartQuote }}}