如何在ace中为mode-xml.js添加新的高亮规则?

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

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

所以我需要帮助在 ace 的 ace-builds 下为 mode-xml.js 文件创建新的突出显示规则。希望能给个解释

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

    • 如果您正在修改 mode-xml.js,请在 this.$rules 中找到 attributes 数组(对 attributes: 的简单搜索 — 使用冒号 — 应该拉起来)。然后进行第2步。

    • 如果你正在修改mode-html.js,在this.addRules()中找到名为attributessecond数组(不是 this.$rules)。然后进行第2步。

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

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

    这将创建一条规则,用于查找单词 "Android" 和 "tools"(由 regex 字段中的 RegEx 指定),并且不管它们的大小写(如 caseInsensitive: true),为它们分配 class ace_purple_text(在 token 中分配;随意更改 class 名称)。您也可以使用此结构来创建其他规则。

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

    .ace_purple_text {
        color: purple;
    }