2013-02-21 104 views
13

給定字符串"text text #{interpolation}"崇高文本2使用一種顏色突出顯示整個字符串。我想突出顯示插入的文本,以便輕鬆挑選出來。當我按Ctrl-Shift-ALT-P在插值部分崇高告訴我的命名空間:source.ruby string.quoted.double.ruby source.ruby.embedded.source如何將語法高亮添加到崇高文本2

我想知道在那裏我會定義一個規則來突出這個(我認爲在tmLanguage文件),什麼格式規則將採取,以及如何去分配一個顏色。

+3

+1爲ctrl-shift-alt-p技巧,非常有用 – 2013-02-21 23:43:16

+0

tmLanguage文件設置語法。例如,它告訴崇高,「#」和「}」之間的任何內容都是該語法的「String embedded-source」。主題文件將告訴sublime爲所有「String embedded-source」實例使用特定的顏色/背景。 – 2013-02-21 23:47:28

回答

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> 
+0

不錯的提示,謝謝 – 2013-02-21 19:42:48

+0

我把它複製到我使用的主題中,然後編輯顏色的十六進制直到有一個我喜歡的顏色。萬分感謝。 – Tyler 2013-02-25 19:49:18

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>