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

时间:2015-08-18 13:25:38

标签: javascript regex token ace-editor

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

所以我需要帮助,在ace的ace-builds下为mode-xml.js文件创建一个新的突出显示规则。我想提供一些解释。

1 个答案:

答案 0 :(得分:1)

以下方法将突出显示所有&#34; Android&#34;或&#34;工具&#34;在属性名称中(如<element Android:id="myValue"></element>)。它将自动适用于所有主题。

    • 如果您要修改mode-xml.js,请在attributes中找到this.$rules数组(使用冒号进行简单搜索attributes: - 应该将其拉出来) 。然后继续执行第2步。

    • 如果您要修改mode-html.js,请在attributes内找到名为this.addRules()第二个数组( {{ 1}})。然后继续执行第2步。

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

    attributes

    这会创建一个查找单词&#34; Android&#34;和&#34;工具&#34; (由{ token: "purple_text", regex: "Android|tools", caseInsensitive: true }, 字段中的RegEx指定),并且无论其情况如何(由regex表示),都会为其分配caseInsensitive: true类(在ace_purple_text中分配;随意更改班级名称)。您也可以使用此结构创建其他规则。

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

    .ace_purple_text