如何在ace中向mode-xml.js中添加一个新的突出显示规则

How to add a new highlighting rule to mode-xml.js in ace?

本文关键字:一个 规则 显示 ace 中向 mode-xml 添加 js      更新时间:2023-09-26

我想在ace中添加一个新规则到mode-xml.js。我怎么做呢?例如,我想确保所有被称为"android"或"tools"的单词都是紫色的。我知道我必须编辑主题以使其呈现紫色,但是我如何向mode-xml.js文件添加新规则,以便主题文件可以识别这些单词呢?

所以我需要帮助创建一个新的突出显示规则的模式-xml.js文件下的ace-builds by ace。

下面的方法将突出显示属性名称中出现的所有"Android"或"tools"(如<element Android:id="myValue"></element>)。它将自动适用于所有主题。

    • 如果您正在修改mode-xml.js,请在this.$rules中找到attributes数组(简单搜索attributes: -带冒号-应该将其拉出来)。

    • 如果您正在修改mode-html.js,请在this.addRules()中找到第二个数组attributes (而不是 this.$rules)。

  1. 复制下面的代码并将其添加到attributes数组的顶部(您正在修改的任何文件,如步骤1所示)。我添加了逗号,因为它不是数组中的最后一个元素:

    {
        token: "purple_text",
        regex: "Android|tools",
        caseInsensitive: true
    },
    

    这创建了一个规则,该规则查找单词"Android"answers"tools"(由regex字段中的RegEx指定),并且无论它们的情况(由caseInsensitive: true表示),将它们分配给ace_purple_text类(在token中分配;可以随意更改类名)。您也可以使用此结构创建其他规则。

  2. 在你的CSS文件中(链接到index.html的那个),为.ace_purple_text添加一个新规则。下面我有一个例子,突出显示紫色文本:

    .ace_purple_text {
        color: purple;
    }
    
相关文章: