Reputation: 81
I'm looking for a package similar to atom swackets, allowing rainbow coloring of brackets (and eventually parentheses) regardless of language I'm using.
(note : there is a package already doing it only for parenthesis on lips but I it doesn't correspond to what I'm looking for)
edit : juste use VSCode.
Upvotes: 3
Views: 7396
Reputation: 19
You can use this package for sublime text 3 https://packagecontrol.io/packages/Rainbowth
Upvotes: 1
Reputation: 4847
I don't know whether there is a package for this, but just doing it on your own should not be that hard (if you have a good syntax file).
Syntax files usually scope a brace as meta.brace.curly
and each brace adds a meta scope meta.group.braces.curly
.
Knowing this we can change the colorscheme. (To find your colorscheme you can use PackageResourceViewer)
Just add a different color for a different number of surrounding meta.group.braces.curly
context. For example you can add this at a reasonable position:
<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>
This results in the following highlighting:
Upvotes: 5