Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/json/syntaxes/JSON.tmLanguage.json
4772 views
1
{
2
"information_for_contributors": [
3
"This file has been converted from https://github.com/microsoft/vscode-JSON.tmLanguage/blob/master/JSON.tmLanguage",
4
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
5
"Once accepted there, we are happy to receive an update request."
6
],
7
"version": "https://github.com/microsoft/vscode-JSON.tmLanguage/commit/9bd83f1c252b375e957203f21793316203f61f70",
8
"name": "JSON (Javascript Next)",
9
"scopeName": "source.json",
10
"patterns": [
11
{
12
"include": "#value"
13
}
14
],
15
"repository": {
16
"array": {
17
"begin": "\\[",
18
"beginCaptures": {
19
"0": {
20
"name": "punctuation.definition.array.begin.json"
21
}
22
},
23
"end": "\\]",
24
"endCaptures": {
25
"0": {
26
"name": "punctuation.definition.array.end.json"
27
}
28
},
29
"name": "meta.structure.array.json",
30
"patterns": [
31
{
32
"include": "#value"
33
},
34
{
35
"match": ",",
36
"name": "punctuation.separator.array.json"
37
},
38
{
39
"match": "[^\\s\\]]",
40
"name": "invalid.illegal.expected-array-separator.json"
41
}
42
]
43
},
44
"comments": {
45
"patterns": [
46
{
47
"begin": "/\\*\\*(?!/)",
48
"captures": {
49
"0": {
50
"name": "punctuation.definition.comment.json"
51
}
52
},
53
"end": "\\*/",
54
"name": "comment.block.documentation.json"
55
},
56
{
57
"begin": "/\\*",
58
"captures": {
59
"0": {
60
"name": "punctuation.definition.comment.json"
61
}
62
},
63
"end": "\\*/",
64
"name": "comment.block.json"
65
},
66
{
67
"captures": {
68
"1": {
69
"name": "punctuation.definition.comment.json"
70
}
71
},
72
"match": "(//).*$\\n?",
73
"name": "comment.line.double-slash.js"
74
}
75
]
76
},
77
"constant": {
78
"match": "\\b(?:true|false|null)\\b",
79
"name": "constant.language.json"
80
},
81
"number": {
82
"match": "(?x) # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional",
83
"name": "constant.numeric.json"
84
},
85
"object": {
86
"begin": "\\{",
87
"beginCaptures": {
88
"0": {
89
"name": "punctuation.definition.dictionary.begin.json"
90
}
91
},
92
"end": "\\}",
93
"endCaptures": {
94
"0": {
95
"name": "punctuation.definition.dictionary.end.json"
96
}
97
},
98
"name": "meta.structure.dictionary.json",
99
"patterns": [
100
{
101
"comment": "the JSON object key",
102
"include": "#objectkey"
103
},
104
{
105
"include": "#comments"
106
},
107
{
108
"begin": ":",
109
"beginCaptures": {
110
"0": {
111
"name": "punctuation.separator.dictionary.key-value.json"
112
}
113
},
114
"end": "(,)|(?=\\})",
115
"endCaptures": {
116
"1": {
117
"name": "punctuation.separator.dictionary.pair.json"
118
}
119
},
120
"name": "meta.structure.dictionary.value.json",
121
"patterns": [
122
{
123
"comment": "the JSON object value",
124
"include": "#value"
125
},
126
{
127
"match": "[^\\s,]",
128
"name": "invalid.illegal.expected-dictionary-separator.json"
129
}
130
]
131
},
132
{
133
"match": "[^\\s\\}]",
134
"name": "invalid.illegal.expected-dictionary-separator.json"
135
}
136
]
137
},
138
"string": {
139
"begin": "\"",
140
"beginCaptures": {
141
"0": {
142
"name": "punctuation.definition.string.begin.json"
143
}
144
},
145
"end": "\"",
146
"endCaptures": {
147
"0": {
148
"name": "punctuation.definition.string.end.json"
149
}
150
},
151
"name": "string.quoted.double.json",
152
"patterns": [
153
{
154
"include": "#stringcontent"
155
}
156
]
157
},
158
"objectkey": {
159
"begin": "\"",
160
"beginCaptures": {
161
"0": {
162
"name": "punctuation.support.type.property-name.begin.json"
163
}
164
},
165
"end": "\"",
166
"endCaptures": {
167
"0": {
168
"name": "punctuation.support.type.property-name.end.json"
169
}
170
},
171
"name": "string.json support.type.property-name.json",
172
"patterns": [
173
{
174
"include": "#stringcontent"
175
}
176
]
177
},
178
"stringcontent": {
179
"patterns": [
180
{
181
"match": "(?x) # turn on extended mode\n \\\\ # a literal backslash\n (?: # ...followed by...\n [\"\\\\/bfnrt] # one of these characters\n | # ...or...\n u # a u\n [0-9a-fA-F]{4}) # and four hex digits",
182
"name": "constant.character.escape.json"
183
},
184
{
185
"match": "\\\\.",
186
"name": "invalid.illegal.unrecognized-string-escape.json"
187
}
188
]
189
},
190
"value": {
191
"patterns": [
192
{
193
"include": "#constant"
194
},
195
{
196
"include": "#number"
197
},
198
{
199
"include": "#string"
200
},
201
{
202
"include": "#array"
203
},
204
{
205
"include": "#object"
206
},
207
{
208
"include": "#comments"
209
}
210
]
211
}
212
}
213
}
214