From 7b29dfc43a0220cfc20d657e68eeddaa0d1d3674 Mon Sep 17 00:00:00 2001 From: KillTheMule Date: Tue, 3 May 2016 21:16:53 +0200 Subject: vim-patch:256972a Updated runtime files. https://github.com/vim/vim/commit/256972a9849b5d575b62a6a71be5b6934b5b0e8b Missing files in runtime/doc: todo.txt, tags. Patch to runtime/doc/syntax.txt was applied manually in part, for no discernible reason. --- runtime/plugin/matchparen.vim | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'runtime/plugin') diff --git a/runtime/plugin/matchparen.vim b/runtime/plugin/matchparen.vim index 3804ab949a..2a5a16a57e 100644 --- a/runtime/plugin/matchparen.vim +++ b/runtime/plugin/matchparen.vim @@ -55,14 +55,19 @@ function! s:Highlight_Matching_Pair() let before = 0 let text = getline(c_lnum) - let c = text[c_col - 1] + let matches = matchlist(text, '\(.\)\=\%'.c_col.'c\(.\)') + if empty(matches) + let [c_before, c] = ['', ''] + else + let [c_before, c] = matches[1:2] + endif let plist = split(&matchpairs, '.\zs[:,]') let i = index(plist, c) if i < 0 " not found, in Insert mode try character before the cursor if c_col > 1 && (mode() == 'i' || mode() == 'R') - let before = 1 - let c = text[c_col - 2] + let before = strlen(c_before) + let c = c_before let i = index(plist, c) endif if i < 0 -- cgit