Получить соответствующие скобки в редакторе ace js

Есть ли способ получить положение соответствующей скобки в редакторе ace js?

Итак, скажем, что я перебираю строки и токены, как это

var editor = ace.edit("editor");
var session = editor.getSession();
for(var i = 0; i < session.getLength(); i++){
   var tokens = session.getTokens(i);
   for(var j=0;j<thisTokens.length; j++){
       if(tokens[j].value == '{'){
           // how to get position of the closing bracket here?
       }
   }
}

Я заметил, что у туза есть этот https://github.com/ajaxorg/ace/blob/master/lib/ace/edit_session/bracket_match.js

но я просто не уверен, как его использовать. Этого нет в документации API.

2 ответа

Есть editor.session.findMatchingBracket функция https://github.com/ajaxorg/ace/blob/v1.2.6/lib/ace/editor.js#L522

Из библиотеки Ace Documentation вы можете использовать функцию jumpToMatching(), чтобы получить позицию положения Соответствующей скобки

  editor.jumpToMatching();
  var matchPosition = editor.selection.getCursor();

matchPosition должен дать вам согласованную позицию скобки.

Другие вопросы по тегам