Skip to content

Instantly share code, notes, and snippets.

@nebularg
Created September 26, 2022 20:15
Show Gist options
  • Save nebularg/7a69d820d7a35480cc367969714c6d69 to your computer and use it in GitHub Desktop.
Save nebularg/7a69d820d7a35480cc367969714c6d69 to your computer and use it in GitHub Desktop.
WoW TOC Syntax Highlighting
{
"name": "toc",
"fileTypes": [
"toc"
],
"scopeName": "source.toc",
"uuid": "C22B105F-216F-4779-9E20-7C881A2B0C99",
"patterns": [
{
"match": "^(##\\s*(\\S+))\\s*(:)\\s*(.*)$",
"captures": {
"1": {
"name": "keyword.tag.toc"
},
"2": {
"name": "keyword.tag.toc",
"patterns": [
{
"match": "[Xx]-[^:]+",
"name": "entity.name.tag.custom.toc"
},
{
"match": "(?i)(Title-|Notes-|)(?-i)(deDE|enCN|enGB|enTW|enUS|esES|esMX|frFR|itIT|ptBR|ptPT|ruRU|koKR|zhTW|zhCN)",
"name": "entity.name.tag.localized.toc"
},
{
"match": "(?i)(Interface|Title|Notes|RequiredDeps|\\bDep[^:]*|OptionalDeps|LoadOnDemand|LoadWith|LoadManagers|SavedVariablesPerCharacter|SavedVariables|DefaultState|Author|Version)",
"name": "entity.name.tag.toc"
},
{
"match": "(?i)(AllowLoad|OnlyBetaAndPTR|SavedVariablesMachine|Secure)",
"name": "entity.name.tag.restricted.toc"
},
{
"match": "\\S[^:]+",
"name": "invalid.tag.toc"
}
]
},
"3": {
"name": "punctuation.separator.key-value"
},
"4": {
"name": "string.value.toc",
"patterns": [
{
"match": "(\\|c)([a-fA-F0-9]{8})",
"captures": {
"1": {
"name": "constant.character.escape.toc"
},
"2": {
"name": "string.escape.coloring.toc"
}
}
},
{
"match": "(\\|r)",
"name": "constant.character.escape.toc"
},
{
"match": "@.*?@",
"name": "constant.other.packager.toc"
}
]
}
}
},
{
"match": "#.*$",
"name": "comment.toc"
},
{
"match": "^(?!#)[^ ].+\\.xml",
"name": "meta.require.xml.toc"
},
{
"match": "@.*?@",
"name": "constant.other.packager.toc"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment