AceJS中.addRules()和.embedRules()有什么区别?

时间:2013-11-30 13:15:16

标签: javascript syntax-highlighting ace-editor

来自Ace文档:

Like addRules, embedRules adds on to the existing this.$rules object.

从给定的例子中我发现这两种方法没有区别。

所以,

这两种方法有什么区别?你能提供使用它们的例子吗?

1 个答案:

答案 0 :(得分:1)

https://github.com/ajaxorg/ace/blob/master/lib/ace/mode/text_highlight_rules.js#L53-L104 embedRules在内部调用addRules,但是接受一组不同的参数。

基本上embedRules允许采用语言的高亮规则构造函数添加转义规则并将结果规则添加到语言中

this.embedTagRules(
   JavaScriptHighlightRules,
   "js-", 
   [{regex: "</script>", token: "tag"}], // token that should return to initial state
   undefined, // add escape rules to all js states
   false      // escape rules should match before js rules
)