有没有办法在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?
}
}
}
我注意到ace有这个 https://github.com/ajaxorg/ace/blob/master/lib/ace/edit_session/bracket_match.js
但我对如何利用它不太确定。它不在API文档中。
答案 0 :(得分:1)
从Ace文档库中,您可以使用jumpToMatching()函数来获取匹配括号位置的位置
editor.jumpToMatching();
var matchPosition = editor.selection.getCursor();
matchPosition应该为您提供匹配的括号位置。
答案 1 :(得分:1)
editor.session.findMatchingBracket
函数https://github.com/ajaxorg/ace/blob/v1.2.6/lib/ace/editor.js#L522