2016-07-15 40 views

回答

1

我不知道是否有這樣的包,但只要自己做就不應該那麼辛苦(如果你有一個好的語法文件)。

語法文件通常將大括號的範圍限定爲meta.brace.curly,每個大括號將添加元範圍meta.group.braces.curly。 知道這一點,我們可以改變colorscheme。 (要找到您的顏色方案,您可以使用PackageResourceViewer

只需爲不同數量的周圍環境meta.group.braces.curly添加不同的顏色即可。例如,你可以在一個合理的位置補充一點:

<dict> 
     <key>name</key> 
     <string>Brace Level 0</string> 
     <key>scope</key> 
     <string>meta.brace.curly</string> 
     <key>settings</key> 
     <dict> 
      <key>foreground</key> 
      <string>#990099</string> 
     </dict> 
    </dict> 
    <dict> 
     <key>name</key> 
     <string>Brace Level 1</string> 
     <key>scope</key> 
     <string>meta.group.braces.curly meta.brace.curly</string> 
     <key>settings</key> 
     <dict> 
      <key>foreground</key> 
      <string>#00ccff</string> 
     </dict> 
    </dict> 
    <dict> 
     <key>name</key> 
     <string>Brace Level 2</string> 
     <key>scope</key> 
     <string>meta.group.braces.curly meta.group.braces.curly meta.brace.curly</string> 
     <key>settings</key> 
     <dict> 
      <key>foreground</key> 
      <string>#33cc33</string> 
     </dict> 
    </dict> 
    <dict> 
     <key>name</key> 
     <string>Brace Level 3</string> 
     <key>scope</key> 
     <string>meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.brace.curly</string> 
     <key>settings</key> 
     <dict> 
      <key>foreground</key> 
      <string>#ffff00</string> 
     </dict> 
    </dict> 
    <dict> 
     <key>name</key> 
     <string>Brace Level 4</string> 
     <key>scope</key> 
     <string>meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.brace.curly</string> 
     <key>settings</key> 
     <dict> 
      <key>foreground</key> 
      <string>#ff00ff</string> 
     </dict> 
    </dict> 
    <dict> 
     <key>name</key> 
     <string>Brace Level 5</string> 
     <key>scope</key> 
     <string>meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.brace.curly</string> 
     <key>settings</key> 
     <dict> 
      <key>foreground</key> 
      <string>#cc3300</string> 
     </dict> 
    </dict> 
    <dict> 
     <key>name</key> 
     <string>Brace Level 6</string> 
     <key>scope</key> 
     <string>meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.brace.curly</string> 
     <key>settings</key> 
     <dict> 
      <key>foreground</key> 
      <string>#91e374</string> 
     </dict> 
    </dict> 
    <dict> 
     <key>name</key> 
     <string>Brace Level 7</string> 
     <key>scope</key> 
     <string>meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.brace.curly</string> 
     <key>settings</key> 
     <dict> 
      <key>foreground</key> 
      <string>#6699cc</string> 
     </dict> 
    </dict> 
    <dict> 
     <key>name</key> 
     <string>Brace Level 8</string> 
     <key>scope</key> 
     <string>meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.brace.curly</string> 
     <key>settings</key> 
     <dict> 
      <key>foreground</key> 
      <string>#0000cc</string> 
     </dict> 
    </dict> 
    <dict> 
     <key>name</key> 
     <string>Brace Level 9</string> 
     <key>scope</key> 
     <string>meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.brace.curly</string> 
     <key>settings</key> 
     <dict> 
      <key>foreground</key> 
      <string>#9900ff</string> 
     </dict> 
    </dict> 
    <dict> 
     <key>name</key> 
     <string>Brace Level 10</string> 
     <key>scope</key> 
     <string>meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.group.braces.curly meta.brace.curly</string> 
     <key>settings</key> 
     <dict> 
      <key>foreground</key> 
      <string>#6600cc</string> 
     </dict> 
    </dict> 

這將導致以下高亮:

brace highlighting

+0

感謝我將研究它。 – LucasP

+1

不幸的是,並非所有的語言定義都有嵌套的括號範圍,所以這不適用於所有語言。 – MattDMo

+0

@MattDMo是的,我的意思是「如果你有一個好的語法文件」,但我應該說清楚。由於他們目前正在進行大量的語法重寫,我希望越來越多的語言能夠支持它。 –

0

您可以使用此包崇高的文本3個 https://packagecontrol.io/packages/Rainbowth

+1

這個問題表明它應該是「無論使用哪種語言」。 Rainbowth需要配置一系列需要匹配才能工作的語言。 所以它可能夠好,但仍不能完全解決所述的問題。 – dubrox

+0

@dubrox Rainbowth配置爲添加一種新語言(實際上只是在設置文件中將語言名稱添加到其配置數組中),但儘管沒有錯誤,我仍然無法使其工作。 – EvilJordan