@difizen/libro-cofine-editor 0.1.2

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 (122) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/es/editor-contribution.d.ts +10 -0
  4. package/es/editor-contribution.d.ts.map +1 -0
  5. package/es/editor-contribution.js +31 -0
  6. package/es/index.d.ts +7 -0
  7. package/es/index.d.ts.map +1 -0
  8. package/es/index.js +6 -0
  9. package/es/index.less +32 -0
  10. package/es/language/lsp/completion-provider.d.ts +13 -0
  11. package/es/language/lsp/completion-provider.d.ts.map +1 -0
  12. package/es/language/lsp/completion-provider.js +290 -0
  13. package/es/language/lsp/diagnostic-provider.d.ts +22 -0
  14. package/es/language/lsp/diagnostic-provider.d.ts.map +1 -0
  15. package/es/language/lsp/diagnostic-provider.js +161 -0
  16. package/es/language/lsp/format-provider.d.ts +9 -0
  17. package/es/language/lsp/format-provider.d.ts.map +1 -0
  18. package/es/language/lsp/format-provider.js +139 -0
  19. package/es/language/lsp/hover-provider.d.ts +8 -0
  20. package/es/language/lsp/hover-provider.d.ts.map +1 -0
  21. package/es/language/lsp/hover-provider.js +136 -0
  22. package/es/language/lsp/language-feature-provider.d.ts +17 -0
  23. package/es/language/lsp/language-feature-provider.d.ts.map +1 -0
  24. package/es/language/lsp/language-feature-provider.js +89 -0
  25. package/es/language/lsp/lsp-contribution.d.ts +25 -0
  26. package/es/language/lsp/lsp-contribution.d.ts.map +1 -0
  27. package/es/language/lsp/lsp-contribution.js +213 -0
  28. package/es/language/lsp/module.d.ts +2 -0
  29. package/es/language/lsp/module.d.ts.map +1 -0
  30. package/es/language/lsp/module.js +3 -0
  31. package/es/language/lsp/semantic-highlight-provider.d.ts +9 -0
  32. package/es/language/lsp/semantic-highlight-provider.d.ts.map +1 -0
  33. package/es/language/lsp/semantic-highlight-provider.js +41 -0
  34. package/es/language/lsp/signature-help-provider.d.ts +8 -0
  35. package/es/language/lsp/signature-help-provider.d.ts.map +1 -0
  36. package/es/language/lsp/signature-help-provider.js +108 -0
  37. package/es/language/lsp/type-concerters.d.ts +7 -0
  38. package/es/language/lsp/type-concerters.d.ts.map +1 -0
  39. package/es/language/lsp/type-concerters.js +37 -0
  40. package/es/language/python/data/MagicPython.tmLanguage.json +4213 -0
  41. package/es/language/python/data/MagicRegExp.tmLanguage.json +497 -0
  42. package/es/language/python/data/configurations/python.json +135 -0
  43. package/es/language/python/data/snippets/python.snippets.json +223 -0
  44. package/es/language/python/module.d.ts +2 -0
  45. package/es/language/python/module.d.ts.map +1 -0
  46. package/es/language/python/module.js +3 -0
  47. package/es/language/python/python-builtin.d.ts +86 -0
  48. package/es/language/python/python-builtin.d.ts.map +1 -0
  49. package/es/language/python/python-builtin.js +569 -0
  50. package/es/language/python/python-language-feature.d.ts +26 -0
  51. package/es/language/python/python-language-feature.d.ts.map +1 -0
  52. package/es/language/python/python-language-feature.js +174 -0
  53. package/es/language-specs.d.ts +33 -0
  54. package/es/language-specs.d.ts.map +1 -0
  55. package/es/language-specs.js +115 -0
  56. package/es/libro-e2-editor.d.ts +277 -0
  57. package/es/libro-e2-editor.d.ts.map +1 -0
  58. package/es/libro-e2-editor.js +720 -0
  59. package/es/libro-e2-preload.d.ts +5 -0
  60. package/es/libro-e2-preload.d.ts.map +1 -0
  61. package/es/libro-e2-preload.js +57 -0
  62. package/es/libro-sql-api.d.ts +8 -0
  63. package/es/libro-sql-api.d.ts.map +1 -0
  64. package/es/libro-sql-api.js +26 -0
  65. package/es/module.d.ts +3 -0
  66. package/es/module.d.ts.map +1 -0
  67. package/es/module.js +44 -0
  68. package/es/placeholder.d.ts +31 -0
  69. package/es/placeholder.d.ts.map +1 -0
  70. package/es/placeholder.js +101 -0
  71. package/es/theme/data/jupyter_dark.json +406 -0
  72. package/es/theme/data/jupyter_hc_dark.json +385 -0
  73. package/es/theme/data/jupyter_hc_light.json +386 -0
  74. package/es/theme/data/jupyter_light.json +386 -0
  75. package/es/theme/data/libro_dark.json +186 -0
  76. package/es/theme/data/libro_light.json +170 -0
  77. package/es/theme/libro-python-theme-contribution.d.ts +6 -0
  78. package/es/theme/libro-python-theme-contribution.d.ts.map +1 -0
  79. package/es/theme/libro-python-theme-contribution.js +49 -0
  80. package/es/theme/module.d.ts +2 -0
  81. package/es/theme/module.d.ts.map +1 -0
  82. package/es/theme/module.js +3 -0
  83. package/es/types.d.ts +10 -0
  84. package/es/types.d.ts.map +1 -0
  85. package/es/types.js +3 -0
  86. package/package.json +67 -0
  87. package/src/editor-contribution.ts +30 -0
  88. package/src/index.less +32 -0
  89. package/src/index.spec.ts +8 -0
  90. package/src/index.ts +6 -0
  91. package/src/language/lsp/completion-provider.ts +214 -0
  92. package/src/language/lsp/diagnostic-provider.ts +148 -0
  93. package/src/language/lsp/format-provider.ts +87 -0
  94. package/src/language/lsp/hover-provider.ts +98 -0
  95. package/src/language/lsp/language-feature-provider.ts +69 -0
  96. package/src/language/lsp/lsp-contribution.ts +159 -0
  97. package/src/language/lsp/module.ts +5 -0
  98. package/src/language/lsp/semantic-highlight-provider.ts +26 -0
  99. package/src/language/lsp/signature-help-provider.ts +65 -0
  100. package/src/language/lsp/type-concerters.ts +72 -0
  101. package/src/language/python/data/MagicPython.tmLanguage.json +4213 -0
  102. package/src/language/python/data/MagicRegExp.tmLanguage.json +497 -0
  103. package/src/language/python/data/configurations/python.json +135 -0
  104. package/src/language/python/data/snippets/python.snippets.json +223 -0
  105. package/src/language/python/module.ts +5 -0
  106. package/src/language/python/python-builtin.ts +891 -0
  107. package/src/language/python/python-language-feature.ts +163 -0
  108. package/src/language-specs.ts +99 -0
  109. package/src/libro-e2-editor.ts +922 -0
  110. package/src/libro-e2-preload.ts +23 -0
  111. package/src/libro-sql-api.ts +20 -0
  112. package/src/module.ts +44 -0
  113. package/src/placeholder.ts +100 -0
  114. package/src/theme/data/jupyter_dark.json +406 -0
  115. package/src/theme/data/jupyter_hc_dark.json +385 -0
  116. package/src/theme/data/jupyter_hc_light.json +386 -0
  117. package/src/theme/data/jupyter_light.json +386 -0
  118. package/src/theme/data/libro_dark.json +186 -0
  119. package/src/theme/data/libro_light.json +170 -0
  120. package/src/theme/libro-python-theme-contribution.ts +36 -0
  121. package/src/theme/module.ts +5 -0
  122. package/src/types.ts +11 -0
@@ -0,0 +1,497 @@
1
+ {
2
+ "information_for_contributors": [
3
+ "This file has been converted from https://github.com/MagicStack/MagicPython/blob/master/grammars/MagicRegExp.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/MagicStack/MagicPython/commit/c9b3409deb69acec31bbf7913830e93a046b30cc",
8
+ "name": "MagicRegExp",
9
+ "scopeName": "source.regexp.python",
10
+ "patterns": [
11
+ {
12
+ "include": "#regexp-expression"
13
+ }
14
+ ],
15
+ "repository": {
16
+ "regexp-base-expression": {
17
+ "patterns": [
18
+ {
19
+ "include": "#regexp-quantifier"
20
+ },
21
+ {
22
+ "include": "#regexp-base-common"
23
+ }
24
+ ]
25
+ },
26
+ "fregexp-base-expression": {
27
+ "patterns": [
28
+ {
29
+ "include": "#fregexp-quantifier"
30
+ },
31
+ {
32
+ "include": "#fstring-formatting-braces"
33
+ },
34
+ {
35
+ "match": "\\{.*?\\}"
36
+ },
37
+ {
38
+ "include": "#regexp-base-common"
39
+ }
40
+ ]
41
+ },
42
+ "fstring-formatting-braces": {
43
+ "patterns": [
44
+ {
45
+ "comment": "empty braces are illegal",
46
+ "match": "({)(\\s*?)(})",
47
+ "captures": {
48
+ "1": {
49
+ "name": "constant.character.format.placeholder.other.python"
50
+ },
51
+ "2": {
52
+ "name": "invalid.illegal.brace.python"
53
+ },
54
+ "3": {
55
+ "name": "constant.character.format.placeholder.other.python"
56
+ }
57
+ }
58
+ },
59
+ {
60
+ "name": "constant.character.escape.python",
61
+ "match": "({{|}})"
62
+ }
63
+ ]
64
+ },
65
+ "regexp-base-common": {
66
+ "patterns": [
67
+ {
68
+ "name": "support.other.match.any.regexp",
69
+ "match": "\\."
70
+ },
71
+ {
72
+ "name": "support.other.match.begin.regexp",
73
+ "match": "\\^"
74
+ },
75
+ {
76
+ "name": "support.other.match.end.regexp",
77
+ "match": "\\$"
78
+ },
79
+ {
80
+ "name": "keyword.operator.quantifier.regexp",
81
+ "match": "[+*?]\\??"
82
+ },
83
+ {
84
+ "name": "keyword.operator.disjunction.regexp",
85
+ "match": "\\|"
86
+ },
87
+ {
88
+ "include": "#regexp-escape-sequence"
89
+ }
90
+ ]
91
+ },
92
+ "regexp-quantifier": {
93
+ "name": "keyword.operator.quantifier.regexp",
94
+ "match": "(?x)\n \\{(\n \\d+ | \\d+,(\\d+)? | ,\\d+\n )\\}\n"
95
+ },
96
+ "fregexp-quantifier": {
97
+ "name": "keyword.operator.quantifier.regexp",
98
+ "match": "(?x)\n \\{\\{(\n \\d+ | \\d+,(\\d+)? | ,\\d+\n )\\}\\}\n"
99
+ },
100
+ "regexp-backreference-number": {
101
+ "name": "meta.backreference.regexp",
102
+ "match": "(\\\\[1-9]\\d?)",
103
+ "captures": {
104
+ "1": {
105
+ "name": "entity.name.tag.backreference.regexp"
106
+ }
107
+ }
108
+ },
109
+ "regexp-backreference": {
110
+ "name": "meta.backreference.named.regexp",
111
+ "match": "(?x)\n (\\() (\\?P= \\w+(?:\\s+[[:alnum:]]+)?) (\\))\n",
112
+ "captures": {
113
+ "1": {
114
+ "name": "support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"
115
+ },
116
+ "2": {
117
+ "name": "entity.name.tag.named.backreference.regexp"
118
+ },
119
+ "3": {
120
+ "name": "support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"
121
+ }
122
+ }
123
+ },
124
+ "regexp-flags": {
125
+ "name": "storage.modifier.flag.regexp",
126
+ "match": "\\(\\?[aiLmsux]+\\)"
127
+ },
128
+ "regexp-escape-special": {
129
+ "name": "support.other.escape.special.regexp",
130
+ "match": "\\\\([AbBdDsSwWZ])"
131
+ },
132
+ "regexp-escape-character": {
133
+ "name": "constant.character.escape.regexp",
134
+ "match": "(?x)\n \\\\ (\n x[0-9A-Fa-f]{2}\n | 0[0-7]{1,2}\n | [0-7]{3}\n )\n"
135
+ },
136
+ "regexp-escape-unicode": {
137
+ "name": "constant.character.unicode.regexp",
138
+ "match": "(?x)\n \\\\ (\n u[0-9A-Fa-f]{4}\n | U[0-9A-Fa-f]{8}\n )\n"
139
+ },
140
+ "regexp-escape-catchall": {
141
+ "name": "constant.character.escape.regexp",
142
+ "match": "\\\\(.|\\n)"
143
+ },
144
+ "regexp-escape-sequence": {
145
+ "patterns": [
146
+ {
147
+ "include": "#regexp-escape-special"
148
+ },
149
+ {
150
+ "include": "#regexp-escape-character"
151
+ },
152
+ {
153
+ "include": "#regexp-escape-unicode"
154
+ },
155
+ {
156
+ "include": "#regexp-backreference-number"
157
+ },
158
+ {
159
+ "include": "#regexp-escape-catchall"
160
+ }
161
+ ]
162
+ },
163
+ "regexp-charecter-set-escapes": {
164
+ "patterns": [
165
+ {
166
+ "name": "constant.character.escape.regexp",
167
+ "match": "\\\\[abfnrtv\\\\]"
168
+ },
169
+ {
170
+ "include": "#regexp-escape-special"
171
+ },
172
+ {
173
+ "name": "constant.character.escape.regexp",
174
+ "match": "\\\\([0-7]{1,3})"
175
+ },
176
+ {
177
+ "include": "#regexp-escape-character"
178
+ },
179
+ {
180
+ "include": "#regexp-escape-unicode"
181
+ },
182
+ {
183
+ "include": "#regexp-escape-catchall"
184
+ }
185
+ ]
186
+ },
187
+ "codetags": {
188
+ "match": "(?:\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\b)",
189
+ "captures": {
190
+ "1": {
191
+ "name": "keyword.codetag.notation.python"
192
+ }
193
+ }
194
+ },
195
+ "regexp-expression": {
196
+ "patterns": [
197
+ {
198
+ "include": "#regexp-base-expression"
199
+ },
200
+ {
201
+ "include": "#regexp-character-set"
202
+ },
203
+ {
204
+ "include": "#regexp-comments"
205
+ },
206
+ {
207
+ "include": "#regexp-flags"
208
+ },
209
+ {
210
+ "include": "#regexp-named-group"
211
+ },
212
+ {
213
+ "include": "#regexp-backreference"
214
+ },
215
+ {
216
+ "include": "#regexp-lookahead"
217
+ },
218
+ {
219
+ "include": "#regexp-lookahead-negative"
220
+ },
221
+ {
222
+ "include": "#regexp-lookbehind"
223
+ },
224
+ {
225
+ "include": "#regexp-lookbehind-negative"
226
+ },
227
+ {
228
+ "include": "#regexp-conditional"
229
+ },
230
+ {
231
+ "include": "#regexp-parentheses-non-capturing"
232
+ },
233
+ {
234
+ "include": "#regexp-parentheses"
235
+ }
236
+ ]
237
+ },
238
+ "regexp-character-set": {
239
+ "patterns": [
240
+ {
241
+ "match": "(?x)\n \\[ \\^? \\] (?! .*?\\])\n"
242
+ },
243
+ {
244
+ "name": "meta.character.set.regexp",
245
+ "begin": "(\\[)(\\^)?(\\])?",
246
+ "end": "(\\])",
247
+ "beginCaptures": {
248
+ "1": {
249
+ "name": "punctuation.character.set.begin.regexp constant.other.set.regexp"
250
+ },
251
+ "2": {
252
+ "name": "keyword.operator.negation.regexp"
253
+ },
254
+ "3": {
255
+ "name": "constant.character.set.regexp"
256
+ }
257
+ },
258
+ "endCaptures": {
259
+ "1": {
260
+ "name": "punctuation.character.set.end.regexp constant.other.set.regexp"
261
+ },
262
+ "2": {
263
+ "name": "invalid.illegal.newline.python"
264
+ }
265
+ },
266
+ "patterns": [
267
+ {
268
+ "include": "#regexp-charecter-set-escapes"
269
+ },
270
+ {
271
+ "name": "constant.character.set.regexp",
272
+ "match": "[^\\n]"
273
+ }
274
+ ]
275
+ }
276
+ ]
277
+ },
278
+ "regexp-named-group": {
279
+ "name": "meta.named.regexp",
280
+ "begin": "(?x)\n (\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)\n",
281
+ "end": "(\\))",
282
+ "beginCaptures": {
283
+ "1": {
284
+ "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"
285
+ },
286
+ "2": {
287
+ "name": "entity.name.tag.named.group.regexp"
288
+ }
289
+ },
290
+ "endCaptures": {
291
+ "1": {
292
+ "name": "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"
293
+ },
294
+ "2": {
295
+ "name": "invalid.illegal.newline.python"
296
+ }
297
+ },
298
+ "patterns": [
299
+ {
300
+ "include": "#regexp-expression"
301
+ }
302
+ ]
303
+ },
304
+ "regexp-comments": {
305
+ "name": "comment.regexp",
306
+ "begin": "\\(\\?#",
307
+ "end": "(\\))",
308
+ "beginCaptures": {
309
+ "0": {
310
+ "name": "punctuation.comment.begin.regexp"
311
+ }
312
+ },
313
+ "endCaptures": {
314
+ "1": {
315
+ "name": "punctuation.comment.end.regexp"
316
+ },
317
+ "2": {
318
+ "name": "invalid.illegal.newline.python"
319
+ }
320
+ },
321
+ "patterns": [
322
+ {
323
+ "include": "#codetags"
324
+ }
325
+ ]
326
+ },
327
+ "regexp-lookahead": {
328
+ "begin": "(\\()\\?=",
329
+ "end": "(\\))",
330
+ "beginCaptures": {
331
+ "0": {
332
+ "name": "keyword.operator.lookahead.regexp"
333
+ },
334
+ "1": {
335
+ "name": "punctuation.parenthesis.lookahead.begin.regexp"
336
+ }
337
+ },
338
+ "endCaptures": {
339
+ "1": {
340
+ "name": "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"
341
+ },
342
+ "2": {
343
+ "name": "invalid.illegal.newline.python"
344
+ }
345
+ },
346
+ "patterns": [
347
+ {
348
+ "include": "#regexp-expression"
349
+ }
350
+ ]
351
+ },
352
+ "regexp-lookahead-negative": {
353
+ "begin": "(\\()\\?!",
354
+ "end": "(\\))",
355
+ "beginCaptures": {
356
+ "0": {
357
+ "name": "keyword.operator.lookahead.negative.regexp"
358
+ },
359
+ "1": {
360
+ "name": "punctuation.parenthesis.lookahead.begin.regexp"
361
+ }
362
+ },
363
+ "endCaptures": {
364
+ "1": {
365
+ "name": "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"
366
+ },
367
+ "2": {
368
+ "name": "invalid.illegal.newline.python"
369
+ }
370
+ },
371
+ "patterns": [
372
+ {
373
+ "include": "#regexp-expression"
374
+ }
375
+ ]
376
+ },
377
+ "regexp-lookbehind": {
378
+ "begin": "(\\()\\?<=",
379
+ "end": "(\\))",
380
+ "beginCaptures": {
381
+ "0": {
382
+ "name": "keyword.operator.lookbehind.regexp"
383
+ },
384
+ "1": {
385
+ "name": "punctuation.parenthesis.lookbehind.begin.regexp"
386
+ }
387
+ },
388
+ "endCaptures": {
389
+ "1": {
390
+ "name": "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"
391
+ },
392
+ "2": {
393
+ "name": "invalid.illegal.newline.python"
394
+ }
395
+ },
396
+ "patterns": [
397
+ {
398
+ "include": "#regexp-expression"
399
+ }
400
+ ]
401
+ },
402
+ "regexp-lookbehind-negative": {
403
+ "begin": "(\\()\\?<!",
404
+ "end": "(\\))",
405
+ "beginCaptures": {
406
+ "0": {
407
+ "name": "keyword.operator.lookbehind.negative.regexp"
408
+ },
409
+ "1": {
410
+ "name": "punctuation.parenthesis.lookbehind.begin.regexp"
411
+ }
412
+ },
413
+ "endCaptures": {
414
+ "1": {
415
+ "name": "keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"
416
+ },
417
+ "2": {
418
+ "name": "invalid.illegal.newline.python"
419
+ }
420
+ },
421
+ "patterns": [
422
+ {
423
+ "include": "#regexp-expression"
424
+ }
425
+ ]
426
+ },
427
+ "regexp-conditional": {
428
+ "begin": "(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",
429
+ "end": "(\\))",
430
+ "beginCaptures": {
431
+ "0": {
432
+ "name": "keyword.operator.conditional.regexp"
433
+ },
434
+ "1": {
435
+ "name": "punctuation.parenthesis.conditional.begin.regexp"
436
+ }
437
+ },
438
+ "endCaptures": {
439
+ "1": {
440
+ "name": "keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"
441
+ },
442
+ "2": {
443
+ "name": "invalid.illegal.newline.python"
444
+ }
445
+ },
446
+ "patterns": [
447
+ {
448
+ "include": "#regexp-expression"
449
+ }
450
+ ]
451
+ },
452
+ "regexp-parentheses-non-capturing": {
453
+ "begin": "\\(\\?:",
454
+ "end": "(\\))",
455
+ "beginCaptures": {
456
+ "0": {
457
+ "name": "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"
458
+ }
459
+ },
460
+ "endCaptures": {
461
+ "1": {
462
+ "name": "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"
463
+ },
464
+ "2": {
465
+ "name": "invalid.illegal.newline.python"
466
+ }
467
+ },
468
+ "patterns": [
469
+ {
470
+ "include": "#regexp-expression"
471
+ }
472
+ ]
473
+ },
474
+ "regexp-parentheses": {
475
+ "begin": "\\(",
476
+ "end": "(\\))",
477
+ "beginCaptures": {
478
+ "0": {
479
+ "name": "support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"
480
+ }
481
+ },
482
+ "endCaptures": {
483
+ "1": {
484
+ "name": "support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"
485
+ },
486
+ "2": {
487
+ "name": "invalid.illegal.newline.python"
488
+ }
489
+ },
490
+ "patterns": [
491
+ {
492
+ "include": "#regexp-expression"
493
+ }
494
+ ]
495
+ }
496
+ }
497
+ }
@@ -0,0 +1,135 @@
1
+ {
2
+ "comments": {
3
+ "lineComment": "#",
4
+ "blockComment": ["\"\"\"", "\"\"\""]
5
+ },
6
+ "brackets": [
7
+ ["{", "}"],
8
+ ["[", "]"],
9
+ ["(", ")"]
10
+ ],
11
+ "autoClosingPairs": [
12
+ {
13
+ "open": "{",
14
+ "close": "}"
15
+ },
16
+ {
17
+ "open": "[",
18
+ "close": "]"
19
+ },
20
+ {
21
+ "open": "(",
22
+ "close": ")"
23
+ },
24
+ {
25
+ "open": "\"",
26
+ "close": "\"",
27
+ "notIn": ["string"]
28
+ },
29
+ {
30
+ "open": "r\"",
31
+ "close": "\"",
32
+ "notIn": ["string", "comment"]
33
+ },
34
+ {
35
+ "open": "R\"",
36
+ "close": "\"",
37
+ "notIn": ["string", "comment"]
38
+ },
39
+ {
40
+ "open": "u\"",
41
+ "close": "\"",
42
+ "notIn": ["string", "comment"]
43
+ },
44
+ {
45
+ "open": "U\"",
46
+ "close": "\"",
47
+ "notIn": ["string", "comment"]
48
+ },
49
+ {
50
+ "open": "f\"",
51
+ "close": "\"",
52
+ "notIn": ["string", "comment"]
53
+ },
54
+ {
55
+ "open": "F\"",
56
+ "close": "\"",
57
+ "notIn": ["string", "comment"]
58
+ },
59
+ {
60
+ "open": "b\"",
61
+ "close": "\"",
62
+ "notIn": ["string", "comment"]
63
+ },
64
+ {
65
+ "open": "B\"",
66
+ "close": "\"",
67
+ "notIn": ["string", "comment"]
68
+ },
69
+ {
70
+ "open": "'",
71
+ "close": "'",
72
+ "notIn": ["string", "comment"]
73
+ },
74
+ {
75
+ "open": "r'",
76
+ "close": "'",
77
+ "notIn": ["string", "comment"]
78
+ },
79
+ {
80
+ "open": "R'",
81
+ "close": "'",
82
+ "notIn": ["string", "comment"]
83
+ },
84
+ {
85
+ "open": "u'",
86
+ "close": "'",
87
+ "notIn": ["string", "comment"]
88
+ },
89
+ {
90
+ "open": "U'",
91
+ "close": "'",
92
+ "notIn": ["string", "comment"]
93
+ },
94
+ {
95
+ "open": "f'",
96
+ "close": "'",
97
+ "notIn": ["string", "comment"]
98
+ },
99
+ {
100
+ "open": "F'",
101
+ "close": "'",
102
+ "notIn": ["string", "comment"]
103
+ },
104
+ {
105
+ "open": "b'",
106
+ "close": "'",
107
+ "notIn": ["string", "comment"]
108
+ },
109
+ {
110
+ "open": "B'",
111
+ "close": "'",
112
+ "notIn": ["string", "comment"]
113
+ },
114
+ {
115
+ "open": "`",
116
+ "close": "`",
117
+ "notIn": ["string"]
118
+ }
119
+ ],
120
+ "surroundingPairs": [
121
+ ["{", "}"],
122
+ ["[", "]"],
123
+ ["(", ")"],
124
+ ["\"", "\""],
125
+ ["'", "'"],
126
+ ["`", "`"]
127
+ ],
128
+ "folding": {
129
+ "offSide": true,
130
+ "markers": {
131
+ "start": "^\\s*#\\s*region\\b",
132
+ "end": "^\\s*#\\s*endregion\\b"
133
+ }
134
+ }
135
+ }