github-linguist 5.0.0 → 5.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +10 -2
  3. data/bin/linguist +26 -9
  4. data/grammars/config.xcompose.json +83 -0
  5. data/grammars/hint.haskell.json +21 -30
  6. data/grammars/hint.message.haskell.json +21 -30
  7. data/grammars/hint.type.haskell.json +21 -30
  8. data/grammars/source.bsl.json +42 -28
  9. data/grammars/source.cs.json +656 -131
  10. data/grammars/source.csound-document.json +142 -25
  11. data/grammars/source.csound-score.json +13 -10
  12. data/grammars/source.csound.json +136 -81
  13. data/grammars/source.css.json +1501 -331
  14. data/grammars/source.css.less.json +3 -3
  15. data/grammars/source.d.json +60 -44
  16. data/grammars/source.gn.json +240 -138
  17. data/grammars/source.graphql.json +781 -155
  18. data/grammars/source.haskell.json +21 -30
  19. data/grammars/source.js.json +46 -46
  20. data/grammars/source.mask.json +1 -1
  21. data/grammars/source.perl6fe.json +1151 -763
  22. data/grammars/source.python.json +45 -23
  23. data/grammars/source.quoting.perl6fe.json +2170 -0
  24. data/grammars/source.reason.json +296 -0
  25. data/grammars/source.regexp.perl6fe.json +27 -0
  26. data/grammars/source.rust.json +522 -125
  27. data/grammars/source.sdbl.json +2 -2
  28. data/grammars/source.shell.json +125 -161
  29. data/grammars/source.solidity.json +137 -0
  30. data/grammars/source.ts.json +385 -137
  31. data/grammars/source.tsx.json +394 -167
  32. data/grammars/source.yaml.json +176 -171
  33. data/grammars/text.html.php.blade.json +2 -2
  34. data/grammars/text.tex.latex.haskell.json +1 -10
  35. data/lib/linguist/generated.rb +50 -4
  36. data/lib/linguist/heuristics.rb +1 -1
  37. data/lib/linguist/language.rb +12 -8
  38. data/lib/linguist/languages.json +1 -1
  39. data/lib/linguist/languages.yml +38 -1
  40. data/lib/linguist/samples.json +4605 -581
  41. data/lib/linguist/vendor.yml +6 -0
  42. data/lib/linguist/version.rb +1 -1
  43. metadata +10 -7
  44. data/grammars/source.hy.json +0 -270
@@ -1,23 +1,19 @@
1
1
  {
2
+ "name": "Csound Document",
2
3
  "scopeName": "source.csound-document",
3
4
  "fileTypes": [
4
5
  "csd"
5
6
  ],
6
7
  "firstLineMatch": "<CsoundSynthesi[sz]er>",
7
- "name": "Csound Document",
8
8
  "patterns": [
9
9
  {
10
- "include": "source.csound#comments"
11
- },
12
- {
13
- "name": "meta.orchestra.csound-document",
14
- "begin": "<(CsInstruments)>",
10
+ "begin": "<(CsoundSynthesi[sz]er)>",
11
+ "end": "</(CsoundSynthesi[sz]er)>",
15
12
  "beginCaptures": {
16
13
  "1": {
17
14
  "name": "entity.name.tag.csound-document"
18
15
  }
19
16
  },
20
- "end": "</(CsInstruments)>",
21
17
  "endCaptures": {
22
18
  "1": {
23
19
  "name": "entity.name.tag.csound-document"
@@ -25,19 +21,69 @@
25
21
  },
26
22
  "patterns": [
27
23
  {
28
- "include": "source.csound"
24
+ "name": "meta.orchestra.csound-document",
25
+ "begin": "<(CsInstruments)>",
26
+ "end": "</(CsInstruments)>",
27
+ "beginCaptures": {
28
+ "1": {
29
+ "name": "entity.name.tag.csound-document"
30
+ }
31
+ },
32
+ "endCaptures": {
33
+ "1": {
34
+ "name": "entity.name.tag.csound-document"
35
+ }
36
+ },
37
+ "patterns": [
38
+ {
39
+ "include": "source.csound"
40
+ }
41
+ ]
42
+ },
43
+ {
44
+ "name": "meta.score.csound-document",
45
+ "begin": "<(CsScore)>",
46
+ "end": "</(CsScore)>",
47
+ "beginCaptures": {
48
+ "1": {
49
+ "name": "entity.name.tag.csound-document"
50
+ }
51
+ },
52
+ "endCaptures": {
53
+ "1": {
54
+ "name": "entity.name.tag.csound-document"
55
+ }
56
+ },
57
+ "patterns": [
58
+ {
59
+ "include": "source.csound-score"
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ "name": "meta.html.csound-document",
65
+ "begin": "(?=<[hH][tT][mM][lL])",
66
+ "end": "(?<=</[hH][tT][mM][lL]>)",
67
+ "patterns": [
68
+ {
69
+ "include": "text.html.basic"
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "include": "#tags"
29
75
  }
30
76
  ]
31
77
  },
32
78
  {
33
- "name": "meta.score.csound-document",
34
- "begin": "<(CsScore)>",
79
+ "name": "meta.cabbage-gui.csound-document",
80
+ "begin": "<(Cabbage)>",
81
+ "end": "</(Cabbage)>",
35
82
  "beginCaptures": {
36
83
  "1": {
37
84
  "name": "entity.name.tag.csound-document"
38
85
  }
39
86
  },
40
- "end": "</(CsScore)>",
41
87
  "endCaptures": {
42
88
  "1": {
43
89
  "name": "entity.name.tag.csound-document"
@@ -45,27 +91,98 @@
45
91
  },
46
92
  "patterns": [
47
93
  {
48
- "include": "source.csound-score"
94
+ "name": "comment.line.cabbage-gui.csound-document",
95
+ "begin": ";",
96
+ "end": "(?=\\n)",
97
+ "beginCaptures": {
98
+ "0": {
99
+ "name": "punctuation.definition.comment.line.cabbage-gui.csound-document"
100
+ }
101
+ }
102
+ },
103
+ {
104
+ "include": "source.csound#macroUses"
105
+ },
106
+ {
107
+ "include": "source.csound#preprocessorDirectives"
108
+ },
109
+ {
110
+ "include": "source.csound#floatingPointNumbers"
111
+ },
112
+ {
113
+ "include": "source.csound#decimalNumbers"
114
+ },
115
+ {
116
+ "name": "string.quoted.cabbage-gui.csound-document",
117
+ "begin": "\"",
118
+ "end": "\"",
119
+ "beginCaptures": {
120
+ "0": {
121
+ "name": "punctuation.definition.string.begin.cabbage-gui.csound-document"
122
+ }
123
+ },
124
+ "endCaptures": {
125
+ "0": {
126
+ "name": "punctuation.definition.string.end.cabbage-gui.csound-document"
127
+ }
128
+ },
129
+ "patterns": [
130
+ {
131
+ "include": "source.csound#macroUses"
132
+ }
133
+ ]
134
+ },
135
+ {
136
+ "match": "^[ \t]*(?i:(button|checkbox|combobox|encoder|hrange|hslider|numberbox|rslider|vrange|vslider|xypad|csoundoutput|filebutton|form|gentable|groupbox|hostbpm|hostplaying|hostppqpos|hosttime|image|infobutton|keyboard|label|line|loadbutton|signaldisplay|socketreceive|socketsend|soundfiler|source|stepper|textbox|texteditor)|(hslider2|hslider3|vslider2|vslider3|directorylist|fftdisplay|hostrecording|listbox|multitab|patmatrix|popupmenu|pvsview|recordbutton|snapshot|sourcebutton|table|transport))\\b",
137
+ "captures": {
138
+ "1": {
139
+ "name": "keyword.widget-type.cabbage-gui.csound-document"
140
+ },
141
+ "2": {
142
+ "name": "invalid.deprecated.cabbage-gui.csound-document"
143
+ }
144
+ }
145
+ },
146
+ {
147
+ "match": "\\b(?i:(active|address|align|alpha|amprange|arrowbackgroundcolour|arrowcolour|backgroundcolor|backgroundcolour|ballcolour|blacknotecolour|bounds|caption|channel|channelarray|channels|channeltype|color:0|color:1|color|colour:0|colour:1|colour|corners|displaytype|file|fill|fontcolor:0|fontcolor:1|fontcolor|fontcolour:0|fontcolour:1|fontcolour|fontstyle|guirefresh|highlightcolour|identchannel|imgdebug|imgfile|imgpath|items|keywidth|kind|latched|linethickness|max|menucolor|middlec|min|mode|noteseparatorcolour|numberofsteps|outlinecolor|outlinecolour|outlinethickness|plant|pluginid|populate|popup|popuptext|pos|radiogroup|range|rangex|rangey|refreshfiles|rescale|rotate|samplerange|scrubberposition|shape|show|signalvariable|size|sliderincr|tablebackgroundcolour|tablecolor|tablecolour|tablegridcolor|tablegridcolour|tablenumber|tablenumbers|text|textbox|textcolor|textcolour|titlebarcolour|trackercolor|trackercolour|trackerthickness|updaterate|value|valuetextbox|velocity|visible|whitenotecolour|widgetarray|wrap|zoom)|(bold|ffttablenumber|gradient|logger|scalex|scaley|scroll|scrollbars|tablebackgroundcolor))\\b",
148
+ "captures": {
149
+ "1": {
150
+ "name": "support.function.widget-identifier.cabbage-gui.csound-document"
151
+ },
152
+ "2": {
153
+ "name": "invalid.deprecated.cabbage-gui.csound-document"
154
+ }
155
+ }
49
156
  }
50
157
  ]
51
158
  },
52
159
  {
53
- "name": "meta.html.csound-document",
54
- "begin": "(?=<[hH][tT][mM][lL])",
55
- "end": "(?<=</[hH][tT][mM][lL]>)",
160
+ "include": "#tags"
161
+ },
162
+ {
163
+ "name": "comment.csound-document",
164
+ "begin": "^",
165
+ "end": "\n"
166
+ }
167
+ ],
168
+ "repository": {
169
+ "tags": {
56
170
  "patterns": [
57
171
  {
58
- "include": "text.html.basic"
172
+ "begin": "<([a-zA-Z0-9:-]+)>",
173
+ "end": "</([a-zA-Z0-9:-]+)>",
174
+ "beginCaptures": {
175
+ "1": {
176
+ "name": "entity.name.tag.csound-document"
177
+ }
178
+ },
179
+ "endCaptures": {
180
+ "1": {
181
+ "name": "entity.name.tag.csound-document"
182
+ }
183
+ }
59
184
  }
60
185
  ]
61
- },
62
- {
63
- "match": "</?([a-zA-Z0-9:-]+)>",
64
- "captures": {
65
- "1": {
66
- "name": "entity.name.tag.csound-document"
67
- }
68
- }
69
186
  }
70
- ]
187
+ }
71
188
  }
@@ -1,15 +1,15 @@
1
1
  {
2
+ "name": "Csound Score",
2
3
  "scopeName": "source.csound-score",
3
4
  "fileTypes": [
4
5
  "sco"
5
6
  ],
6
- "name": "Csound Score",
7
7
  "patterns": [
8
8
  {
9
9
  "include": "source.csound#preprocessorDirectives"
10
10
  },
11
11
  {
12
- "include": "source.csound#commentsAndMacroCalls"
12
+ "include": "source.csound#commentsAndMacroUses"
13
13
  },
14
14
  {
15
15
  "name": "keyword.control.csound-score",
@@ -21,12 +21,12 @@
21
21
  {
22
22
  "name": "string.quoted.csound-score",
23
23
  "begin": "\"",
24
+ "end": "\"",
24
25
  "beginCaptures": {
25
26
  "0": {
26
27
  "name": "punctuation.definition.string.begin.csound-score"
27
28
  }
28
29
  },
29
- "end": "\"",
30
30
  "endCaptures": {
31
31
  "0": {
32
32
  "name": "punctuation.definition.string.end.csound-score"
@@ -34,19 +34,19 @@
34
34
  },
35
35
  "patterns": [
36
36
  {
37
- "include": "source.csound#macroCalls"
37
+ "include": "source.csound#macroUses"
38
38
  }
39
39
  ]
40
40
  },
41
41
  {
42
42
  "name": "meta.braced-loop.csound-score",
43
- "begin": "{",
43
+ "begin": "\\{",
44
+ "end": "\\}",
44
45
  "beginCaptures": {
45
46
  "0": {
46
47
  "name": "punctuation.csound-score"
47
48
  }
48
49
  },
49
- "end": "}",
50
50
  "endCaptures": {
51
51
  "0": {
52
52
  "name": "punctuation.csound-score"
@@ -56,22 +56,25 @@
56
56
  {
57
57
  "name": "meta.braced-loop-details.csound-score",
58
58
  "begin": "\\d+",
59
+ "end": "(?=\\})",
59
60
  "beginCaptures": {
60
61
  "0": {
61
62
  "name": "constant.numeric.integer.decimal.csound-score"
62
63
  }
63
64
  },
64
- "end": "(?=})",
65
65
  "patterns": [
66
66
  {
67
67
  "name": "meta.braced-loop-macro-name.csound-score",
68
- "begin": "[A-Z_a-z]\\w*\\b",
68
+ "begin": "(?:([A-Z_a-z]\\w*)|(\\d+\\w*))\\b",
69
+ "end": "(?=\\})",
69
70
  "beginCaptures": {
70
- "0": {
71
+ "1": {
71
72
  "name": "entity.name.function.preprocessor.csound-score"
73
+ },
74
+ "2": {
75
+ "name": "entity.invalid.illegal.preprocessor.csound-score"
72
76
  }
73
77
  },
74
- "end": "(?=})",
75
78
  "patterns": [
76
79
  {
77
80
  "include": "$self"
@@ -1,13 +1,13 @@
1
1
  {
2
+ "name": "Csound",
2
3
  "scopeName": "source.csound",
3
4
  "fileTypes": [
4
5
  "orc",
5
6
  "udo"
6
7
  ],
7
- "name": "Csound",
8
8
  "patterns": [
9
9
  {
10
- "include": "#commentsAndMacroCalls"
10
+ "include": "#commentsAndMacroUses"
11
11
  },
12
12
  {
13
13
  "name": "meta.instrument-block.csound",
@@ -22,24 +22,24 @@
22
22
  {
23
23
  "name": "meta.instrument-declaration.csound",
24
24
  "begin": "instr",
25
+ "end": "\\n",
25
26
  "beginCaptures": {
26
27
  "0": {
27
28
  "name": "keyword.function.csound"
28
29
  }
29
30
  },
30
- "end": "\\n",
31
31
  "patterns": [
32
32
  {
33
33
  "name": "entity.name.function.csound",
34
34
  "match": "\\d+|[A-Z_a-z]\\w*"
35
35
  },
36
36
  {
37
- "include": "#commentsAndMacroCalls"
37
+ "include": "#commentsAndMacroUses"
38
38
  }
39
39
  ]
40
40
  },
41
41
  {
42
- "include": "#commentsAndMacroCalls"
42
+ "include": "#commentsAndMacroUses"
43
43
  },
44
44
  {
45
45
  "include": "#labels"
@@ -62,50 +62,50 @@
62
62
  {
63
63
  "name": "meta.opcode-declaration.csound",
64
64
  "begin": "opcode",
65
+ "end": "\\n",
65
66
  "beginCaptures": {
66
67
  "0": {
67
68
  "name": "keyword.function.csound"
68
69
  }
69
70
  },
70
- "end": "\\n",
71
71
  "patterns": [
72
72
  {
73
73
  "name": "meta.opcode-details.csound",
74
74
  "begin": "[A-Z_a-z]\\w*\\b",
75
+ "end": "(?=\\n)",
75
76
  "beginCaptures": {
76
77
  "0": {
77
78
  "name": "entity.name.function.opcode.csound"
78
79
  }
79
80
  },
80
- "end": "(?=\\n)",
81
81
  "patterns": [
82
82
  {
83
- "name": "meta.opcode-argument-types.csound",
83
+ "name": "meta.opcode-type-signature.csound",
84
84
  "begin": "\\b(?:0|[afijkKoOpPStV\\[\\]]+)\\b",
85
+ "end": ",|(?=\\n)",
85
86
  "beginCaptures": {
86
87
  "0": {
87
88
  "name": "storage.type.csound"
88
89
  }
89
90
  },
90
- "end": ",|(?=\\n)",
91
91
  "patterns": [
92
92
  {
93
- "include": "#commentsAndMacroCalls"
93
+ "include": "#commentsAndMacroUses"
94
94
  }
95
95
  ]
96
96
  },
97
97
  {
98
- "include": "#commentsAndMacroCalls"
98
+ "include": "#commentsAndMacroUses"
99
99
  }
100
100
  ]
101
101
  },
102
102
  {
103
- "include": "#commentsAndMacroCalls"
103
+ "include": "#commentsAndMacroUses"
104
104
  }
105
105
  ]
106
106
  },
107
107
  {
108
- "include": "#commentsAndMacroCalls"
108
+ "include": "#commentsAndMacroUses"
109
109
  },
110
110
  {
111
111
  "include": "#labels"
@@ -128,12 +128,12 @@
128
128
  {
129
129
  "name": "comment.block.csound",
130
130
  "begin": "/\\*",
131
+ "end": "\\*/",
131
132
  "beginCaptures": {
132
133
  "0": {
133
134
  "name": "punctuation.definition.comment.begin.csound"
134
135
  }
135
136
  },
136
- "end": "\\*/",
137
137
  "endCaptures": {
138
138
  "0": {
139
139
  "name": "punctuation.definition.comment.end.csound"
@@ -143,22 +143,30 @@
143
143
  {
144
144
  "name": "comment.line.csound",
145
145
  "begin": "//|;",
146
+ "end": "(?=\\n)",
146
147
  "beginCaptures": {
147
148
  "0": {
148
149
  "name": "punctuation.definition.comment.line.csound"
149
150
  }
150
- },
151
- "end": "(?=\\n)"
151
+ }
152
152
  }
153
153
  ]
154
154
  },
155
- "commentsAndMacroCalls": {
155
+ "commentsAndMacroUses": {
156
156
  "patterns": [
157
157
  {
158
158
  "include": "#comments"
159
159
  },
160
160
  {
161
- "include": "#macroCalls"
161
+ "include": "#macroUses"
162
+ }
163
+ ]
164
+ },
165
+ "decimalNumbers": {
166
+ "patterns": [
167
+ {
168
+ "name": "constant.numeric.integer.decimal.csound",
169
+ "match": "\\d+"
162
170
  }
163
171
  ]
164
172
  },
@@ -170,6 +178,14 @@
170
178
  }
171
179
  ]
172
180
  },
181
+ "floatingPointNumbers": {
182
+ "patterns": [
183
+ {
184
+ "name": "constant.numeric.float.csound",
185
+ "match": "(?:\\d+[Ee][+-]?\\d+)|(?:\\d+\\.\\d*|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?"
186
+ }
187
+ ]
188
+ },
173
189
  "labels": {
174
190
  "patterns": [
175
191
  {
@@ -185,8 +201,42 @@
185
201
  }
186
202
  ]
187
203
  },
188
- "macroCalls": {
204
+ "macroNames": {
189
205
  "patterns": [
206
+ {
207
+ "match": "([A-Z_a-z]\\w*)|(\\d+\\w*)",
208
+ "captures": {
209
+ "1": {
210
+ "name": "entity.name.function.preprocessor.csound"
211
+ },
212
+ "2": {
213
+ "name": "entity.invalid.illegal.preprocessor.csound"
214
+ }
215
+ }
216
+ }
217
+ ]
218
+ },
219
+ "macroUses": {
220
+ "patterns": [
221
+ {
222
+ "name": "meta.function-like-macro-use.csound",
223
+ "begin": "(\\$[A-Z_a-z]\\w*\\.?)\\(",
224
+ "end": "\\)",
225
+ "beginCaptures": {
226
+ "1": {
227
+ "name": "entity.name.function.preprocessor.csound"
228
+ }
229
+ },
230
+ "patterns": [
231
+ {
232
+ "name": "punctuation.macro-parameter-separator.csound",
233
+ "match": "\\#"
234
+ },
235
+ {
236
+ "include": "$self"
237
+ }
238
+ ]
239
+ },
190
240
  {
191
241
  "name": "entity.name.function.preprocessor.csound",
192
242
  "match": "\\$[A-Z_a-z]\\w*(?:\\.|\\b)"
@@ -196,16 +246,22 @@
196
246
  "numbers": {
197
247
  "patterns": [
198
248
  {
199
- "name": "constant.numeric.float.csound",
200
- "match": "(?:\\d+[Ee][+-]?\\d+)|(?:\\d+\\.\\d*|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?"
249
+ "include": "#floatingPointNumbers"
201
250
  },
202
251
  {
203
- "name": "constant.numeric.integer.hexadecimal.csound",
204
- "match": "0[Xx][0-9A-Fa-f]+"
252
+ "name": "",
253
+ "match": "(0[Xx])([0-9A-Fa-f]+)",
254
+ "captures": {
255
+ "1": {
256
+ "name": "storage.type.number.csound"
257
+ },
258
+ "2": {
259
+ "name": "constant.numeric.integer.hexadecimal.csound"
260
+ }
261
+ }
205
262
  },
206
263
  {
207
- "name": "constant.numeric.integer.decimal.csound",
208
- "match": "\\d+"
264
+ "include": "#decimalNumbers"
209
265
  }
210
266
  ]
211
267
  },
@@ -223,7 +279,7 @@
223
279
  },
224
280
  {
225
281
  "name": "keyword.operator.csound",
226
- "match": "[+\\-*/%^!=&|<>#~¬?:]"
282
+ "match": "\\+=|-=|\\*=|/=|<<|>>|<=|>=|==|!=|&&|\\|\\||[]|[=!+\\-*/^%&|<>#?:]"
227
283
  },
228
284
  {
229
285
  "include": "#quotedStrings"
@@ -244,12 +300,12 @@
244
300
  },
245
301
  {
246
302
  "begin": "\\b((?:c(?:g|in?|k|nk?)goto)|goto|igoto|kgoto|loop_[gl][et]|r(?:einit|igoto)|ti(?:goto|mout))\\b",
303
+ "end": "(\\w+)\\s*((//|;).*)?\\n",
247
304
  "beginCaptures": {
248
305
  "1": {
249
306
  "name": "keyword.control.csound"
250
307
  }
251
308
  },
252
- "end": "(\\w+)\\s*((//|;).*)?\\n",
253
309
  "endCaptures": {
254
310
  "1": {
255
311
  "name": "entity.name.label.csound"
@@ -263,7 +319,7 @@
263
319
  },
264
320
  "patterns": [
265
321
  {
266
- "include": "#commentsAndMacroCalls"
322
+ "include": "#commentsAndMacroUses"
267
323
  },
268
324
  {
269
325
  "include": "#partialExpressions"
@@ -271,8 +327,8 @@
271
327
  ]
272
328
  },
273
329
  {
274
- "name": "string.quoted.csound",
275
- "begin": "\\b(printk?s)[ \\t]*(\")",
330
+ "begin": "\\b(printk?s)[ \\t]*(?=\")",
331
+ "end": "(?<=\")",
276
332
  "beginCaptures": {
277
333
  "1": {
278
334
  "name": "support.function.csound"
@@ -281,7 +337,6 @@
281
337
  "name": "punctuation.definition.string.begin.csound"
282
338
  }
283
339
  },
284
- "end": "\"",
285
340
  "endCaptures": {
286
341
  "0": {
287
342
  "name": "punctuation.definition.string.end.csound"
@@ -289,19 +344,41 @@
289
344
  },
290
345
  "patterns": [
291
346
  {
292
- "include": "#macroCalls"
293
- },
294
- {
295
- "name": "constant.character.escape.csound",
296
- "match": "%(?:\\d*(?:\\.\\d+)?[cdhilouxX]|[!%nNrRtT])|[~^]"
297
- },
298
- {
299
- "include": "#escapeSequences"
347
+ "name": "string.quoted.csound",
348
+ "begin": "\"",
349
+ "end": "\"",
350
+ "beginCaptures": {
351
+ "0": {
352
+ "name": "punctuation.definition.string.begin.csound"
353
+ }
354
+ },
355
+ "endCaptures": {
356
+ "0": {
357
+ "name": "punctuation.definition.string.end.csound"
358
+ }
359
+ },
360
+ "patterns": [
361
+ {
362
+ "include": "#macroUses"
363
+ },
364
+ {
365
+ "include": "#escapeSequences"
366
+ },
367
+ {
368
+ "name": "constant.character.placeholder.csound",
369
+ "match": "%\\d*(?:\\.\\d+)?[cdhilouxX]|[~^]{1,2}"
370
+ },
371
+ {
372
+ "name": "constant.character.escape.csound",
373
+ "match": "%[!%nNrRtT]|\\\\[ABNRT]"
374
+ }
375
+ ]
300
376
  }
301
377
  ]
302
378
  },
303
379
  {
304
380
  "begin": "\\b(scoreline(?:_i)?)[ \\t]*(\\{\\{)",
381
+ "end": "\\}\\}",
305
382
  "beginCaptures": {
306
383
  "1": {
307
384
  "name": "support.function.csound"
@@ -310,7 +387,6 @@
310
387
  "name": "string.braced.csound"
311
388
  }
312
389
  },
313
- "end": "\\}\\}",
314
390
  "endCaptures": {
315
391
  "0": {
316
392
  "name": "string.braced.csound"
@@ -324,6 +400,7 @@
324
400
  },
325
401
  {
326
402
  "begin": "\\b(pyl?run[it]?)[ \\t]*(\\{\\{)",
403
+ "end": "\\}\\}",
327
404
  "beginCaptures": {
328
405
  "1": {
329
406
  "name": "support.function.csound"
@@ -332,7 +409,6 @@
332
409
  "name": "string.braced.csound"
333
410
  }
334
411
  },
335
- "end": "\\}\\}",
336
412
  "endCaptures": {
337
413
  "0": {
338
414
  "name": "string.braced.csound"
@@ -346,6 +422,7 @@
346
422
  },
347
423
  {
348
424
  "begin": "\\b(lua_exec)[ \\t]*(\\{\\{)",
425
+ "end": "\\}\\}",
349
426
  "beginCaptures": {
350
427
  "1": {
351
428
  "name": "support.function.csound"
@@ -354,7 +431,6 @@
354
431
  "name": "string.braced.csound"
355
432
  }
356
433
  },
357
- "end": "\\}\\}",
358
434
  "endCaptures": {
359
435
  "0": {
360
436
  "name": "string.braced.csound"
@@ -368,12 +444,12 @@
368
444
  },
369
445
  {
370
446
  "begin": "\\blua_opdef\\b",
447
+ "end": "\\}\\}",
371
448
  "beginCaptures": {
372
449
  "0": {
373
450
  "name": "support.function.csound"
374
451
  }
375
452
  },
376
- "end": "\\}\\}",
377
453
  "endCaptures": {
378
454
  "0": {
379
455
  "name": "string.braced.csound"
@@ -385,12 +461,12 @@
385
461
  },
386
462
  {
387
463
  "begin": "\\{\\{",
464
+ "end": "(?=\\}\\})",
388
465
  "beginCaptures": {
389
466
  "0": {
390
467
  "name": "string.braced.csound"
391
468
  }
392
469
  },
393
- "end": "(?=\\}\\})",
394
470
  "patterns": [
395
471
  {
396
472
  "include": "source.lua"
@@ -404,29 +480,18 @@
404
480
  "match": "\\bp\\d+\\b"
405
481
  },
406
482
  {
407
- "match": "\\b(ATS(?:add(?:(?:nz)?)|bufread|cross|in(?:fo|terpread)|partialtap|read(?:(?:nz)?)|sinnoi)|FL(?:b(?:ox|ut(?:Bank|ton))|c(?:loseButton|o(?:lor(?:(?:2)?)|unt))|execButton|g(?:etsnap|roup(?:(?:(?:E|_e)nd)?))|h(?:ide|vsBox(?:(?:SetValue)?))|joy|k(?:eyIn|nob)|l(?:abel|oadsnap)|mouse|p(?:a(?:ck(?:(?:(?:E|_e)nd)?)|nel(?:(?:(?:E|_e)nd)?))|rintk(?:(?:2)?))|r(?:oller|un)|s(?:avesnap|croll(?:(?:(?:E|_e)nd)?)|et(?:Align|Box|Color(?:(?:2)?)|Font|Position|S(?:ize|napGroup)|Text(?:(?:Color|(?:Siz|Typ)e)?)|Val(?:(?:(?:(?:_)?)i)?)|snap)|how|lid(?:Bnk(?:(?:2(?:(?:Set(?:(?:k)?))?)|GetHandle|Set(?:(?:k)?))?)|er))|t(?:abs(?:(?:(?:E|_e)nd)?)|ext)|update|v(?:alue|keybd|slidBnk(?:(?:2)?))|xyin)|Mixer(?:Clear|GetLevel|Receive|Se(?:nd|tLevel(?:(?:_i)?)))|OSC(?:init(?:(?:M)?)|listen|send)|a(?:bs|ctive|ds(?:r|yn(?:(?:t(?:(?:2)?))?))|ftouch|l(?:pass|wayson)|mp(?:db(?:(?:fs)?)|midi(?:(?:d)?))|reson(?:(?:k)?)|tone(?:(?:[kx])?))|b(?:a(?:bo|lance|mboo|rmodel)|bcut(?:[ms])|e(?:(?:tara|xpr)nd)|form(?:(?:de|en)c1)|i(?:nit|quad(?:(?:a)?)|rnd)|qrez|u(?:chla|t(?:b(?:[pr])|hp|lp|t(?:er(?:b(?:[pr])|(?:[hl])p)|on))|zz))|c(?:2r|a(?:basa|uchy(?:(?:i)?))|e(?:il|ll|nt(?:(?:roid)?)|ps(?:(?:inv)?))|h(?:an(?:ctrl|ged(?:(?:2)?)|[io])|e(?:byshevpoly|ckbox)|n(?:_(?:[Sak])|clear|export|get|mix|params|set)|uap)|l(?:ear|filt|ip|ocko(?:ff|n))|mplxprod|o(?:m(?:b(?:(?:inv)?)|p(?:ile(?:csd|orc|str)|ress(?:(?:2)?)))|n(?:nect|trol|v(?:(?:l|olv)e))|py(?:a2ftab|f2array)|s(?:(?:h|inv|seg(?:(?:[br])?))?))|p(?:s(?:2pch|midi(?:(?:b|nn)?)|oct|pch|t(?:mid|un(?:(?:i)?))|xpch)|uprc)|r(?:oss(?:2|fm(?:(?:i|pm(?:(?:i)?))?)|pm(?:(?:i)?))|unch)|t(?:lchn|rl(?:14|21|7|init))|userrnd)|d(?:a(?:m|te(?:(?:s)?))|b(?:(?:(?:(?:fs)?)amp)?)|c(?:block(?:(?:2)?)|onv|t(?:(?:inv)?))|e(?:l(?:ay(?:(?:[1krw])?)|tap(?:(?:xw|[3inx])?))|norm)|i(?:ff|rectory|s(?:k(?:grain|in(?:(?:2)?))|p(?:fft|lay)|tort(?:(?:1)?))|vz)|o(?:ppler|wnsamp)|ripwater|u(?:mpk(?:(?:[234])?)|s(?:errnd|t(?:(?:2)?))))|e(?:nvlpx(?:(?:r)?)|phasor|qfil|v(?:alstr|ent(?:(?:_i)?))|x(?:citer|itnow|p(?:(?:curve|on|rand(?:(?:i)?)|seg(?:(?:ba|[abr])?))?)))|f(?:a(?:reylen(?:(?:i)?)|ust(?:audio|c(?:ompile|tl)|gen))|ft(?:(?:inv)?)|i(?:close|l(?:e(?:bit|len|nchnls|peak|s(?:cal|r)|valid)|larray|ter2)|n(?:(?:[ik])?)|open)|l(?:a(?:nger|shtxt)|oo(?:per(?:(?:2)?)|r)|uid(?:AllOut|C(?:C(?:[ik])|ontrol)|Engine|Load|Note|Out|ProgramSelect|SetInterpMethod))|m(?:b(?:3|ell)|metal|percfl|(?:rhod|voic|wurli)e)|o(?:f(?:2|ilter)|l(?:d|low(?:(?:2)?))|scil(?:(?:i)?)|ut(?:(?:ir|[ik])?)|[fg])|print(?:(?:(?:k)?)s)|r(?:a(?:c(?:(?:talnoise)?)|mebuffer)|eeverb)|t(?:c(?:hnls|onv|ps)|free|gen(?:(?:once|tmp)?)|l(?:en|oad(?:(?:k)?)|ptim)|morf|resize(?:(?:i)?)|s(?:a(?:mplebank|ve(?:(?:k)?))|r)))|g(?:a(?:in(?:(?:slider)?)|uss(?:(?:i|trig)?))|buzz|e(?:n(?:array(?:(?:_i)?)|dy(?:(?:[cx])?))|t(?:c(?:fg|ol)|ftargs|row|seed))|ogobel|ra(?:in(?:(?:[23])?)|nule)|uiro)|h(?:armon(?:(?:[234])?)|df5(?:read|write)|ilbert|rtf(?:early|move(?:(?:2)?)|reverb|stat)|sboscil|vs(?:[123]))|i(?:hold|mage(?:create|free|getpixel|load|s(?:ave|etpixel|ize))|n(?:(?:32|ch|it(?:(?:c(?:14|21|7))?)|let(?:kid|[afkv])|rg|s(?:global|remot)|te(?:g|rp)|value|[hoqstxz])?))|j(?:itter(?:(?:2)?)|spline)|l(?:enarray|fo|i(?:mit|n(?:e(?:(?:n(?:(?:r)?)|to)?)|rand|seg(?:(?:[br])?)))|o(?:cs(?:end|ig)|g(?:(?:10|2|btwo|curve)?)|op(?:seg(?:(?:p)?)|(?:[tx])seg)|renz|scil(?:(?:[3x])?)|w(?:pass2|res(?:(?:x)?)))|p(?:f(?:18|orm|reson)|hasor|interp|oscil(?:(?:sa(?:(?:2)?)|[3a])?)|re(?:ad|son)|s(?:hold(?:(?:p)?)|lot))|ua_(?:exec|ikopcall|opdef))|m(?:a(?:ca|dsr|gs|nd(?:(?:[eo])l)|parray(?:(?:_i)?)|rimba|ssign|x(?:_k|a(?:bs(?:(?:accum)?)|ccum|lloc|rray))|[cx])|clock|delay|e(?:dian(?:(?:k)?)|tro)|fb|i(?:d(?:global|i(?:c(?:14|21|7|h(?:annelaftertouch|n)|ontrolchange|trl)|default|filestatus|in|noteo(?:ff|n(?:cps|key|oct|pch))|o(?:n(?:(?:2)?)|ut)|p(?:gm|itchbend|olyaftertouch|rogramchange)|tempo)|remot)|n(?:(?:a(?:bs(?:(?:accum)?)|ccum|rray)|cer)?)|rror)|o(?:d(?:e|matrix)|nitor|og(?:(?:ladder(?:(?:2)?)|vcf(?:(?:2)?))?)|scil)|p(?:3(?:bitrate|in|len|nchnls|s(?:cal|r))|ulse)|rtmsg|u(?:ltitap|te)|vc(?:hpf|lpf(?:[1234]))|xadsr)|n(?:chnls_hw|estedap|l(?:alp|filt(?:(?:2)?))|o(?:ise|t(?:eo(?:ff|n(?:(?:dur(?:(?:2)?))?))|num))|r(?:everb|pn)|s(?:amp|t(?:ance|rnum))|trpol|xtpow2)|o(?:ct(?:ave|cps|midi(?:(?:b|nn)?)|pch)|labuffer|sc(?:bnk|il(?:(?:1i|ikt(?:(?:[ps])?)|[13insx])?))|ut(?:(?:32|ch|i(?:at|c(?:(?:14)?)|p(?:at|[bc]))|k(?:at|c(?:(?:14)?)|p(?:at|[bc]))|let(?:kid|[afkv])|q(?:[1234])|rg|s(?:[12])|value|[choqsxz])?))|p(?:a(?:n(?:(?:2)?)|r(?:eq|t(?:2txt|i(?:als|kkel(?:(?:get|s(?:et|ync))?))))|ssign|ulstretch)|c(?:auchy|h(?:bend|midi(?:(?:b|nn)?)|oct)|o(?:nvolve|unt))|d(?:clip|half(?:(?:y)?))|eak|gm(?:(?:assig|ch)n)|h(?:as(?:er(?:[12])|or(?:(?:bnk)?))|s)|i(?:n(?:dex|k(?:er|ish))|tch(?:(?:a(?:c|mdf))?))|l(?:a(?:net|terev)|(?:ltra|u)ck)|o(?:isson|l(?:2rect|y(?:aft|nomial))|rt(?:(?:k)?)|scil(?:(?:3)?)|w(?:(?:ershape|oftwo|s)?))|r(?:e(?:alloc|piano)|int(?:(?:_type|f_i|k(?:s2|[2s])|[fks])?)|oduct)|set|t(?:able(?:(?:iw|[3iw])?)|rack)|uts|v(?:add|bufread|cross|interp|oc|read|s(?:2(?:array|tab)|a(?:dsyn|nal|rp)|b(?:and(?:[pr])|in|lur|uf(?:fer|read(?:(?:2)?)))|c(?:ale|e(?:nt|ps)|ross)|d(?:emix|is(?:kin|p))|envftw|f(?:ilter|r(?:e(?:ad|eze)|omarray)|t(?:[rw])|write)|g(?:ain|endy)|hift|i(?:fd|n(?:(?:fo|it)?))|lock|m(?:aska|ix|o(?:(?:ot|rp)h))|o(?:sc|ut)|pitch|t(?:(?:ana|enci)l)|voc|warp|ynth))|wd|y(?:assign(?:(?:[it])?)|call(?:(?:1(?:[it])|2(?:[it])|3(?:[it])|4(?:[it])|5(?:[it])|6(?:[it])|7(?:[it])|8(?:[it])|ni|[12345678int])?)|e(?:val(?:(?:[it])?)|xec(?:(?:[it])?))|init|l(?:assign(?:(?:[it])?)|call(?:(?:1(?:[it])|2(?:[it])|3(?:[it])|4(?:[it])|5(?:[it])|6(?:[it])|7(?:[it])|8(?:[it])|ni|[12345678int])?)|e(?:val(?:(?:[it])?)|xec(?:(?:[it])?))|run(?:(?:[it])?))|run(?:(?:[it])?)))|q(?:inf|nan)|r(?:2c|and(?:(?:om(?:(?:[hi])?)|[hi])?)|bjeq|e(?:ad(?:clock|fi|k(?:[234s])|sc(?:ore|ratch)|[fk])|ct2pol|init|lease|mo(?:teport|ve)|pluck|s(?:on(?:(?:xk|[krxyz])?)|yn)|verb(?:(?:2|sc)?)|windscore|zzy)|fft|i(?:fft|return)|ms|nd(?:(?:31)?)|ound|spline|tclock)|s(?:16b14|32b14|a(?:mphold|ndpaper)|c(?:a(?:le(?:(?:array)?)|n(?:hammer|table|[su]))|hed(?:kwhen(?:(?:named)?)|ule|when)|oreline(?:(?:_i)?))|e(?:ed|kere|mitone|nse(?:(?:key)?)|qtime(?:(?:2)?)|rial(?:Begin|End|Flush|Print|Read|Write(?:(?:_i)?))|t(?:c(?:(?:o|tr)l)|ksmps|row|scorepos))|f(?:i(?:list|nstr(?:(?:3m|[3m])?))|lo(?:ad|oper)|p(?:assign|l(?:ay(?:(?:3m|[3m])?)|ist)|reset))|h(?:aker|ift(?:in|out))|i(?:gn(?:alflowgraph|um)|n(?:(?:h|inv|syn)?))|l(?:eighbells|i(?:cearray|der(?:16(?:(?:f|table(?:(?:f)?))?)|32(?:(?:f|table(?:(?:f)?))?)|64(?:(?:f|table(?:(?:f)?))?)|8(?:(?:f|table(?:(?:f)?))?)|Kawai)))|nd(?:loop|warp(?:(?:st)?))|o(?:ck(?:recv(?:(?:s)?)|send(?:(?:s)?))|undin)|p(?:a(?:ce|t3d(?:(?:[it])?))|dist|litrig|rintf(?:(?:k)?)|send)|qrt|t(?:atevar|ix|r(?:c(?:at(?:(?:k)?)|har(?:(?:k)?)|mp(?:(?:k)?)|py(?:(?:k)?))|e(?:cv|son)|fromurl|get|index(?:(?:k)?)|l(?:en(?:(?:k)?)|ower(?:(?:k)?))|rindex(?:(?:k)?)|s(?:et|ub(?:(?:k)?))|to(?:(?:[dl])k|[dl])|upper(?:(?:k)?))|send)|u(?:binstr(?:(?:init)?)|m(?:(?:array)?))|vfilter|y(?:nc(?:grain|loop|phasor)|stem(?:(?:_i)?)))|t(?:a(?:b(?:2pvs|_i|ifd|le(?:(?:3kt|copy|filter(?:(?:i)?)|gpw|i(?:copy|gpw|kt|mix|w)|kt|mix|ng|ra|s(?:eg|huffle(?:(?:i)?))|w(?:a|kt)|x(?:kt|seg)|[3iw])?)|morph(?:(?:ak|[ai])?)|play|rec|sum|w(?:(?:_i)?))|mbourine|n(?:h|inv(?:(?:2)?))|[bn])|b(?:0_init|1(?:(?:(?:[012345])?)_init|[012345])|2_init|3_init|4_init|5_init|6_init|7_init|8_init|9_init|vcf|[0123456789])|emp(?:est|o(?:(?:(?:sc|v)al)?))|i(?:me(?:dseq|inst(?:[ks])|[ks])|val)|lineto|one(?:(?:[kx])?)|r(?:a(?:dsyn|n(?:dom|seg(?:(?:[br])?)))|cross|filter|highest|i(?:g(?:ger|seq)|rand)|lowest|mix|s(?:cale|(?:hif|pli)t))|urno(?:ff(?:(?:2)?)|n))|u(?:n(?:irand|wrap)|psamp|r(?:andom|d))|v(?:a(?:ctrol|dd(?:(?:_i|v(?:(?:_i)?))?)|get|lpass|set)|bap(?:(?:gmove|lsinit|(?:(?:z)?)move|[gz])?)|c(?:ella|o(?:(?:2(?:(?:(?:f|i(?:f|ni))t)?)|mb|py(?:(?:_i)?))?))|d(?:el(?:_k|ay(?:(?:x(?:w(?:[qs])|[qsw])|[3kx])?))|ivv(?:(?:_i)?))|e(?:cdelay|loc|xp(?:(?:_i|seg|v(?:(?:_i)?))?))|i(?:b(?:es|r(?:(?:ato)?))|ncr)|l(?:i(?:mit|nseg)|owres)|m(?:ap|irror|ult(?:(?:_i|v(?:(?:_i)?))?))|o(?:ice|sim)|p(?:haseseg|o(?:rt|w(?:(?:_i|v(?:(?:_i)?))?))|voc)|rand(?:[hi])|subv(?:(?:_i)?)|tab(?:le(?:1k|w(?:[aik])|[aik])|w(?:[aik])|[aik])|wrap)|w(?:aveset|eibull|g(?:b(?:ow(?:(?:edbar)?)|rass)|clar|flute|pluck(?:(?:2)?)|uide(?:[12]))|i(?:i(?:connect|data|range|send)|ndow)|r(?:ap|itescratch)|terrain)|x(?:adsr|in|out|scan(?:map|smap|[su])|tratim)|z(?:a(?:cl|kinit|mod|rg|wm|[rw])|filter2|i(?:wm|[rw])|k(?:cl|mod|wm|[rw]))|[Saikp])\\b(?:(\\:)([A-Za-z]))?",
483
+ "match": "(?:\\b(ATS(?:add(?:(?:nz)?)|bufread|cross|in(?:fo|terpread)|partialtap|read(?:(?:nz)?)|sinnoi)|FL(?:b(?:ox|ut(?:Bank|ton))|c(?:loseButton|o(?:lor(?:(?:2)?)|unt))|execButton|g(?:etsnap|roup(?:(?:(?:E|_e)nd)?))|h(?:ide|vsBox(?:(?:SetValue)?))|joy|k(?:eyIn|nob)|l(?:abel|oadsnap)|mouse|p(?:a(?:ck(?:(?:(?:E|_e)nd)?)|nel(?:(?:(?:E|_e)nd)?))|rintk(?:(?:2)?))|r(?:oller|un)|s(?:avesnap|croll(?:(?:(?:E|_e)nd)?)|et(?:Align|Box|Color(?:(?:2)?)|Font|Position|S(?:ize|napGroup)|Text(?:(?:Color|(?:Siz|Typ)e)?)|Val(?:(?:(?:(?:_)?)i)?)|snap)|how|lid(?:Bnk(?:(?:2(?:(?:Set(?:(?:k)?))?)|GetHandle|Set(?:(?:k)?))?)|er))|t(?:abs(?:(?:(?:E|_e)nd)?)|ext)|update|v(?:alue|keybd|slidBnk(?:(?:2)?))|xyin)|Mixer(?:Clear|GetLevel|Receive|Se(?:nd|tLevel(?:(?:_i)?)))|OSC(?:init(?:(?:M)?)|listen|send)|a(?:bs|ctive|ds(?:r|yn(?:(?:t(?:(?:2)?))?))|ftouch|l(?:pass|wayson)|mp(?:db(?:(?:fs)?)|midi(?:(?:d)?))|reson(?:(?:k)?)|tone(?:(?:[kx])?))|b(?:a(?:bo|lance|mboo|rmodel)|bcut(?:[ms])|e(?:(?:tara|xpr)nd)|form(?:(?:de|en)c1)|i(?:nit|quad(?:(?:a)?)|rnd)|qrez|u(?:chla|t(?:b(?:[pr])|hp|lp|t(?:er(?:b(?:[pr])|(?:[hl])p)|on))|zz))|c(?:2r|a(?:basa|uchy(?:(?:i)?))|e(?:il|ll|nt(?:(?:roid)?)|ps(?:(?:inv)?))|h(?:an(?:ctrl|ged(?:(?:2)?)|[io])|e(?:byshevpoly|ckbox)|n(?:_(?:[Sak])|clear|export|get|mix|params|set)|uap)|l(?:ear|filt|ip|ocko(?:ff|n))|mplxprod|o(?:m(?:b(?:(?:inv)?)|p(?:ile(?:csd|orc|str)|ress(?:(?:2)?)))|n(?:nect|trol|v(?:(?:l|olv)e))|py(?:a2ftab|f2array)|s(?:(?:h|inv|seg(?:(?:[br])?))?))|p(?:s(?:2pch|midi(?:(?:b|nn)?)|oct|pch|t(?:mid|un(?:(?:i)?))|xpch)|uprc)|r(?:oss(?:2|fm(?:(?:i|pm(?:(?:i)?))?)|pm(?:(?:i)?))|unch)|t(?:lchn|rl(?:14|21|7|init))|userrnd)|d(?:a(?:m|te(?:(?:s)?))|b(?:(?:(?:(?:fs)?)amp)?)|c(?:block(?:(?:2)?)|onv|t(?:(?:inv)?))|e(?:l(?:ay(?:(?:[1krw])?)|tap(?:(?:xw|[3inx])?))|norm)|i(?:ff|rectory|s(?:k(?:grain|in(?:(?:2)?))|p(?:fft|lay)|tort(?:(?:1)?))|vz)|o(?:ppler|wnsamp)|ripwater|u(?:mpk(?:(?:[234])?)|s(?:errnd|t(?:(?:2)?))))|e(?:nvlpx(?:(?:r)?)|phasor|qfil|v(?:alstr|ent(?:(?:_i)?))|x(?:citer|itnow|p(?:(?:curve|on|rand(?:(?:i)?)|seg(?:(?:ba|[abr])?))?)))|f(?:a(?:reylen(?:(?:i)?)|ust(?:audio|c(?:ompile|tl)|gen))|ft(?:(?:inv)?)|i(?:close|l(?:e(?:bit|len|nchnls|peak|s(?:cal|r)|valid)|larray|ter2)|n(?:(?:[ik])?)|open)|l(?:a(?:nger|shtxt)|oo(?:per(?:(?:2)?)|r)|uid(?:AllOut|C(?:C(?:[ik])|ontrol)|Engine|Load|Note|Out|ProgramSelect|SetInterpMethod))|m(?:b(?:3|ell)|metal|percfl|(?:rhod|voic|wurli)e)|o(?:f(?:2|ilter)|l(?:d|low(?:(?:2)?))|scil(?:(?:i)?)|ut(?:(?:ir|[ik])?)|[fg])|print(?:(?:(?:k)?)s)|r(?:a(?:c(?:(?:talnoise)?)|mebuffer)|eeverb)|t(?:c(?:hnls|onv|ps)|free|gen(?:(?:once|tmp)?)|l(?:en|oad(?:(?:k)?)|ptim)|morf|resize(?:(?:i)?)|s(?:a(?:mplebank|ve(?:(?:k)?))|r)))|g(?:a(?:in(?:(?:slider)?)|uss(?:(?:i|trig)?))|buzz|e(?:n(?:array(?:(?:_i)?)|dy(?:(?:[cx])?))|t(?:c(?:fg|ol)|ftargs|row|seed))|ogobel|ra(?:in(?:(?:[23])?)|nule)|uiro)|h(?:armon(?:(?:[234])?)|df5(?:read|write)|ilbert|rtf(?:early|move(?:(?:2)?)|reverb|stat)|sboscil|vs(?:[123]))|i(?:hold|mage(?:create|free|getpixel|load|s(?:ave|etpixel|ize))|n(?:(?:32|ch|it(?:(?:c(?:14|21|7))?)|let(?:kid|[afkv])|rg|s(?:global|remot)|te(?:g|rp)|value|[hoqstxz])?))|j(?:itter(?:(?:2)?)|spline)|l(?:enarray|fo|i(?:mit|n(?:e(?:(?:n(?:(?:r)?)|to)?)|rand|seg(?:(?:[br])?)))|o(?:cs(?:end|ig)|g(?:(?:10|2|btwo|curve)?)|op(?:seg(?:(?:p)?)|(?:[tx])seg)|renz|scil(?:(?:[3x])?)|w(?:pass2|res(?:(?:x)?)))|p(?:f(?:18|orm|reson)|hasor|interp|oscil(?:(?:sa(?:(?:2)?)|[3a])?)|re(?:ad|son)|s(?:hold(?:(?:p)?)|lot))|ua_(?:exec|ikopcall|opdef))|m(?:a(?:ca|dsr|gs|nd(?:(?:[eo])l)|parray(?:(?:_i)?)|rimba|ssign|x(?:_k|a(?:bs(?:(?:accum)?)|ccum|lloc|rray))|[cx])|clock|delay|e(?:dian(?:(?:k)?)|tro)|fb|i(?:d(?:global|i(?:c(?:14|21|7|h(?:annelaftertouch|n)|ontrolchange|trl)|default|filestatus|in|noteo(?:ff|n(?:cps|key|oct|pch))|o(?:n(?:(?:2)?)|ut)|p(?:gm|itchbend|olyaftertouch|rogramchange)|tempo)|remot)|n(?:(?:a(?:bs(?:(?:accum)?)|ccum|rray)|cer)?)|rror)|o(?:d(?:e|matrix)|nitor|og(?:(?:ladder(?:(?:2)?)|vcf(?:(?:2)?))?)|scil)|p(?:3(?:bitrate|in|len|nchnls|s(?:cal|r))|ulse)|rtmsg|u(?:ltitap|te)|vc(?:hpf|lpf(?:[1234]))|xadsr)|n(?:chnls_hw|estedap|l(?:alp|filt(?:(?:2)?))|o(?:ise|t(?:eo(?:ff|n(?:(?:dur(?:(?:2)?))?))|num))|r(?:everb|pn)|s(?:amp|t(?:ance|rnum))|trpol|xtpow2)|o(?:ct(?:ave|cps|midi(?:(?:b|nn)?)|pch)|labuffer|sc(?:bnk|il(?:(?:1i|ikt(?:(?:[ps])?)|[13insx])?))|ut(?:(?:32|ch|i(?:at|c(?:(?:14)?)|p(?:at|[bc]))|k(?:at|c(?:(?:14)?)|p(?:at|[bc]))|let(?:kid|[afkv])|q(?:[1234])|rg|s(?:[12])|value|[choqsxz])?))|p(?:a(?:n(?:(?:2)?)|r(?:eq|t(?:2txt|i(?:als|kkel(?:(?:get|s(?:et|ync))?))))|ssign|ulstretch)|c(?:auchy|h(?:bend|midi(?:(?:b|nn)?)|oct)|o(?:nvolve|unt))|d(?:clip|half(?:(?:y)?))|eak|gm(?:(?:assig|ch)n)|h(?:as(?:er(?:[12])|or(?:(?:bnk)?))|s)|i(?:n(?:dex|k(?:er|ish))|tch(?:(?:a(?:c|mdf))?))|l(?:a(?:net|terev)|(?:ltra|u)ck)|o(?:isson|l(?:2rect|y(?:aft|nomial))|rt(?:(?:k)?)|scil(?:(?:3)?)|w(?:(?:ershape|oftwo|s)?))|r(?:e(?:alloc|piano)|int(?:(?:_type|f_i|k(?:s2|[2s])|[fks])?)|oduct)|set|t(?:able(?:(?:iw|[3iw])?)|rack)|uts|v(?:add|bufread|cross|interp|oc|read|s(?:2(?:array|tab)|a(?:dsyn|nal|rp)|b(?:and(?:[pr])|in|lur|uf(?:fer|read(?:(?:2)?)))|c(?:ale|e(?:nt|ps)|ross)|d(?:emix|is(?:kin|p))|envftw|f(?:ilter|r(?:e(?:ad|eze)|omarray)|t(?:[rw])|write)|g(?:ain|endy)|hift|i(?:fd|n(?:(?:fo|it)?))|lock|m(?:aska|ix|o(?:(?:ot|rp)h))|o(?:sc|ut)|pitch|t(?:(?:ana|enci)l)|voc|warp|ynth))|wd|y(?:assign(?:(?:[it])?)|call(?:(?:1(?:[it])|2(?:[it])|3(?:[it])|4(?:[it])|5(?:[it])|6(?:[it])|7(?:[it])|8(?:[it])|ni|[12345678int])?)|e(?:val(?:(?:[it])?)|xec(?:(?:[it])?))|init|l(?:assign(?:(?:[it])?)|call(?:(?:1(?:[it])|2(?:[it])|3(?:[it])|4(?:[it])|5(?:[it])|6(?:[it])|7(?:[it])|8(?:[it])|ni|[12345678int])?)|e(?:val(?:(?:[it])?)|xec(?:(?:[it])?))|run(?:(?:[it])?))|run(?:(?:[it])?)))|q(?:inf|nan)|r(?:2c|and(?:(?:om(?:(?:[hi])?)|[hi])?)|bjeq|e(?:ad(?:clock|fi|k(?:[234s])|sc(?:ore|ratch)|[fk])|ct2pol|init|lease|mo(?:teport|ve)|pluck|s(?:on(?:(?:xk|[krxyz])?)|yn)|verb(?:(?:2|sc)?)|windscore|zzy)|fft|ifft|ms|nd(?:(?:31)?)|ound|spline|tclock)|s(?:16b14|32b14|a(?:mphold|ndpaper)|c(?:a(?:le(?:(?:array)?)|n(?:hammer|table|[su]))|hed(?:kwhen(?:(?:named)?)|ule|when)|oreline(?:(?:_i)?))|e(?:ed|kere|mitone|nse(?:(?:key)?)|qtime(?:(?:2)?)|rial(?:Begin|End|Flush|Print|Read|Write(?:(?:_i)?))|t(?:c(?:(?:o|tr)l)|ksmps|row|scorepos))|f(?:i(?:list|nstr(?:(?:3m|[3m])?))|lo(?:ad|oper)|p(?:assign|l(?:ay(?:(?:3m|[3m])?)|ist)|reset))|h(?:aker|ift(?:in|out))|i(?:gn(?:alflowgraph|um)|n(?:(?:h|inv|syn)?))|l(?:eighbells|i(?:cearray|der(?:16(?:(?:f|table(?:(?:f)?))?)|32(?:(?:f|table(?:(?:f)?))?)|64(?:(?:f|table(?:(?:f)?))?)|8(?:(?:f|table(?:(?:f)?))?)|Kawai)))|nd(?:loop|warp(?:(?:st)?))|o(?:ck(?:recv(?:(?:s)?)|send(?:(?:s)?))|undin)|p(?:a(?:ce|t3d(?:(?:[it])?))|dist|litrig|rintf(?:(?:k)?)|send)|qrt|t(?:atevar|ix|r(?:c(?:at(?:(?:k)?)|har(?:(?:k)?)|mp(?:(?:k)?)|py(?:(?:k)?))|e(?:cv|son)|fromurl|get|index(?:(?:k)?)|l(?:en(?:(?:k)?)|ower(?:(?:k)?))|rindex(?:(?:k)?)|s(?:et|ub(?:(?:k)?))|to(?:(?:[dl])k|[dl])|upper(?:(?:k)?))|send)|u(?:binstr(?:(?:init)?)|m(?:(?:array)?))|vfilter|y(?:nc(?:grain|loop|phasor)|stem(?:(?:_i)?)))|t(?:a(?:b(?:2pvs|_i|ifd|le(?:(?:3kt|copy|filter(?:(?:i)?)|gpw|i(?:copy|gpw|kt|mix|w)|kt|mix|ng|ra|s(?:eg|huffle(?:(?:i)?))|w(?:a|kt)|x(?:kt|seg)|[3iw])?)|morph(?:(?:ak|[ai])?)|play|rec|sum|w(?:(?:_i)?))|mbourine|n(?:h|inv(?:(?:2)?))|[bn])|b(?:0_init|1(?:(?:(?:[012345])?)_init|[012345])|2_init|3_init|4_init|5_init|6_init|7_init|8_init|9_init|vcf|[0123456789])|emp(?:est|o(?:(?:(?:sc|v)al)?))|i(?:me(?:dseq|inst(?:[ks])|[ks])|val)|lineto|one(?:(?:[kx])?)|r(?:a(?:dsyn|n(?:dom|seg(?:(?:[br])?)))|cross|filter|highest|i(?:g(?:ger|seq)|rand)|lowest|mix|s(?:cale|(?:hif|pli)t))|urno(?:ff(?:(?:2)?)|n))|u(?:n(?:irand|wrap)|psamp|r(?:andom|d))|v(?:a(?:ctrol|dd(?:(?:_i|v(?:(?:_i)?))?)|get|lpass|set)|bap(?:(?:gmove|lsinit|(?:(?:z)?)move|[gz])?)|c(?:ella|o(?:(?:2(?:(?:(?:f|i(?:f|ni))t)?)|mb|py(?:(?:_i)?))?))|d(?:el(?:_k|ay(?:(?:x(?:w(?:[qs])|[qsw])|[3kx])?))|ivv(?:(?:_i)?))|e(?:cdelay|loc|xp(?:(?:_i|seg|v(?:(?:_i)?))?))|i(?:b(?:es|r(?:(?:ato)?))|ncr)|l(?:i(?:mit|nseg)|owres)|m(?:ap|irror|ult(?:(?:_i|v(?:(?:_i)?))?))|o(?:ice|sim)|p(?:haseseg|o(?:rt|w(?:(?:_i|v(?:(?:_i)?))?))|voc)|rand(?:[hi])|subv(?:(?:_i)?)|tab(?:le(?:1k|w(?:[aik])|[aik])|w(?:[aik])|[aik])|wrap)|w(?:aveset|eibull|g(?:b(?:ow(?:(?:edbar)?)|rass)|clar|flute|pluck(?:(?:2)?)|uide(?:[12]))|i(?:i(?:connect|data|range|send)|ndow)|r(?:ap|itescratch)|terrain)|x(?:adsr|in|out|scan(?:map|smap|[su])|tratim)|z(?:a(?:cl|kinit|mod|rg|wm|[rw])|filter2|i(?:wm|[rw])|k(?:cl|mod|wm|[rw]))|[Saikp])\\b|\\b(array|bform(?:(?:de|en)c)|copy2(?:(?:[ft])tab)|hrtfer|ktableseg|lentab|m(?:(?:ax|in)tab)|p(?:op(?:(?:_f)?)|ush(?:(?:_f)?))|s(?:calet|ndload|oundout(?:(?:s)?)|pec(?:addm|di(?:ff|sp)|filt|hist|ptrk|s(?:cal|um)|trum)|tack|umtab)|tab(?:gen|map(?:(?:_i)?)|slice)|vbap(?:16|(?:[48])move|[48])|xyin)\\b)(?:(\\:)([A-Za-z]))?",
408
484
  "captures": {
409
485
  "1": {
410
486
  "name": "support.function.csound"
411
487
  },
412
488
  "2": {
413
- "name": "punctuation.type-annotation.csound"
414
- },
415
- "3": {
416
- "name": "type-annotation.storage.type.csound"
417
- }
418
- }
419
- },
420
- {
421
- "match": "\\b(array|bform(?:(?:de|en)c)|copy2(?:(?:[ft])tab)|hrtfer|ktableseg|lentab|m(?:(?:ax|in)tab)|p(?:op(?:(?:_f)?)|ush(?:(?:_f)?))|s(?:calet|ndload|oundout(?:(?:s)?)|pec(?:addm|di(?:ff|sp)|filt|hist|ptrk|s(?:cal|um)|trum)|tack|umtab)|tab(?:gen|map(?:(?:_i)?)|slice)|vbap(?:16|(?:[48])move|[48])|xyin)\\b(?:(\\:)([A-Za-z]))?",
422
- "captures": {
423
- "1": {
424
489
  "name": "invalid.deprecated.csound"
425
490
  },
426
- "2": {
491
+ "3": {
427
492
  "name": "punctuation.type-annotation.csound"
428
493
  },
429
- "3": {
494
+ "4": {
430
495
  "name": "type-annotation.storage.type.csound"
431
496
  }
432
497
  }
@@ -445,25 +510,25 @@
445
510
  },
446
511
  {
447
512
  "begin": "\\#include",
513
+ "end": "\\n",
448
514
  "beginCaptures": {
449
515
  "0": {
450
516
  "name": "keyword.include.preprocessor.csound"
451
517
  }
452
518
  },
453
- "end": "\\n",
454
519
  "patterns": [
455
520
  {
456
- "include": "#commentsAndMacroCalls"
521
+ "include": "#commentsAndMacroUses"
457
522
  },
458
523
  {
459
- "name": "string.quoted.include.csound",
524
+ "name": "string.include.csound",
460
525
  "begin": "([^ \\t])",
526
+ "end": "\\1",
461
527
  "beginCaptures": {
462
528
  "0": {
463
529
  "name": "punctuation.definition.string.begin.csound"
464
530
  }
465
531
  },
466
- "end": "\\1",
467
532
  "endCaptures": {
468
533
  "0": {
469
534
  "name": "punctuation.definition.string.end.csound"
@@ -474,23 +539,18 @@
474
539
  },
475
540
  {
476
541
  "begin": "\\#[ \\t]*define",
542
+ "end": "(?<=^\\#)|(?<=[^\\\\]\\#)",
477
543
  "beginCaptures": {
478
544
  "0": {
479
545
  "name": "keyword.define.preprocessor.csound"
480
546
  }
481
547
  },
482
- "end": "(?<=^\\#)|(?<=[^\\\\]\\#)",
483
548
  "patterns": [
484
549
  {
485
- "include": "#commentsAndMacroCalls"
486
- },
487
- {
488
- "name": "entity.name.function.preprocessor.csound",
489
- "match": "[A-Z_a-z]\\w*"
550
+ "include": "#commentsAndMacroUses"
490
551
  },
491
552
  {
492
- "name": "entity.invalid.illegal.preprocessor.csound",
493
- "match": "\\d+\\w*"
553
+ "include": "#macroNames"
494
554
  },
495
555
  {
496
556
  "begin": "\\(",
@@ -504,12 +564,12 @@
504
564
  },
505
565
  {
506
566
  "begin": "\\#",
567
+ "end": "(?<!\\\\)\\#",
507
568
  "beginCaptures": {
508
569
  "0": {
509
570
  "name": "punctuation.definition.macro.begin.csound"
510
571
  }
511
572
  },
512
- "end": "(?<!\\\\)\\#",
513
573
  "endCaptures": {
514
574
  "0": {
515
575
  "name": "punctuation.definition.macro.end.csound"
@@ -529,23 +589,18 @@
529
589
  },
530
590
  {
531
591
  "begin": "\\#(?:i(?:fn?def)|undef)",
592
+ "end": "\\n",
532
593
  "beginCaptures": {
533
594
  "0": {
534
595
  "name": "keyword.preprocessor.csound"
535
596
  }
536
597
  },
537
- "end": "\\n",
538
598
  "patterns": [
539
599
  {
540
- "include": "#commentsAndMacroCalls"
600
+ "include": "#commentsAndMacroUses"
541
601
  },
542
602
  {
543
- "name": "entity.name.function.preprocessor.csound",
544
- "match": "[A-Z_a-z]\\w*"
545
- },
546
- {
547
- "name": "entity.invalid.illegal.preprocessor.csound",
548
- "match": "\\d+\\w*"
603
+ "include": "#macroNames"
549
604
  }
550
605
  ]
551
606
  }
@@ -556,12 +611,12 @@
556
611
  {
557
612
  "name": "string.quoted.csound",
558
613
  "begin": "\"",
614
+ "end": "\"",
559
615
  "beginCaptures": {
560
616
  "0": {
561
617
  "name": "punctuation.definition.string.begin.csound"
562
618
  }
563
619
  },
564
- "end": "\"",
565
620
  "endCaptures": {
566
621
  "0": {
567
622
  "name": "punctuation.definition.string.end.csound"
@@ -569,7 +624,7 @@
569
624
  },
570
625
  "patterns": [
571
626
  {
572
- "include": "#macroCalls"
627
+ "include": "#macroUses"
573
628
  },
574
629
  {
575
630
  "include": "#escapeSequences"