0

使用现有文档作为指南,是否有人可以给我一个更详细的示例,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>
4

1 回答 1

0

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

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

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

这些设置要么放在 PersistentRegexHighlight.sublime-settings 中,要么可以创建为项目特定的。

我建议查看 tmTheme 文件,以更好地了解它在做什么。当然,请随时提出更多问题。

于 2013-03-24T07:26:58.157 回答