Created
June 21, 2017 13:07
-
-
Save jocopa3/25107afa41fa51e8dd655daef684f12e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>fileTypes</key> | |
<array/> | |
<key>name</key> | |
<string>Minecraft Addon</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#value</string> | |
</dict> | |
</array> | |
<key>repository</key> | |
<dict> | |
<key>array</key> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.array.begin.json</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\]</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.array.end.json</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.structure.array.json</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#value</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#strings</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>,</string> | |
<key>name</key> | |
<string>punctuation.separator.array.json</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>[^\s\]]</string> | |
<key>name</key> | |
<string>invalid.illegal.expected-array-separator.json</string> | |
</dict> | |
</array> | |
</dict> | |
<key>comments</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>/\*\*</string> | |
<key>captures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.comment.json</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\*/</string> | |
<key>name</key> | |
<string>comment.block.documentation.json</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>/\*</string> | |
<key>captures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.comment.json</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\*/</string> | |
<key>name</key> | |
<string>comment.block.json</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.comment.json</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(//).*$\n?</string> | |
<key>name</key> | |
<string>comment.line.double-slash.js</string> | |
</dict> | |
</array> | |
</dict> | |
<key>constant</key> | |
<dict> | |
<key>match</key> | |
<string>\b(?:true|false|null)\b</string> | |
<key>name</key> | |
<string>constant.language.json</string> | |
</dict> | |
<key>mcaddon</key> | |
<dict> | |
<key>begin</key> | |
<string>\"</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.string.begin.json</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\"</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.string.end.json</string> | |
</dict> | |
</dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>comment</key> | |
<string>UI Inherit Type</string> | |
<key>match</key> | |
<string>(?<=\.)([a-zA-Z0-9_]+)(?=\")</string> | |
<key>name</key> | |
<string>support.function.uitype.mcaddon</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(\-)?\d+(\.\d+)?(\%)?(c|x|px)?(?=[\"\s-+])</string> | |
<key>name</key> | |
<string>constant.numeric.json</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Minecraft Keyword</string> | |
<key>match</key> | |
<string>(\b(minecraft)\b)</string> | |
<key>name</key> | |
<string>keyword.other.minecraft.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Minecraft Keyword</string> | |
<key>match</key> | |
<string>(\b(format_version)\b)</string> | |
<key>name</key> | |
<string>keyword.other.formatversion.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Minecraft Object Parameter</string> | |
<key>match</key> | |
<string>(?<=minecraft:)([^"]+)(?=")(?!"\s*[,\n])</string> | |
<key>name</key> | |
<string>entity.name.minecraftParam.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Minecraft Object Parameter</string> | |
<key>match</key> | |
<string>(?<=minecraft:)([0-9a-zA-Z_\.]+)</string> | |
<key>name</key> | |
<string>variable.parameter.minecraftParam.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Invalid Minecraft Parameter</string> | |
<key>match</key> | |
<string>(?<=minecraft:)([0-9a-zA-Z_\.]+(?!["]))</string> | |
<key>name</key> | |
<string>invalid.illegal.minecraft.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Definitions</string> | |
<key>match</key> | |
<string>(\b(items|family)\b)</string> | |
<key>name</key> | |
<string>support.function.definition.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Definitions</string> | |
<key>match</key> | |
<string>(\b(and|not|or)\b)</string> | |
<key>name</key> | |
<string>keyword.control.uilogic.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>UI Definition</string> | |
<key>match</key> | |
<string>(?<=\")([a-zA-Z0-9_]+)(?=\@)</string> | |
<key>name</key> | |
<string>keyword.other.uidefinition.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>UI Controls</string> | |
<key>match</key> | |
<string>([@$#|])</string> | |
<key>name</key> | |
<string>constant.numeric.uicontrol.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Parenthesis</string> | |
<key>match</key> | |
<string>([\(\)])</string> | |
<key>name</key> | |
<string>meta.parenthesis.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Hyperlink</string> | |
<key>match</key> | |
<string>(http|www)[^"]+</string> | |
<key>name</key> | |
<string>meta.hyperlink.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>File Path</string> | |
<key>match</key> | |
<string>(([a-zA-Z0-9_]+)\/)+[a-zA-Z0-9_\.]+</string> | |
<key>name</key> | |
<string>meta.filepath.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>UI Namespace</string> | |
<key>match</key> | |
<string>(\bnamespace\b)</string> | |
<key>name</key> | |
<string>keyword.other.uinamespace</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>UI Namespace Type</string> | |
<key>match</key> | |
<string>(?<=\@)([a-zA-Z0-9_]+)(?=[\.\"])</string> | |
<key>name</key> | |
<string>entity.name.namespae.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>UI Variable</string> | |
<key>match</key> | |
<string>(?<=\$)([a-zA-Z0-9_]+)</string> | |
<key>name</key> | |
<string>entity.name.uivar.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>UI Type</string> | |
<key>match</key> | |
<string>(?<=\#)([a-zA-Z0-9_]+)</string> | |
<key>name</key> | |
<string>variable.parameter.uitype.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>UI Default</string> | |
<key>match</key> | |
<string>(?<=\|)(\b(default)\b)</string> | |
<key>name</key> | |
<string>keyword.other.uidefault.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Event Functions</string> | |
<key>match</key> | |
<string>(\b(randomize|add|remove|sequence)\b)</string> | |
<key>name</key> | |
<string>support.function.eventFunction.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Loot Functions</string> | |
<key>match</key> | |
<string>(\b(functions|levels|count|rolls)\b)</string> | |
<key>name</key> | |
<string>support.function.loot.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Trade Parameters</string> | |
<key>match</key> | |
<string>(\b(wants|gives|quantity)\b)</string> | |
<key>name</key> | |
<string>support.function.trades.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Item Definitions</string> | |
<key>match</key> | |
<string>(\b(effects|enchanted_effects|food|seed)\b)</string> | |
<key>name</key> | |
<string>support.function.items.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Item camera definition</string> | |
<key>match</key> | |
<string>(?<=")(camera)(?="\s*:)</string> | |
<key>name</key> | |
<string>support.function.items.camera.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Components and Component Groups</string> | |
<key>match</key> | |
<string>(\b(component(s|_groups)\b))</string> | |
<key>name</key> | |
<string>keyword.control.components.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Trade Object Definitions</string> | |
<key>match</key> | |
<string>(\b(pools|entries|function|tiers|trades)\b)</string> | |
<key>name</key> | |
<string>entity.name.stuff.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Entity type</string> | |
<key>match</key> | |
<string>(\b(entity_types)\b)</string> | |
<key>name</key> | |
<string>entity.name.section.entityType.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Filters</string> | |
<key>match</key> | |
<string>(\b(filters)\b)</string> | |
<key>name</key> | |
<string>entity.name.section.filter.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Event keyword</string> | |
<key>match</key> | |
<string>(\b(event)\b)</string> | |
<key>name</key> | |
<string>entity.name.type.events.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Events keyword</string> | |
<key>match</key> | |
<string>(\b(events)\b)</string> | |
<key>name</key> | |
<string>keyword.control.events.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Json File Path</string> | |
<key>match</key> | |
<string>(?i)(?<=")[a-zA-Z0-9_/\\\.]+\.(json)(?=")</string> | |
<key>name</key> | |
<string>variable.other.filepath.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Array Definition</string> | |
<key>match</key> | |
<string>(?<=")([a-zA-Z0-9_:\+]+)(?="\s*:\s*\[)</string> | |
<key>name</key> | |
<string>storage.type.arrayDefinition.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Object Definition</string> | |
<key>match</key> | |
<string>(?<=")([a-zA-Z0-9_:\+]+)(?="\s*:\s*\{)</string> | |
<key>name</key> | |
<string>entity.name.objectDefinition.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Object Parameters</string> | |
<key>match</key> | |
<string>(?<=\")([^"])+(?=\" *\:)</string> | |
<key>name</key> | |
<string>variable.parameter.object.mcaddon</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Strings</string> | |
<key>match</key> | |
<string>(?<=\")[^"]+(?=")</string> | |
<key>name</key> | |
<string>string.quoted.double.mcaddon</string> | |
</dict> | |
</array> | |
</dict> | |
<key>number</key> | |
<dict> | |
<key>match</key> | |
<string>(?x) # turn on extended mode | |
-? # an optional minus | |
(?: | |
0 # a zero | |
| # ...or... | |
[1-9] # a 1-9 character | |
\d* # followed by zero or more digits | |
) | |
(?: | |
(?: | |
\. # a period | |
\d+ # followed by one or more digits | |
)? | |
(?: | |
[eE] # an e character | |
[+-]? # followed by an option +/- | |
\d+ # followed by one or more digits | |
)? # make exponent optional | |
(?: | |
(px|%(c|x)?) # % or px | |
)? | |
)? # make decimal portion optional</string> | |
<key>name</key> | |
<string>constant.numeric.json</string> | |
</dict> | |
<key>object</key> | |
<dict> | |
<key>begin</key> | |
<string>\{</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.dictionary.begin.json</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\}</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.dictionary.end.json</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.structure.dictionary.json</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>comment</key> | |
<string>the JSON object key</string> | |
<key>include</key> | |
<string>#mcaddon</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#comments</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>:</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.separator.dictionary.key-value.json</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(,)|(?=\})</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.separator.dictionary.pair.json</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.structure.dictionary.value.json</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>comment</key> | |
<string>the JSON object value</string> | |
<key>include</key> | |
<string>#value</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>[^\s,]</string> | |
<key>name</key> | |
<string>invalid.illegal.expected-dictionary-separator.json</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>[^\s\}]</string> | |
<key>name</key> | |
<string>invalid.illegal.expected-dictionary-separator.json</string> | |
</dict> | |
</array> | |
</dict> | |
<key>value</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#constant</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#number</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#mcaddon</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#array</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#object</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#comments</string> | |
</dict> | |
</array> | |
</dict> | |
</dict> | |
<key>scopeName</key> | |
<string>source.mcaddon</string> | |
<key>uuid</key> | |
<string>a0c7e4ae-079d-4d09-9b1d-5379c586f67a</string> | |
</dict> | |
</plist> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# [PackageDev] target_format: plist, ext: tmLanguage | |
name: Minecraft Addon | |
scopeName: source.mcaddon | |
fileTypes: [] | |
uuid: a0c7e4ae-079d-4d09-9b1d-5379c586f67a | |
patterns: | |
- include: '#value' | |
repository: | |
array: | |
name: meta.structure.array.json | |
begin: \[ | |
beginCaptures: | |
'0': {name: punctuation.definition.array.begin.json} | |
end: \] | |
endCaptures: | |
'0': {name: punctuation.definition.array.end.json} | |
patterns: | |
- include: '#value' | |
- include: '#strings' | |
- name: punctuation.separator.array.json | |
match: ',' | |
- name: invalid.illegal.expected-array-separator.json | |
match: '[^\s\]]' | |
comments: | |
patterns: | |
- name: comment.block.documentation.json | |
begin: /\*\* | |
end: \*/ | |
captures: | |
'0': {name: punctuation.definition.comment.json} | |
- name: comment.block.json | |
begin: /\* | |
end: \*/ | |
captures: | |
'0': {name: punctuation.definition.comment.json} | |
- name: comment.line.double-slash.js | |
match: (//).*$\n? | |
captures: | |
'1': {name: punctuation.definition.comment.json} | |
constant: | |
name: constant.language.json | |
match: \b(?:true|false|null)\b | |
mcaddon: | |
begin: \" | |
beginCaptures: | |
'0': {name: punctuation.definition.string.begin.json} | |
end: \" | |
endCaptures: | |
'0': {name: punctuation.definition.string.end.json} | |
patterns: | |
- comment: UI Inherit Type | |
name: support.function.uitype.mcaddon | |
match: (?<=\.)([a-zA-Z0-9_]+)(?=\") | |
- name: constant.numeric.json | |
match: (\-)?\d+(\.\d+)?(\%)?(c|x|px)?(?=[\"\s-+]) | |
- comment: Minecraft Keyword | |
name: keyword.other.minecraft.mcaddon | |
match: (\b(minecraft)\b) | |
- comment: Minecraft Keyword | |
name: keyword.other.formatversion.mcaddon | |
match: (\b(format_version)\b) | |
- comment: Minecraft Object Parameter | |
name: entity.name.minecraftParam.mcaddon | |
match: (?<=minecraft:)([^"]+)(?=")(?!"\s*[,\n]) | |
- comment: Minecraft Object Parameter | |
name: variable.parameter.minecraftParam.mcaddon | |
match: (?<=minecraft:)([0-9a-zA-Z_\.]+) | |
- comment: Invalid Minecraft Parameter | |
name: invalid.illegal.minecraft.mcaddon | |
match: (?<=minecraft:)([0-9a-zA-Z_\.]+(?!["])) | |
- comment: Definitions | |
name: support.function.definition.mcaddon | |
match: (\b(items|family)\b) | |
- comment: Definitions | |
name: keyword.control.uilogic.mcaddon | |
match: (\b(and|not|or)\b) | |
- comment: UI Definition | |
name: keyword.other.uidefinition.mcaddon | |
match: (?<=\")([a-zA-Z0-9_]+)(?=\@) | |
- comment: UI Controls | |
name: constant.numeric.uicontrol.mcaddon | |
match: ([@$#|]) | |
- comment: Parenthesis | |
name: meta.parenthesis.mcaddon | |
match: ([\(\)]) | |
- comment: Hyperlink | |
name: meta.hyperlink.mcaddon | |
match: (http|www)[^"]+ | |
- comment: File Path | |
name: meta.filepath.mcaddon | |
match: (([a-zA-Z0-9_]+)\/)+[a-zA-Z0-9_\.]+ | |
- comment: UI Namespace | |
name: keyword.other.uinamespace | |
match: (\bnamespace\b) | |
- comment: UI Namespace Type | |
name: entity.name.namespae.mcaddon | |
match: (?<=\@)([a-zA-Z0-9_]+)(?=[\.\"]) | |
- comment: UI Variable | |
name: entity.name.uivar.mcaddon | |
match: (?<=\$)([a-zA-Z0-9_]+) | |
- comment: UI Type | |
name: variable.parameter.uitype.mcaddon | |
match: (?<=\#)([a-zA-Z0-9_]+) | |
- comment: UI Default | |
name: keyword.other.uidefault.mcaddon | |
match: (?<=\|)(\b(default)\b) | |
- comment: Event Functions | |
name: support.function.eventFunction.mcaddon | |
match: (\b(randomize|add|remove|sequence)\b) | |
- comment: Loot Functions | |
name: support.function.loot.mcaddon | |
match: (\b(functions|levels|count|rolls)\b) | |
- comment: Trade Parameters | |
name: support.function.trades.mcaddon | |
match: (\b(wants|gives|quantity)\b) | |
- comment: Item Definitions | |
name: support.function.items.mcaddon | |
match: (\b(effects|enchanted_effects|food|seed)\b) | |
- comment: Item camera definition | |
name: support.function.items.camera.mcaddon | |
match: (?<=")(camera)(?="\s*:) | |
- comment: Components and Component Groups | |
name: keyword.control.components.mcaddon | |
match: (\b(component(s|_groups)\b)) | |
- comment: Trade Object Definitions | |
name: entity.name.stuff.mcaddon | |
match: (\b(pools|entries|function|tiers|trades)\b) | |
- comment: Entity type | |
name: entity.name.section.entityType.mcaddon | |
match: (\b(entity_types)\b) | |
- comment: Filters | |
name: entity.name.section.filter.mcaddon | |
match: (\b(filters)\b) | |
- comment: Event keyword | |
name: entity.name.type.events.mcaddon | |
match: (\b(event)\b) | |
- comment: Events keyword | |
name: keyword.control.events.mcaddon | |
match: (\b(events)\b) | |
- comment: Json File Path | |
name: variable.other.filepath.mcaddon | |
match: (?i)(?<=")[a-zA-Z0-9_/\\\.]+\.(json)(?=") | |
- comment: Array Definition | |
name: storage.type.arrayDefinition.mcaddon | |
match: (?<=")([a-zA-Z0-9_:\+]+)(?="\s*:\s*\[) | |
- comment: Object Definition | |
name: entity.name.objectDefinition.mcaddon | |
match: (?<=")([a-zA-Z0-9_:\+]+)(?="\s*:\s*\{) | |
- comment: Object Parameters | |
name: variable.parameter.object.mcaddon | |
match: (?<=\")([^"])+(?=\" *\:) | |
- comment: Strings | |
name: string.quoted.double.mcaddon | |
match: (?<=\")[^"]+(?=") | |
number: | |
name: constant.numeric.json | |
match: |- | |
(?x) # turn on extended mode | |
-? # an optional minus | |
(?: | |
0 # a zero | |
| # ...or... | |
[1-9] # a 1-9 character | |
\d* # followed by zero or more digits | |
) | |
(?: | |
(?: | |
\. # a period | |
\d+ # followed by one or more digits | |
)? | |
(?: | |
[eE] # an e character | |
[+-]? # followed by an option +/- | |
\d+ # followed by one or more digits | |
)? # make exponent optional | |
(?: | |
(px|%(c|x)?) # % or px | |
)? | |
)? # make decimal portion optional | |
object: | |
name: meta.structure.dictionary.json | |
begin: \{ | |
beginCaptures: | |
'0': {name: punctuation.definition.dictionary.begin.json} | |
end: \} | |
endCaptures: | |
'0': {name: punctuation.definition.dictionary.end.json} | |
patterns: | |
- comment: the JSON object key | |
include: '#mcaddon' | |
- include: '#comments' | |
- name: meta.structure.dictionary.value.json | |
begin: ':' | |
beginCaptures: | |
'0': {name: punctuation.separator.dictionary.key-value.json} | |
end: (,)|(?=\}) | |
endCaptures: | |
'1': {name: punctuation.separator.dictionary.pair.json} | |
patterns: | |
- comment: the JSON object value | |
include: '#value' | |
- name: invalid.illegal.expected-dictionary-separator.json | |
match: '[^\s,]' | |
- name: invalid.illegal.expected-dictionary-separator.json | |
match: '[^\s\}]' | |
value: | |
patterns: | |
- include: '#constant' | |
- include: '#number' | |
- include: '#mcaddon' | |
- include: '#array' | |
- include: '#object' | |
- include: '#comments' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment