From 32d9b61633cf758c6e186a4bb5e37660b41d87d4 Mon Sep 17 00:00:00 2001
From: Marijn Haverbeke <marijn@haverbeke.nl>
Date: Sat, 17 Jun 2017 22:56:13 +0200
Subject: [PATCH] [vim bindings] Adjust % to handle changed findMatchingBracket
 behavior

Issue #4803
---
 keymap/vim.js | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/keymap/vim.js b/keymap/vim.js
index 0310baded..336f1a7cc 100644
--- a/keymap/vim.js
+++ b/keymap/vim.js
@@ -1835,16 +1835,16 @@
         var ch = cursor.ch;
         var lineText = cm.getLine(line);
         var symbol;
-        do {
-          symbol = lineText.charAt(ch++);
+        for (; ch < lineText.length; ch++) {
+          symbol = lineText.charAt(ch);
           if (symbol && isMatchableSymbol(symbol)) {
-            var style = cm.getTokenTypeAt(Pos(line, ch));
+            var style = cm.getTokenTypeAt(Pos(line, ch + 1));
             if (style !== "string" && style !== "comment") {
               break;
             }
           }
-        } while (symbol);
-        if (symbol) {
+        }
+        if (ch < lineText.length) {
           var matched = cm.findMatchingBracket(Pos(line, ch));
           return matched.to;
         } else {
-- 
GitLab