在 Ace 编辑器中获取下一个标记类型

Get next token type in Ace Editor

在会话中,您可以使用以下方法获取令牌:

token = session.getTokenAt(row, column);
token.type; // text.xml

有没有办法获得下一个令牌类型?

token = session.getTokenAt(row, column);
token.type; // text.xml
token = session.getNextToken(token);
token.type; // meta.tag.punctuation.end-tag-open.xml

我有一个包含数据 URI 字符串的值,我想跳到下一个标记。

示例XML:

<data>
    abcdef...
    abcdef...
    ...5000 more rows...
</data>

示例 XML 属性:

<data src="abcdef...5000 characters..." />

使用令牌迭代器

var TokenIterator = require("ace/token_iterator").TokenIterator;
var stream = new TokenIterator(session, row, column);
next = stream.stepForward()

https://github.com/ajaxorg/ace/blob/v1.2.8/lib/ace/mode/folding/latex.js#L87