如何将语法高亮添加到sublime文本2

Tyl*_*ler 13 ruby sublimetext2

给定字符串"text text #{interpolation}"Sublime Text 2用一种颜色突出显示整个字符串.我想强调插值文本,以便于选择.当我在插值部分按ctrl-shift-alt-p时,Sublime告诉我命名空间:source.ruby string.quoted.double.ruby source.ruby.embedded.source

我想知道在哪里我会定义一个规则来突出显示这个(我认为在tmLanguage文件中),该规则将采用什么格式,以及如何为其指定颜色.

小智 10

如果您深入了解所包含的Dawn.tmTheme文件(正确执行此突出显示的唯一包含的主题之一),您将找到这些突出显示规则String embedded-source,由于某些原因,某些主题完全忽略了这一点:

<dict>
    <key>name</key>
    <string>String embedded-source</string>
    <key>scope</key>
    <string>string source</string>
    <key>settings</key>
    <dict>
        <key>background</key>
        <string>#6F8BBA26</string>
        <key>fontStyle</key>
        <string></string>
        <key>foreground</key>
        <string>#080808</string>
    </dict>
</dict>
Run Code Online (Sandbox Code Playgroud)


Pau*_*eon 6

这更好,因为它实际上突出了插值中的代码作为普通代码,而不是所有相同的颜色.

<dict>
   <key>name</key>
      <string>Embedded Ruby Punctuation</string>
   <key>scope</key>
      <string>string punctuation.section.embedded.ruby</string>
   <key>settings</key>
   <dict>
      <key>foreground</key>
      <string>#F92672</string>
   </dict>
</dict>
<dict>
   <key>name</key>
      <string>Embedded Ruby Source</string>
   <key>scope</key>
      <string>string source.ruby.embedded.source</string>
   <key>settings</key>
   <dict>
      <key>foreground</key>
      <string>#FFFBF7</string>
   </dict>
</dict>
Run Code Online (Sandbox Code Playgroud)