@codingame/monaco-editor-wrapper 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dist/COBOL Copybook2.js +2017 -0
  2. package/dist/COBOL2.js +2017 -0
  3. package/dist/JavaScript.tmLanguage.js +0 -49
  4. package/dist/JavaScriptReact.tmLanguage.js +0 -49
  5. package/dist/SQL.plist.js +482 -0
  6. package/dist/TypeScript.tmLanguage.js +0 -49
  7. package/dist/TypeScriptReact.tmLanguage.js +0 -49
  8. package/dist/bsv2.js +49 -0
  9. package/dist/c2.js +18 -0
  10. package/dist/cobol-snippets.js +2017 -0
  11. package/dist/codeblock3.js +18 -18
  12. package/dist/coffeescript-coffeescript.code-snippets.js +18 -0
  13. package/dist/coffeescript2.js +18 -0
  14. package/dist/configuration/hack.d.ts +2 -0
  15. package/dist/cpp-c.code-snippets.js +18 -0
  16. package/dist/cpp-cpp.code-snippets.js +18 -0
  17. package/dist/cpp2.js +18 -0
  18. package/dist/cpptools.js +2 -2
  19. package/dist/csharp2.js +508 -0
  20. package/dist/cssContribution.js +10 -0
  21. package/dist/diet3.js +92 -0
  22. package/dist/elixir-snippets.js +184 -0
  23. package/dist/extensionConfigurations.js +9475 -0
  24. package/dist/features/extensionConfigurations.js +3 -3
  25. package/dist/fsharp-fsharp.code-snippets.js +18 -0
  26. package/dist/fsharp2.js +18 -0
  27. package/dist/groovy-groovy.code-snippets.js +229 -0
  28. package/dist/groovy2.js +229 -0
  29. package/dist/html (eex).js +31 -0
  30. package/dist/htmlContribution.js +10 -0
  31. package/dist/java.js +11 -0
  32. package/dist/java2.js +1 -1
  33. package/dist/javascript-javascript.code-snippets.js +196 -0
  34. package/dist/javascript2.js +196 -0
  35. package/dist/javascriptreact2.js +196 -0
  36. package/dist/jsonContribution.js +78 -0
  37. package/dist/kotlin2.js +117 -0
  38. package/dist/kotlinscript2.js +117 -0
  39. package/dist/languages/extensions/configurationLoader.d.ts +2 -20
  40. package/dist/languages/monarch/list.d.ts +7 -0
  41. package/dist/languages/textMate/TextMateTokensProvider.d.ts +11 -0
  42. package/dist/main.js +42 -124
  43. package/dist/markdown-basics-markdown.code-snippets.js +121 -0
  44. package/dist/markdown-basics-markdown.js +0 -18
  45. package/dist/markdown-basics.js +103 -0
  46. package/dist/markdown2.js +103 -0
  47. package/dist/pgsql-sql.js +21 -0
  48. package/dist/pgsql.js +21 -0
  49. package/dist/php-php.code-snippets.js +265 -0
  50. package/dist/php2.js +265 -0
  51. package/dist/powershell-powershell.code-snippets.js +18 -0
  52. package/dist/powershell2.js +18 -0
  53. package/dist/r.tmLanguage.js +572 -0
  54. package/dist/r2.js +1 -1
  55. package/dist/reason2.js +100 -0
  56. package/dist/scalameta.js +6 -1
  57. package/dist/services/functional.d.ts +1 -0
  58. package/dist/services/lyfecycle.d.ts +13 -0
  59. package/dist/sql2.js +21 -0
  60. package/dist/svlangserver-systemverilog.js +395 -0
  61. package/dist/svlangserver.js +85 -0
  62. package/dist/swift-swift.code-snippets.js +183 -0
  63. package/dist/swift2.js +183 -0
  64. package/dist/systemverilog.js +41 -7
  65. package/dist/systemverilog.tmLanguage.js +676 -496
  66. package/dist/systemverilog2.js +208 -0
  67. package/dist/tcl2.js +151 -0
  68. package/dist/typescript-basics-typescript.code-snippets.js +312 -0
  69. package/dist/typescript-basics.js +312 -0
  70. package/dist/typescript2.js +312 -0
  71. package/dist/typescriptContribution.js +36 -0
  72. package/dist/typescriptreact2.js +312 -0
  73. package/dist/vb-vb.code-snippets.js +88 -0
  74. package/dist/vb2.js +88 -0
  75. package/dist/verilog-systemverilog.js +327 -140
  76. package/dist/verilog.js +85 -3
  77. package/dist/verilog2.js +56 -65
  78. package/dist/vscode-R-r-snippets.js +534 -0
  79. package/dist/vscode-R-rmarkdown.js +91 -0
  80. package/dist/vscode-R-rmd.js +2 -2
  81. package/dist/vscode-python.js +9 -0
  82. package/package.json +1 -1
  83. package/stats.html +1 -1
  84. package/dist/Groovy2.js +0 -28
  85. package/dist/features/mutualizedExtensionConfigurations.d.ts +0 -1
  86. package/dist/features/mutualizedExtensionConfigurations.js +0 -4857
  87. package/dist/services/CustomFoldingRulesLanguageConfigurationService.d.ts +0 -4
@@ -1,208 +1,395 @@
1
- var bit = {
2
- prefix: "bit",
3
- body: "bit ${1:bit_name} = ${2:value};"
1
+ var assign = {
2
+ prefix: "assign",
3
+ body: [
4
+ "assign ${1:var} = ${2:value};$0"
5
+ ],
6
+ description: "Snippet for an assignment"
4
7
  };
5
- var int = {
6
- prefix: "int",
7
- body: "int ${1:int_name} = ${2:value};"
8
+ var force = {
9
+ prefix: "force",
10
+ body: [
11
+ "force ${1:var} = ${2:value};$0"
12
+ ],
13
+ description: "Snippet for a force assignment"
8
14
  };
9
- var shortint = {
10
- prefix: "shortint",
11
- body: "shortint ${1:name} = ${2:value};"
15
+ var always = {
16
+ prefix: "always",
17
+ body: [
18
+ "always @(${1:sensitivity_list})",
19
+ "begin",
20
+ "\t${0:${TM_SELECTED_TEXT}}",
21
+ "end"
22
+ ],
23
+ description: "Snippet for an always block"
12
24
  };
13
- var longint = {
14
- prefix: "longint",
15
- body: "longint ${1:name} = ${2:value};"
25
+ var always_ff = {
26
+ prefix: "always_ff",
27
+ body: [
28
+ "always_ff @(posedge ${1:clk} or negedge ${2:rst_n})",
29
+ "begin",
30
+ "\t${0:${TM_SELECTED_TEXT}}",
31
+ "end"
32
+ ],
33
+ description: "Snippet for an always_ff block"
16
34
  };
17
- var byte = {
18
- prefix: "byte",
19
- body: "byte ${1:byte:_name} = ${2:value};"
35
+ var always_latch = {
36
+ prefix: "always_latch",
37
+ body: [
38
+ "always_latch",
39
+ "begin",
40
+ "\t${0:${TM_SELECTED_TEXT}}",
41
+ "end"
42
+ ],
43
+ description: "Snippet for an always_latch block"
20
44
  };
21
- var logic = {
22
- prefix: "logic",
23
- body: "logic ${1:logic_name} = ${2:value};"
45
+ var always_comb = {
46
+ prefix: "always_comb",
47
+ body: [
48
+ "always_comb",
49
+ "begin",
50
+ "\t${0:${TM_SELECTED_TEXT}}",
51
+ "end"
52
+ ],
53
+ description: "Snippet for an always_comb block"
54
+ };
55
+ var elseif = {
56
+ prefix: "else if",
57
+ body: [
58
+ "else if (${1:condition})",
59
+ "begin${2:: block_name}",
60
+ "\t${0:${TM_SELECTED_TEXT}}",
61
+ "end"
62
+ ],
63
+ description: "Snippet for an else if"
24
64
  };
25
- var packed = {
26
- prefix: "packed",
27
- body: "packed"
65
+ var foreach = {
66
+ prefix: "foreach",
67
+ body: [
68
+ "foreach (${1:arr}[${2:i}])",
69
+ "begin",
70
+ "\t${0:${TM_SELECTED_TEXT}}",
71
+ "end"
72
+ ],
73
+ description: "Snippet for a foreach loop"
28
74
  };
29
75
  var task = {
30
76
  prefix: "task",
31
77
  body: [
32
- "task ${1:automatic} ${2:taskName}(${3:arguments});",
33
- "\t$0",
34
- "endtask //$1"
78
+ "task ${1:name}(${2:port_list});",
79
+ "\t${0:${TM_SELECTED_TEXT}}",
80
+ "endtask"
35
81
  ],
36
- description: "task name; ... endtask"
82
+ description: "Snippet for a task definition"
37
83
  };
38
- var modport = {
39
- prefix: "modport",
84
+ var program = {
85
+ prefix: "program",
40
86
  body: [
41
- "modport ${1:identifier} (",
42
- "input ${2:input_ports},",
43
- "output ${3:output_ports}",
44
- ");"
87
+ "program ${1:name}(${2:port_list});",
88
+ "\t${0:${TM_SELECTED_TEXT}}",
89
+ "endprogram"
45
90
  ],
46
- description: "modport name (input ports_in, output ports_out); "
91
+ description: "Snippet for a program definition"
47
92
  };
48
- var display = {
49
- prefix: "display",
93
+ var module = {
94
+ prefix: "module",
50
95
  body: [
51
- "\\$display(\"$1\"$2);$0"
96
+ "module ${1:name} (",
97
+ "\t${2:port_list}",
98
+ ");",
99
+ "\t${0:${TM_SELECTED_TEXT}}",
100
+ "endmodule"
52
101
  ],
53
- description: "$display(\"...\", params...)"
102
+ description: "Snippet for a module definition"
54
103
  };
55
- var queue = {
56
- prefix: "queue",
57
- body: "${1:data_type} ${2:queue_name}[\\$];",
58
- description: "insert queue."
104
+ var assert = {
105
+ prefix: "assert",
106
+ body: [
107
+ "${1:label}: assert (${2:test})",
108
+ "\telse \\$error(\"${0:Assertion ${1:label} failed!}\");"
109
+ ],
110
+ description: "Snippet for an immediate assertion"
59
111
  };
60
- var mailbox = {
61
- prefix: "mailbox",
112
+ var property = {
113
+ prefix: "property",
62
114
  body: [
63
- "mailbox mbx",
64
- "${1:mbx = new();}"
115
+ "property ${1:name};",
116
+ "\t@(posedge ${2:clk}) ${0:test}",
117
+ "endproperty"
65
118
  ],
66
- description: "insert mailbox instance"
119
+ description: "Snippet for a property"
67
120
  };
68
- var assert = {
69
- prefix: "assert",
121
+ var generate = {
122
+ prefix: "generate",
123
+ body: [
124
+ "generate",
125
+ "\t${0:${TM_SELECTED_TEXT}}",
126
+ "endgenerate"
127
+ ],
128
+ description: "Snippet for a generate block"
129
+ };
130
+ var ternary = {
131
+ prefix: "ter",
132
+ body: [
133
+ "$1 ? $2 : $3"
134
+ ],
135
+ description: "Snippet for a ternary operator expression"
136
+ };
137
+ var reg = {
138
+ prefix: "reg",
139
+ body: [
140
+ "reg $1;$0"
141
+ ],
142
+ description: "Snippet for a register declaration"
143
+ };
144
+ var regarray = {
145
+ prefix: "rega",
146
+ body: [
147
+ "reg [$1:$2] $3;$0"
148
+ ],
149
+ description: "Snippet for a multi-bit register declaration"
150
+ };
151
+ var regmemory = {
152
+ prefix: "regm",
153
+ body: [
154
+ "reg [$1:$2] $3 [$4:$5];$0"
155
+ ],
156
+ description: "Snippet for a memory register declaration"
157
+ };
158
+ var wire = {
159
+ prefix: "wire",
160
+ body: [
161
+ "wire $1;$0"
162
+ ],
163
+ description: "Snippet for a wire declaration"
164
+ };
165
+ var wirearray = {
166
+ prefix: "wirea",
167
+ body: [
168
+ "wire [$1:$2] $3;$0"
169
+ ],
170
+ description: "Snippet for a multi-bit wire declaration"
171
+ };
172
+ var logic = {
173
+ prefix: "logic",
70
174
  body: [
71
- "assert (${1:condition}) $2",
72
- "else ${3:error_process}"
175
+ "logic $1;$0"
73
176
  ],
74
- description: "insert assert() ... else ..."
177
+ description: "Snippet for a logic signal declaration"
178
+ };
179
+ var logicarray = {
180
+ prefix: "logica",
181
+ body: [
182
+ "logic [$1:$2] $3;$0"
183
+ ],
184
+ description: "Snippet for a multi-bit logic signal declaration"
185
+ };
186
+ var array = {
187
+ prefix: "array",
188
+ body: "[${1:8}:${2:0}]$0",
189
+ description: "Snippet for a multi-bit register declaration"
190
+ };
191
+ var associative_array = {
192
+ prefix: "assoc",
193
+ body: "${1:type} ${2:name}[${3:index_type}];$0",
194
+ description: "Snippet for a associative array declaration"
195
+ };
196
+ var separator = {
197
+ prefix: "separator",
198
+ body: [
199
+ "// -------------------------------------------------------\n$0"
200
+ ],
201
+ description: "Snippet for a separator"
202
+ };
203
+ var heading = {
204
+ prefix: "heading",
205
+ body: [
206
+ "// -------------------------------------------------------",
207
+ "// -- ${1:heading}",
208
+ "// -------------------------------------------------------\n$0"
209
+ ],
210
+ description: "Snippet for a heading"
75
211
  };
76
212
  var verilogSystemverilog = {
77
- "always_ff block": {
78
- prefix: "always_ff",
213
+ assign: assign,
214
+ force: force,
215
+ always: always,
216
+ always_ff: always_ff,
217
+ always_latch: always_latch,
218
+ always_comb: always_comb,
219
+ "if": {
220
+ prefix: "if",
79
221
  body: [
80
- "always_ff @( ${1:clock} ) begin : ${2:blockName}",
81
- "\t$0",
222
+ "if (${1:condition})",
223
+ "begin${2:: block_name}",
224
+ "\t${3:pass}",
82
225
  "end"
83
226
  ],
84
- description: "Insert an always_ff block"
227
+ description: "Snippet for an if statement"
85
228
  },
86
- "always_comb block": {
87
- prefix: "always_comb",
229
+ "if/else": {
230
+ prefix: "if/else",
88
231
  body: [
89
- "always_comb begin : ${1:blockName}",
90
- "\t$0",
232
+ "if (${1:condition})",
233
+ "begin${2:: block_name}",
234
+ "\t${3:pass}",
235
+ "end",
236
+ "else",
237
+ "begin${4:: block_name}",
238
+ "\t${5:pass}",
91
239
  "end"
92
240
  ],
93
- description: "Insert an always_comb block"
241
+ description: "Snippet for an if statement with else"
94
242
  },
95
- "always_latch block": {
96
- prefix: "always_latch",
243
+ elseif: elseif,
244
+ "else": {
245
+ prefix: "else",
97
246
  body: [
98
- "always_latch begin : ${1:blockName}",
99
- "\t$0",
247
+ "else",
248
+ "begin${1:: block_name}",
249
+ "\t${0:${TM_SELECTED_TEXT}}",
100
250
  "end"
101
251
  ],
102
- description: "Insert an always_latch block"
252
+ description: "Snippet for an else"
103
253
  },
104
- bit: bit,
105
- int: int,
106
- shortint: shortint,
107
- longint: longint,
108
- byte: byte,
109
- logic: logic,
110
- packed: packed,
111
- "this": {
112
- prefix: "this",
113
- body: "this"
254
+ "case": {
255
+ prefix: "case",
256
+ body: [
257
+ "case (${1:variable})",
258
+ "\t${0:${TM_SELECTED_TEXT}}",
259
+ "endcase"
260
+ ],
261
+ description: "Snippet for a case statement"
114
262
  },
115
- "typedef struct packed": {
116
- prefix: "typedef struct packed",
263
+ "case/default": {
264
+ prefix: "case/default",
117
265
  body: [
118
- "typedef struct packed {",
119
- "\t$0",
120
- "} ${1:struct_name};"
266
+ "case (${1:variable})",
267
+ "\t${0:${TM_SELECTED_TEXT}}",
268
+ "\tdefault:",
269
+ "\tbegin${2:: block_name}",
270
+ "\t\t${3:default_case}",
271
+ "\tend",
272
+ "endcase"
121
273
  ],
122
- description: "typedef struct packed { ... } name"
274
+ description: "Snippet for a case statement with default"
123
275
  },
124
- "class": {
125
- prefix: "class",
276
+ "while": {
277
+ prefix: "while",
126
278
  body: [
127
- "class ${1:className};",
128
- "\tfunction new();",
129
- "\t\t$0",
130
- "\tendfunction //new()",
131
- "endclass //$1"
279
+ "while (${1:expression})",
280
+ "begin",
281
+ "\t${0:${TM_SELECTED_TEXT}}",
282
+ "end"
132
283
  ],
133
- description: "class name; ... endclass"
284
+ description: "Snippet for a while loop"
134
285
  },
135
- "class extends": {
136
- prefix: "class extends",
286
+ "for": {
287
+ prefix: "for",
137
288
  body: [
138
- "class ${1:className} extends ${2:superClass};",
139
- "\tfunction new();",
140
- "\t\t$0",
141
- "\tendfunction //new()",
142
- "endclass //$1 extends $2"
289
+ "for (int ${1:i}=0; ${1:i}<${2:MAX}; ++${1:i})",
290
+ "begin${3:: block_name}",
291
+ "\t${0:${TM_SELECTED_TEXT}}",
292
+ "end"
143
293
  ],
144
- description: "class name extends super; ... endclass"
294
+ description: "Snippet for a for loop"
145
295
  },
146
- task: task,
147
- "package": {
148
- prefix: "package",
296
+ foreach: foreach,
297
+ "function": {
298
+ prefix: "function",
149
299
  body: [
150
- "package ${1:package_name}",
151
- "\t$2",
152
- "endpackage"
300
+ "function ${1:return_value} ${2:name}(${3:port_list});",
301
+ "\t${0:${TM_SELECTED_TEXT}}",
302
+ "endfunction"
153
303
  ],
154
- description: "package name; ... endpackage"
304
+ description: "Snippet for a function definition"
155
305
  },
156
- "import": {
157
- prefix: "import",
158
- body: "import ${1:name}::${2:scope};",
159
- description: "import name::scope"
306
+ task: task,
307
+ "class": {
308
+ prefix: "class",
309
+ body: [
310
+ "class ${1:name};",
311
+ "\t${0:${TM_SELECTED_TEXT}}",
312
+ "endclass"
313
+ ],
314
+ description: "Snippet for a class definition"
160
315
  },
161
- "interface": {
162
- prefix: "interface",
316
+ "class/extends": {
317
+ prefix: "class/extends",
163
318
  body: [
164
- "interface ${1:interfacename};",
165
- "\t$0",
166
- "endinterface //$1"
319
+ "class ${1:name} extends ${2:super};",
320
+ "\tfunction new();",
321
+ "\t\t${0:${TM_SELECTED_TEXT}}",
322
+ "\tendfunction",
323
+ "endclass"
167
324
  ],
168
- description: "interface name; ... endinterface"
325
+ description: "Snippet for a class definition with extends"
169
326
  },
170
- modport: modport,
171
- display: display,
172
- "typedef enum": {
173
- prefix: "typedef enum",
327
+ program: program,
328
+ module: module,
329
+ "module#(param)": {
330
+ prefix: "module #(",
174
331
  body: [
175
- "typedef enum ${1:data_type} { $0 } ${2:name};"
332
+ "module ${1:name} #(",
333
+ "\t${2:parameters}",
334
+ ") (",
335
+ "\t${3:port_list}",
336
+ ");",
337
+ "\t${0:${TM_SELECTED_TEXT}}",
338
+ "endmodule"
176
339
  ],
177
- description: "typedef enum (data_type) { ... } name"
340
+ description: "Snippet for a parameterized module definition"
178
341
  },
179
- "enum": {
180
- prefix: [
181
- "en",
182
- "enum"
342
+ assert: assert,
343
+ property: property,
344
+ generate: generate,
345
+ "typedef/struct": {
346
+ prefix: "typedef/struct",
347
+ body: [
348
+ "typedef struct packed {",
349
+ "\t${0:${TM_SELECTED_TEXT}}",
350
+ "} ${1:name};"
183
351
  ],
352
+ description: "Snippet for a structure type definition"
353
+ },
354
+ "typedef/enum": {
355
+ prefix: "typedef/enum",
184
356
  body: [
185
- "enum ${1:data_type} { $0 } ${2:name}"
357
+ "typedef enum ${1:type} { ${0:${TM_SELECTED_TEXT}} } ${2:name};"
186
358
  ],
187
- description: "enum (data_type) { ... } name"
359
+ description: "Snippet for a enumeration type definition"
188
360
  },
189
- queue: queue,
190
- mailbox: mailbox,
191
- "associative array": {
192
- prefix: "AA",
193
- body: "${1:data_type} ${2:name}[${3:index_type}];$0",
194
- description: "insert Associative array(AA)."
361
+ "interface": {
362
+ prefix: "interface",
363
+ body: [
364
+ "interface ${1:name};",
365
+ "\t${0:${TM_SELECTED_TEXT}}",
366
+ "endinterface"
367
+ ],
368
+ description: "Snippet for an interface definition"
195
369
  },
196
- assert: assert,
197
- "fork-join": {
198
- prefix: "fork join",
370
+ ternary: ternary,
371
+ reg: reg,
372
+ regarray: regarray,
373
+ regmemory: regmemory,
374
+ wire: wire,
375
+ wirearray: wirearray,
376
+ logic: logic,
377
+ logicarray: logicarray,
378
+ array: array,
379
+ associative_array: associative_array,
380
+ separator: separator,
381
+ heading: heading,
382
+ "heading+description": {
383
+ prefix: "heading+description",
199
384
  body: [
200
- "fork",
201
- "\t$0",
202
- "join"
385
+ "// -------------------------------------------------------",
386
+ "// -- ${1:heading}",
387
+ "// -------------------------------------------------------",
388
+ "// ${2:description}",
389
+ "// -------------------------------------------------------\n$0"
203
390
  ],
204
- description: "fork ... join"
391
+ description: "Snippet for a heading with a block for description"
205
392
  }
206
393
  };
207
394
 
208
- export { assert, bit, byte, verilogSystemverilog as default, display, int, logic, longint, mailbox, modport, packed, queue, shortint, task };
395
+ export { always, always_comb, always_ff, always_latch, array, assert, assign, associative_array, verilogSystemverilog as default, elseif, force, foreach, generate, heading, logic, logicarray, module, program, property, reg, regarray, regmemory, separator, task, ternary, wire, wirearray };
package/dist/verilog.js CHANGED
@@ -23,7 +23,7 @@ var brackets = [
23
23
  "end"
24
24
  ],
25
25
  [
26
- "case",
26
+ "randcase",
27
27
  "endcase"
28
28
  ],
29
29
  [
@@ -34,14 +34,46 @@ var brackets = [
34
34
  "casez",
35
35
  "endcase"
36
36
  ],
37
+ [
38
+ "case",
39
+ "endcase"
40
+ ],
41
+ [
42
+ "checker",
43
+ "endchecker"
44
+ ],
45
+ [
46
+ "class",
47
+ "endclass"
48
+ ],
49
+ [
50
+ "clocking",
51
+ "endclocking"
52
+ ],
37
53
  [
38
54
  "config",
39
55
  "endconfig"
40
56
  ],
57
+ [
58
+ "coverage",
59
+ "endcoverage"
60
+ ],
61
+ [
62
+ "covergroup",
63
+ "endgroup"
64
+ ],
41
65
  [
42
66
  "fork",
43
67
  "join"
44
68
  ],
69
+ [
70
+ "fork",
71
+ "join_any"
72
+ ],
73
+ [
74
+ "fork",
75
+ "join_none"
76
+ ],
45
77
  [
46
78
  "function",
47
79
  "endfunction"
@@ -50,6 +82,10 @@ var brackets = [
50
82
  "generate",
51
83
  "endgenerate"
52
84
  ],
85
+ [
86
+ "interface",
87
+ "endinterface"
88
+ ],
53
89
  [
54
90
  "macromodule",
55
91
  "endmodule"
@@ -58,14 +94,30 @@ var brackets = [
58
94
  "module",
59
95
  "endmodule"
60
96
  ],
97
+ [
98
+ "package",
99
+ "endpackage"
100
+ ],
61
101
  [
62
102
  "primitive",
63
103
  "endprimitive"
64
104
  ],
105
+ [
106
+ "program",
107
+ "endprogram"
108
+ ],
109
+ [
110
+ "property",
111
+ "endproperty"
112
+ ],
65
113
  [
66
114
  "specify",
67
115
  "endspecify"
68
116
  ],
117
+ [
118
+ "sequence",
119
+ "endsequence"
120
+ ],
69
121
  [
70
122
  "table",
71
123
  "endtable"
@@ -96,10 +148,40 @@ var autoClosingPairs = [
96
148
  ]
97
149
  }
98
150
  ];
151
+ var surroundingPairs = [
152
+ [
153
+ "{",
154
+ "}"
155
+ ],
156
+ [
157
+ "[",
158
+ "]"
159
+ ],
160
+ [
161
+ "(",
162
+ ")"
163
+ ],
164
+ [
165
+ "'",
166
+ "'"
167
+ ],
168
+ [
169
+ "\"",
170
+ "\""
171
+ ]
172
+ ];
173
+ var folding = {
174
+ markers: {
175
+ start: "^[ \\t\\n]*(?://[ \\t\\n]*#?region|`(?:ifdef|ifndef|elsif|else)\\b|\\b(?:(?:macro)?module|class)\\b)",
176
+ end: "^[ \\t\\n]*(?://[ \\t\\n]*#?endregion|`(?:elsif|else|endif)\\b|\\b(?:endmodule|endclass)\\b)"
177
+ }
178
+ };
99
179
  var verilog = {
100
180
  comments: comments,
101
181
  brackets: brackets,
102
- autoClosingPairs: autoClosingPairs
182
+ autoClosingPairs: autoClosingPairs,
183
+ surroundingPairs: surroundingPairs,
184
+ folding: folding
103
185
  };
104
186
 
105
- export { autoClosingPairs, brackets, comments, verilog as default };
187
+ export { autoClosingPairs, brackets, comments, verilog as default, folding, surroundingPairs };