diff --git a/lib/ace/editor.js b/lib/ace/editor.js index 72484840..9b9681e0 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -369,8 +369,11 @@ var Editor = function(renderer, session) { var pos = self.session.findMatchingBracket(self.getCursorPosition()); if (pos) { var range = new Range(pos.row, pos.column, pos.row, pos.column+1); - self.session.$bracketHighlight = self.session.addMarker(range, "ace_bracket", "text"); + } else if (self.session.$mode.getMatching) { + var range = self.session.$mode.getMatching(self.session); } + if (range) + self.session.$bracketHighlight = self.session.addMarker(range, "ace_bracket", "text"); }, 50); }; diff --git a/lib/ace/mode/logicql.js b/lib/ace/mode/logicql.js index f63f1d0e..01c54c15 100644 --- a/lib/ace/mode/logicql.js +++ b/lib/ace/mode/logicql.js @@ -87,14 +87,15 @@ oop.inherits(Mode, TextMode); if (row == undefined) row = session.selection.lead if (typeof row == "object") { - row = row.row; column = row.column; + row = row.row; } var startToken = session.getTokenAt(row, column); var KW_START = "keyword.start", KW_END = "keyword.end"; var tok; - + if (!startToken) + return; if (startToken.type == KW_START) { var it = new TokenIterator(session, row, column); it.step = it.stepForward;