PersistentRegexHighlight - 请更详细的例子

时间:2013-03-24 02:35:00

标签: sublimetext2 sublimetext

使用现有文档作为指南,有人可以请给我一个更详细的例子来实现具有特定语法的PersistentRegexHighlight插件(例如,LaTeX,或不同的语法,无论是什么更轻松)。也许我们可以做一些简单的事情,比如下划线改变[Ff]oo的颜色。


我对如何确定[Ff]oo是什么感到困惑。在我的常规主题文件中,<string>Keyword</string>会影响大多数LaTeX代码的颜色。在LaTeX.tmLanugage文件中,开头提到了七个键 - 例如keyword.control.preamble.latex。我最好的猜测是,[Ff]oo可以是预定义的语言文件密钥,例如keyword.control.preamble.latex


我假设此正则表达式代码位于PersistentRegexHighlight.sublime-settings内,或者可能是用户语法特定文件(例如LaTeX.sublime-settings)。

{
  "regex": [{
    "pattern": "[Ff]oo",
    "color_scope": "color.scope.name",
    "ignore_case": true
  }, {
    "pattern": "constant.language",
    "color_scope": "constant.language"
  }]

  "regex": [{
    "pattern": "Bar",
    "color": "00FF00",
    "ignore_case": false
  }]
}

我假设此代码进入用户指定的主题文件。我不明白我们在哪里获得regex.highlight.one,因为它未在PersistentRegexHighlight.sublime-settings中引用。

<dict>
    <key>name</key>
    <string>Regex Highlight</string>
    <key>scope</key>
    <string>regex.highlight.one</string>
    <key>settings</key>
    <dict>
        <key>foreground</key>
        <string>#75715E</string>
    </dict>
</dict>

1 个答案:

答案 0 :(得分:0)

必要的免责声明。我是PersitsentRegexHighlight插件的作者/维护者。现在这样做是一个更好的例子。

我以为我在“下划线”中加了一个例子,但我想我忘了。对于下划线,您将在正则表达式模式中添加“下划线”键。如果您使用的是ST2,则无法指定下划线样式。至于颜色,您可以指定两种方式之一。第一个是使用键color指定十六进制。这将创建一个新的配色方案文件,因此这可能并不理想。第二种方法是指定范围。如果查看tmTheme文件,您将看到一个条目列表。其中一个键是scope,用作color_scope名称。以下示例将突出显示正则表达式[Ff]oo与字符串相同的颜色并加下划线。

{
    "regex": [{
        "pattern": "[Ff]oo",
        "color_scope": "string",
        "underline": true
    }]
}

这些设置放在PersistentRegexHighlight.sublime-settings中,或者可以创建为特定于项目。

我建议您查看一个tmTheme文件,以便更好地了解它正在做什么。当然,随意提出更多问题。