@codingame/monaco-editor-wrapper 3.4.2 → 3.5.1

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 (61) hide show
  1. package/dist/JavaScript.tmLanguage.js +13 -7
  2. package/dist/JavaScriptReact.tmLanguage.js +13 -7
  3. package/dist/MagicPython.tmLanguage.js +179 -1298
  4. package/dist/Scala.tmLanguage.js +1 -1
  5. package/dist/TypeScript.tmLanguage.js +13 -7
  6. package/dist/TypeScriptReact.tmLanguage.js +13 -7
  7. package/dist/c.js +8 -0
  8. package/dist/cpp.js +8 -0
  9. package/dist/cpp.tmLanguage.js +150 -112
  10. package/dist/cpptools.js +143 -40
  11. package/dist/cuda-cpp.js +8 -0
  12. package/dist/d.js +2 -2
  13. package/dist/d3.js +4 -2
  14. package/dist/dart3.js +0 -6
  15. package/dist/django-html.js +155 -0
  16. package/dist/django-html.tmLanguage.js +715 -0
  17. package/dist/django-txt.js +155 -0
  18. package/dist/django-txt.tmLanguage.js +269 -0
  19. package/dist/features/extensionConfigurations.js +3 -2
  20. package/dist/html-html.code-snippets.js +20 -0
  21. package/dist/html.js +5 -124
  22. package/dist/index2.js +9 -8
  23. package/dist/jade.js +11 -0
  24. package/dist/java2.js +38 -9
  25. package/dist/lua2.js +35 -0
  26. package/dist/main.js +150 -71
  27. package/dist/markdown-vue.js +12 -17
  28. package/dist/markdown.js +23 -73
  29. package/dist/omnisharp.js +6 -0
  30. package/dist/php-php.code-snippets.js +2 -0
  31. package/dist/plaintext.js +11 -0
  32. package/dist/scalameta.js +5 -4
  33. package/dist/semanticdb.js +62 -0
  34. package/dist/solidity3.js +6 -5
  35. package/dist/svelte.svelte-vscode-javascript.js +45 -0
  36. package/dist/svelte.svelte-vscode-typescript.js +43 -0
  37. package/dist/svelte.svelte-vscode.js +8 -1
  38. package/dist/svelte.tmLanguage.src.yaml.js +3 -3
  39. package/dist/theme-defaults~light_vs.js +3 -2
  40. package/dist/typescript-basics-typescript.code-snippets.js +1 -0
  41. package/dist/volar-vue.js +310 -0
  42. package/dist/vscode-R.js +53 -14
  43. package/dist/vscode-django-filters.js +340 -0
  44. package/dist/vscode-django.js +37 -0
  45. package/dist/vscode-python.js +8 -10
  46. package/dist/vue-directives.js +25 -0
  47. package/dist/vue-interpolations.js +25 -0
  48. package/dist/vue-sfc-style-variable-injection.js +63 -0
  49. package/dist/vue.js +84 -39
  50. package/dist/vue.tmLanguage.js +1186 -0
  51. package/package.json +1 -1
  52. package/stats.html +1 -1
  53. package/dist/directives.tmLanguage.js +0 -20
  54. package/dist/interpolations.tmLanguage.js +0 -20
  55. package/dist/vetur.js +0 -407
  56. package/dist/vue-generated.js +0 -1301
  57. package/dist/vue-html.js +0 -99
  58. package/dist/vue-html.tmLanguage.js +0 -573
  59. package/dist/vue-postcss.js +0 -72
  60. package/dist/vue-sugarss.js +0 -396
  61. package/dist/vue-sugarss2.js +0 -60
@@ -3,7 +3,7 @@ var information_for_contributors = [
3
3
  "If you want to provide a fix or improvement, please create a pull request against the original repository.",
4
4
  "Once accepted there, we are happy to receive an update request."
5
5
  ];
6
- var version = "https://github.com/MagicStack/MagicPython/commit/b2b4f4ae7b4e6284e80bda8080106b93bd588f9e";
6
+ var version = "https://github.com/MagicStack/MagicPython/commit/7d0f2b22a5ad8fccbd7341bc7b7a715169283044";
7
7
  var name = "MagicPython";
8
8
  var scopeName = "source.python";
9
9
  var patterns = [
@@ -269,6 +269,14 @@ var repository = {
269
269
  {
270
270
  name: "storage.type.class.python",
271
271
  match: "\\b(?<!\\.)(class)\\b"
272
+ },
273
+ {
274
+ match: "(?x)\n ^\\s*(\n case | match\n )(?=\\s*([-+\\w\\d(\\[{'\":#]|$))\\b\n",
275
+ captures: {
276
+ "1": {
277
+ name: "keyword.control.flow.python"
278
+ }
279
+ }
272
280
  }
273
281
  ]
274
282
  },
@@ -546,7 +554,7 @@ var repository = {
546
554
  match: "(?x)\n <<= | >>= | //= | \\*\\*=\n | \\+= | -= | /= | @=\n | \\*= | %= | ~= | \\^= | &= | \\|=\n | =(?!=)\n"
547
555
  },
548
556
  operator: {
549
- match: "(?x)\n \\b(?<!\\.)\n (?:\n (and | or | not | in | is) (?# 1)\n |\n (for | if | else | await | (?:yield(?:\\s+from)?)) (?# 2)\n )\n (?!\\s*:)\\b\n\n | (<< | >> | & | \\| | \\^ | ~) (?# 3)\n\n | (\\*\\* | \\* | \\+ | - | % | // | / | @) (?# 4)\n\n | (!= | == | >= | <= | < | >) (?# 5)\n",
557
+ match: "(?x)\n \\b(?<!\\.)\n (?:\n (and | or | not | in | is) (?# 1)\n |\n (for | if | else | await | (?:yield(?:\\s+from)?)) (?# 2)\n )\n (?!\\s*:)\\b\n\n | (<< | >> | & | \\| | \\^ | ~) (?# 3)\n\n | (\\*\\* | \\* | \\+ | - | % | // | / | @) (?# 4)\n\n | (!= | == | >= | <= | < | >) (?# 5)\n\n | (:=) (?# 6)\n",
550
558
  captures: {
551
559
  "1": {
552
560
  name: "keyword.operator.logical.python"
@@ -562,6 +570,9 @@ var repository = {
562
570
  },
563
571
  "5": {
564
572
  name: "keyword.operator.comparison.python"
573
+ },
574
+ "6": {
575
+ name: "keyword.operator.assignment.python"
565
576
  }
566
577
  }
567
578
  },
@@ -686,18 +697,6 @@ var repository = {
686
697
  },
687
698
  {
688
699
  include: "#regexp-double-one-line"
689
- },
690
- {
691
- include: "#fregexp-single-three-line"
692
- },
693
- {
694
- include: "#fregexp-double-three-line"
695
- },
696
- {
697
- include: "#fregexp-single-one-line"
698
- },
699
- {
700
- include: "#fregexp-double-one-line"
701
700
  }
702
701
  ]
703
702
  },
@@ -1150,6 +1149,10 @@ var repository = {
1150
1149
  },
1151
1150
  contentName: "meta.function.lambda.parameters.python",
1152
1151
  patterns: [
1152
+ {
1153
+ name: "keyword.operator.positional.parameter.python",
1154
+ match: "/"
1155
+ },
1153
1156
  {
1154
1157
  name: "keyword.operator.unpacking.parameter.python",
1155
1158
  match: "(\\*\\*|\\*)"
@@ -1304,6 +1307,10 @@ var repository = {
1304
1307
  }
1305
1308
  },
1306
1309
  patterns: [
1310
+ {
1311
+ name: "keyword.operator.positional.parameter.python",
1312
+ match: "/"
1313
+ },
1307
1314
  {
1308
1315
  name: "keyword.operator.unpacking.parameter.python",
1309
1316
  match: "(\\*\\*|\\*)"
@@ -1701,7 +1708,7 @@ var repository = {
1701
1708
  patterns: [
1702
1709
  {
1703
1710
  name: "support.function.builtin.python",
1704
- match: "(?x)\n (?<!\\.) \\b(\n __import__ | abs | all | any | ascii | bin | breakpoint | callable\n | chr | compile | copyright | credits | delattr | dir | divmod\n | enumerate | eval | exec | exit | filter | format | getattr\n | globals | hasattr | hash | help | hex | id | input\n | isinstance | issubclass | iter | len | license | locals | map\n | max | memoryview | min | next | oct | open | ord | pow | print\n | quit | range | reload | repr | reversed | round\n | setattr | sorted | sum | vars | zip\n )\\b\n"
1711
+ match: "(?x)\n (?<!\\.) \\b(\n __import__ | abs | aiter | all | any | anext | ascii | bin\n | breakpoint | callable | chr | compile | copyright | credits\n | delattr | dir | divmod | enumerate | eval | exec | exit\n | filter | format | getattr | globals | hasattr | hash | help\n | hex | id | input | isinstance | issubclass | iter | len\n | license | locals | map | max | memoryview | min | next\n | oct | open | ord | pow | print | quit | range | reload | repr\n | reversed | round | setattr | sorted | sum | vars | zip\n )\\b\n"
1705
1712
  },
1706
1713
  {
1707
1714
  name: "variable.legacy.builtin.python",
@@ -1715,7 +1722,7 @@ var repository = {
1715
1722
  },
1716
1723
  "magic-function-names": {
1717
1724
  comment: "these methods have magic interpretation by python and are generally called\nindirectly through syntactic constructs\n",
1718
- match: "(?x)\n \\b(\n __(?:\n abs | add | aenter | aexit | aiter | and | anext | await\n | bool | call | ceil | cmp | coerce | complex | contains\n | copy | deepcopy | del | delattr | delete | delitem\n | delslice | dir | div | divmod | enter | eq | exit | float\n | floor | floordiv | format | ge | get | getattr\n | getattribute | getinitargs | getitem | getnewargs\n | getslice | getstate | gt | hash | hex | iadd | iand | idiv\n | ifloordiv | ilshift | imod | imul | index | init\n | instancecheck | int | invert | ior | ipow | irshift | isub\n | iter | itruediv | ixor | le | len | long | lshift | lt\n | missing | mod | mul | ne | neg | new | next | nonzero | oct | or\n | pos | pow | radd | rand | rdiv | rdivmod | reduce\n | reduce_ex | repr | reversed | rfloordiv | rlshift | rmod\n | rmul | ror | round | rpow | rrshift | rshift | rsub\n | rtruediv | rxor | set | setattr | setitem | setslice\n | setstate | sizeof | str | sub | subclasscheck | truediv\n | trunc | unicode | xor | matmul | rmatmul | imatmul\n | init_subclass | set_name | fspath | bytes | prepare\n )__\n )\\b\n",
1725
+ match: "(?x)\n \\b(\n __(?:\n abs | add | aenter | aexit | aiter | and | anext\n | await | bool | call | ceil | class_getitem\n | cmp | coerce | complex | contains | copy\n | deepcopy | del | delattr | delete | delitem\n | delslice | dir | div | divmod | enter | eq\n | exit | float | floor | floordiv | format | ge\n | get | getattr | getattribute | getinitargs\n | getitem | getnewargs | getslice | getstate | gt\n | hash | hex | iadd | iand | idiv | ifloordiv |\n | ilshift | imod | imul | index | init\n | instancecheck | int | invert | ior | ipow\n | irshift | isub | iter | itruediv | ixor | le\n | len | long | lshift | lt | missing | mod | mul\n | ne | neg | new | next | nonzero | oct | or | pos\n | pow | radd | rand | rdiv | rdivmod | reduce\n | reduce_ex | repr | reversed | rfloordiv |\n | rlshift | rmod | rmul | ror | round | rpow\n | rrshift | rshift | rsub | rtruediv | rxor | set\n | setattr | setitem | set_name | setslice\n | setstate | sizeof | str | sub | subclasscheck\n | truediv | trunc | unicode | xor | matmul\n | rmatmul | imatmul | init_subclass | set_name\n | fspath | bytes | prepare | length_hint\n )__\n )\\b\n",
1719
1726
  captures: {
1720
1727
  "1": {
1721
1728
  name: "support.function.magic.python"
@@ -1724,7 +1731,7 @@ var repository = {
1724
1731
  },
1725
1732
  "magic-variable-names": {
1726
1733
  comment: "magic variables which a class/module may have.",
1727
- match: "(?x)\n \\b(\n __(?:\n all | bases | builtins | class | class_getitem | code | debug\n | defaults | dict | doc | file | func | kwdefaults | members\n | metaclass | methods | module | mro | mro_entries | name\n | qualname | post_init | self | signature | slots | subclasses\n | version | weakref | wrapped | annotations | classcell\n | spec | path | package | future | traceback\n )__\n )\\b\n",
1734
+ match: "(?x)\n \\b(\n __(?:\n all | annotations | bases | builtins | class\n | closure | code | debug | defaults | dict | doc | file | func\n | globals | kwdefaults | match_args | members | metaclass | methods\n | module | mro | mro_entries | name | qualname | post_init | self\n | signature | slots | subclasses | version | weakref | wrapped\n | classcell | spec | path | package | future | traceback\n )__\n )\\b\n",
1728
1735
  captures: {
1729
1736
  "1": {
1730
1737
  name: "support.variable.magic.python"
@@ -3413,64 +3420,56 @@ var repository = {
3413
3420
  }
3414
3421
  ]
3415
3422
  },
3416
- "single-one-fregexp-expression": {
3417
- patterns: [
3418
- {
3419
- include: "#fregexp-base-expression"
3420
- },
3421
- {
3422
- include: "#single-one-regexp-character-set"
3423
- },
3424
- {
3425
- include: "#single-one-regexp-comments"
3426
- },
3427
- {
3428
- include: "#regexp-flags"
3429
- },
3430
- {
3431
- include: "#single-one-regexp-named-group"
3432
- },
3433
- {
3434
- include: "#regexp-backreference"
3435
- },
3436
- {
3437
- include: "#single-one-fregexp-lookahead"
3438
- },
3439
- {
3440
- include: "#single-one-fregexp-lookahead-negative"
3423
+ "string-raw-quoted-single-line": {
3424
+ name: "string.quoted.raw.single.python",
3425
+ begin: "\\b(([uU]R)|(R))((['\"]))",
3426
+ end: "(\\4)|((?<!\\\\)\\n)",
3427
+ beginCaptures: {
3428
+ "2": {
3429
+ name: "invalid.deprecated.prefix.python"
3441
3430
  },
3442
- {
3443
- include: "#single-one-fregexp-lookbehind"
3431
+ "3": {
3432
+ name: "storage.type.string.python"
3444
3433
  },
3445
- {
3446
- include: "#single-one-fregexp-lookbehind-negative"
3434
+ "4": {
3435
+ name: "punctuation.definition.string.begin.python"
3436
+ }
3437
+ },
3438
+ endCaptures: {
3439
+ "1": {
3440
+ name: "punctuation.definition.string.end.python"
3447
3441
  },
3442
+ "2": {
3443
+ name: "invalid.illegal.newline.python"
3444
+ }
3445
+ },
3446
+ patterns: [
3448
3447
  {
3449
- include: "#single-one-fregexp-conditional"
3448
+ include: "#string-single-bad-brace1-formatting-raw"
3450
3449
  },
3451
3450
  {
3452
- include: "#single-one-fregexp-parentheses-non-capturing"
3451
+ include: "#string-single-bad-brace2-formatting-raw"
3453
3452
  },
3454
3453
  {
3455
- include: "#single-one-fregexp-parentheses"
3454
+ include: "#string-raw-guts"
3456
3455
  }
3457
3456
  ]
3458
3457
  },
3459
- "single-one-fregexp-named-group": {
3460
- name: "meta.named.regexp",
3461
- begin: "(?x)\n (\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)\n",
3462
- end: "(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",
3458
+ "string-bin-quoted-single-line": {
3459
+ name: "string.quoted.binary.single.python",
3460
+ begin: "(\\b[bB])((['\"]))",
3461
+ end: "(\\2)|((?<!\\\\)\\n)",
3463
3462
  beginCaptures: {
3464
3463
  "1": {
3465
- name: "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"
3464
+ name: "storage.type.string.python"
3466
3465
  },
3467
3466
  "2": {
3468
- name: "entity.name.tag.named.group.regexp"
3467
+ name: "punctuation.definition.string.begin.python"
3469
3468
  }
3470
3469
  },
3471
3470
  endCaptures: {
3472
3471
  "1": {
3473
- name: "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"
3472
+ name: "punctuation.definition.string.end.python"
3474
3473
  },
3475
3474
  "2": {
3476
3475
  name: "invalid.illegal.newline.python"
@@ -3478,24 +3477,25 @@ var repository = {
3478
3477
  },
3479
3478
  patterns: [
3480
3479
  {
3481
- include: "#single-one-fregexp-expression"
3480
+ include: "#string-entity"
3482
3481
  }
3483
3482
  ]
3484
3483
  },
3485
- "single-one-fregexp-lookahead": {
3486
- begin: "(\\()\\?=",
3487
- end: "(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",
3484
+ "string-raw-bin-quoted-single-line": {
3485
+ name: "string.quoted.raw.binary.single.python",
3486
+ begin: "(\\b(?:R[bB]|[bB]R))((['\"]))",
3487
+ end: "(\\2)|((?<!\\\\)\\n)",
3488
3488
  beginCaptures: {
3489
- "0": {
3490
- name: "keyword.operator.lookahead.regexp"
3491
- },
3492
3489
  "1": {
3493
- name: "punctuation.parenthesis.lookahead.begin.regexp"
3490
+ name: "storage.type.string.python"
3491
+ },
3492
+ "2": {
3493
+ name: "punctuation.definition.string.begin.python"
3494
3494
  }
3495
3495
  },
3496
3496
  endCaptures: {
3497
3497
  "1": {
3498
- name: "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"
3498
+ name: "punctuation.definition.string.end.python"
3499
3499
  },
3500
3500
  "2": {
3501
3501
  name: "invalid.illegal.newline.python"
@@ -3503,24 +3503,28 @@ var repository = {
3503
3503
  },
3504
3504
  patterns: [
3505
3505
  {
3506
- include: "#single-one-fregexp-expression"
3506
+ include: "#string-raw-bin-guts"
3507
3507
  }
3508
3508
  ]
3509
3509
  },
3510
- "single-one-fregexp-lookahead-negative": {
3511
- begin: "(\\()\\?!",
3512
- end: "(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",
3510
+ "string-quoted-single-line": {
3511
+ name: "string.quoted.single.python",
3512
+ begin: "(?:\\b([rR])(?=[uU]))?([uU])?((['\"]))",
3513
+ end: "(\\3)|((?<!\\\\)\\n)",
3513
3514
  beginCaptures: {
3514
- "0": {
3515
- name: "keyword.operator.lookahead.negative.regexp"
3516
- },
3517
3515
  "1": {
3518
- name: "punctuation.parenthesis.lookahead.begin.regexp"
3516
+ name: "invalid.illegal.prefix.python"
3517
+ },
3518
+ "2": {
3519
+ name: "storage.type.string.python"
3520
+ },
3521
+ "3": {
3522
+ name: "punctuation.definition.string.begin.python"
3519
3523
  }
3520
3524
  },
3521
3525
  endCaptures: {
3522
3526
  "1": {
3523
- name: "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"
3527
+ name: "punctuation.definition.string.end.python"
3524
3528
  },
3525
3529
  "2": {
3526
3530
  name: "invalid.illegal.newline.python"
@@ -3528,74 +3532,86 @@ var repository = {
3528
3532
  },
3529
3533
  patterns: [
3530
3534
  {
3531
- include: "#single-one-fregexp-expression"
3535
+ include: "#string-single-bad-brace1-formatting-unicode"
3536
+ },
3537
+ {
3538
+ include: "#string-single-bad-brace2-formatting-unicode"
3539
+ },
3540
+ {
3541
+ include: "#string-unicode-guts"
3532
3542
  }
3533
3543
  ]
3534
3544
  },
3535
- "single-one-fregexp-lookbehind": {
3536
- begin: "(\\()\\?<=",
3537
- end: "(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",
3538
- beginCaptures: {
3539
- "0": {
3540
- name: "keyword.operator.lookbehind.regexp"
3545
+ "string-single-bad-brace1-formatting-unicode": {
3546
+ comment: "template using {% ... %}",
3547
+ begin: "(?x)\n (?= \\{%\n ( .*? (?!(['\"])|((?<!\\\\)\\n)) )\n %\\}\n )\n",
3548
+ end: "(?=(['\"])|((?<!\\\\)\\n))",
3549
+ patterns: [
3550
+ {
3551
+ include: "#escape-sequence-unicode"
3541
3552
  },
3542
- "1": {
3543
- name: "punctuation.parenthesis.lookbehind.begin.regexp"
3544
- }
3545
- },
3546
- endCaptures: {
3547
- "1": {
3548
- name: "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"
3553
+ {
3554
+ include: "#escape-sequence"
3549
3555
  },
3550
- "2": {
3551
- name: "invalid.illegal.newline.python"
3556
+ {
3557
+ include: "#string-line-continuation"
3552
3558
  }
3553
- },
3559
+ ]
3560
+ },
3561
+ "string-single-bad-brace1-formatting-raw": {
3562
+ comment: "template using {% ... %}",
3563
+ begin: "(?x)\n (?= \\{%\n ( .*? (?!(['\"])|((?<!\\\\)\\n)) )\n %\\}\n )\n",
3564
+ end: "(?=(['\"])|((?<!\\\\)\\n))",
3554
3565
  patterns: [
3555
3566
  {
3556
- include: "#single-one-fregexp-expression"
3567
+ include: "#string-consume-escape"
3557
3568
  }
3558
3569
  ]
3559
3570
  },
3560
- "single-one-fregexp-lookbehind-negative": {
3561
- begin: "(\\()\\?<!",
3562
- end: "(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",
3563
- beginCaptures: {
3564
- "0": {
3565
- name: "keyword.operator.lookbehind.negative.regexp"
3566
- },
3567
- "1": {
3568
- name: "punctuation.parenthesis.lookbehind.begin.regexp"
3569
- }
3570
- },
3571
- endCaptures: {
3572
- "1": {
3573
- name: "keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"
3571
+ "string-single-bad-brace2-formatting-unicode": {
3572
+ comment: "odd format or format-like syntax",
3573
+ begin: "(?x)\n (?!\\{\\{)\n (?= \\{ (\n \\w*? (?!(['\"])|((?<!\\\\)\\n)) [^!:\\.\\[}\\w]\n )\n .*?(?!(['\"])|((?<!\\\\)\\n))\n \\}\n )\n",
3574
+ end: "(?=(['\"])|((?<!\\\\)\\n))",
3575
+ patterns: [
3576
+ {
3577
+ include: "#escape-sequence-unicode"
3574
3578
  },
3575
- "2": {
3576
- name: "invalid.illegal.newline.python"
3579
+ {
3580
+ include: "#string-entity"
3577
3581
  }
3578
- },
3582
+ ]
3583
+ },
3584
+ "string-single-bad-brace2-formatting-raw": {
3585
+ comment: "odd format or format-like syntax",
3586
+ begin: "(?x)\n (?!\\{\\{)\n (?= \\{ (\n \\w*? (?!(['\"])|((?<!\\\\)\\n)) [^!:\\.\\[}\\w]\n )\n .*?(?!(['\"])|((?<!\\\\)\\n))\n \\}\n )\n",
3587
+ end: "(?=(['\"])|((?<!\\\\)\\n))",
3579
3588
  patterns: [
3580
3589
  {
3581
- include: "#single-one-fregexp-expression"
3590
+ include: "#string-consume-escape"
3591
+ },
3592
+ {
3593
+ include: "#string-formatting"
3582
3594
  }
3583
3595
  ]
3584
3596
  },
3585
- "single-one-fregexp-conditional": {
3586
- begin: "(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",
3587
- end: "(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",
3597
+ "string-raw-quoted-multi-line": {
3598
+ name: "string.quoted.raw.multi.python",
3599
+ begin: "\\b(([uU]R)|(R))('''|\"\"\")",
3600
+ end: "(\\4)",
3588
3601
  beginCaptures: {
3589
- "0": {
3590
- name: "keyword.operator.conditional.regexp"
3602
+ "2": {
3603
+ name: "invalid.deprecated.prefix.python"
3591
3604
  },
3592
- "1": {
3593
- name: "punctuation.parenthesis.conditional.begin.regexp"
3605
+ "3": {
3606
+ name: "storage.type.string.python"
3607
+ },
3608
+ "4": {
3609
+ name: "punctuation.definition.string.begin.python"
3594
3610
  }
3595
3611
  },
3596
3612
  endCaptures: {
3597
3613
  "1": {
3598
- name: "keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"
3614
+ name: "punctuation.definition.string.end.python"
3599
3615
  },
3600
3616
  "2": {
3601
3617
  name: "invalid.illegal.newline.python"
@@ -3603,21 +3619,31 @@ var repository = {
3603
3619
  },
3604
3620
  patterns: [
3605
3621
  {
3606
- include: "#single-one-fregexp-expression"
3622
+ include: "#string-multi-bad-brace1-formatting-raw"
3623
+ },
3624
+ {
3625
+ include: "#string-multi-bad-brace2-formatting-raw"
3626
+ },
3627
+ {
3628
+ include: "#string-raw-guts"
3607
3629
  }
3608
3630
  ]
3609
3631
  },
3610
- "single-one-fregexp-parentheses-non-capturing": {
3611
- begin: "\\(\\?:",
3612
- end: "(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",
3632
+ "string-bin-quoted-multi-line": {
3633
+ name: "string.quoted.binary.multi.python",
3634
+ begin: "(\\b[bB])('''|\"\"\")",
3635
+ end: "(\\2)",
3613
3636
  beginCaptures: {
3614
- "0": {
3615
- name: "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"
3637
+ "1": {
3638
+ name: "storage.type.string.python"
3639
+ },
3640
+ "2": {
3641
+ name: "punctuation.definition.string.begin.python"
3616
3642
  }
3617
3643
  },
3618
3644
  endCaptures: {
3619
3645
  "1": {
3620
- name: "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"
3646
+ name: "punctuation.definition.string.end.python"
3621
3647
  },
3622
3648
  "2": {
3623
3649
  name: "invalid.illegal.newline.python"
@@ -3625,21 +3651,25 @@ var repository = {
3625
3651
  },
3626
3652
  patterns: [
3627
3653
  {
3628
- include: "#single-one-fregexp-expression"
3654
+ include: "#string-entity"
3629
3655
  }
3630
3656
  ]
3631
3657
  },
3632
- "single-one-fregexp-parentheses": {
3633
- begin: "\\(",
3634
- end: "(\\)|(?=\\'))|((?=(?<!\\\\)\\n))",
3658
+ "string-raw-bin-quoted-multi-line": {
3659
+ name: "string.quoted.raw.binary.multi.python",
3660
+ begin: "(\\b(?:R[bB]|[bB]R))('''|\"\"\")",
3661
+ end: "(\\2)",
3635
3662
  beginCaptures: {
3636
- "0": {
3637
- name: "support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"
3663
+ "1": {
3664
+ name: "storage.type.string.python"
3665
+ },
3666
+ "2": {
3667
+ name: "punctuation.definition.string.begin.python"
3638
3668
  }
3639
3669
  },
3640
3670
  endCaptures: {
3641
3671
  "1": {
3642
- name: "support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"
3672
+ name: "punctuation.definition.string.end.python"
3643
3673
  },
3644
3674
  "2": {
3645
3675
  name: "invalid.illegal.newline.python"
@@ -3647,1164 +3677,7 @@ var repository = {
3647
3677
  },
3648
3678
  patterns: [
3649
3679
  {
3650
- include: "#single-one-fregexp-expression"
3651
- }
3652
- ]
3653
- },
3654
- "single-three-fregexp-expression": {
3655
- patterns: [
3656
- {
3657
- include: "#fregexp-base-expression"
3658
- },
3659
- {
3660
- include: "#single-three-regexp-character-set"
3661
- },
3662
- {
3663
- include: "#single-three-regexp-comments"
3664
- },
3665
- {
3666
- include: "#regexp-flags"
3667
- },
3668
- {
3669
- include: "#single-three-regexp-named-group"
3670
- },
3671
- {
3672
- include: "#regexp-backreference"
3673
- },
3674
- {
3675
- include: "#single-three-fregexp-lookahead"
3676
- },
3677
- {
3678
- include: "#single-three-fregexp-lookahead-negative"
3679
- },
3680
- {
3681
- include: "#single-three-fregexp-lookbehind"
3682
- },
3683
- {
3684
- include: "#single-three-fregexp-lookbehind-negative"
3685
- },
3686
- {
3687
- include: "#single-three-fregexp-conditional"
3688
- },
3689
- {
3690
- include: "#single-three-fregexp-parentheses-non-capturing"
3691
- },
3692
- {
3693
- include: "#single-three-fregexp-parentheses"
3694
- },
3695
- {
3696
- include: "#comments-string-single-three"
3697
- }
3698
- ]
3699
- },
3700
- "single-three-fregexp-named-group": {
3701
- name: "meta.named.regexp",
3702
- begin: "(?x)\n (\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)\n",
3703
- end: "(\\)|(?=\\'\\'\\'))",
3704
- beginCaptures: {
3705
- "1": {
3706
- name: "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"
3707
- },
3708
- "2": {
3709
- name: "entity.name.tag.named.group.regexp"
3710
- }
3711
- },
3712
- endCaptures: {
3713
- "1": {
3714
- name: "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"
3715
- },
3716
- "2": {
3717
- name: "invalid.illegal.newline.python"
3718
- }
3719
- },
3720
- patterns: [
3721
- {
3722
- include: "#single-three-fregexp-expression"
3723
- },
3724
- {
3725
- include: "#comments-string-single-three"
3726
- }
3727
- ]
3728
- },
3729
- "single-three-fregexp-lookahead": {
3730
- begin: "(\\()\\?=",
3731
- end: "(\\)|(?=\\'\\'\\'))",
3732
- beginCaptures: {
3733
- "0": {
3734
- name: "keyword.operator.lookahead.regexp"
3735
- },
3736
- "1": {
3737
- name: "punctuation.parenthesis.lookahead.begin.regexp"
3738
- }
3739
- },
3740
- endCaptures: {
3741
- "1": {
3742
- name: "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"
3743
- },
3744
- "2": {
3745
- name: "invalid.illegal.newline.python"
3746
- }
3747
- },
3748
- patterns: [
3749
- {
3750
- include: "#single-three-fregexp-expression"
3751
- },
3752
- {
3753
- include: "#comments-string-single-three"
3754
- }
3755
- ]
3756
- },
3757
- "single-three-fregexp-lookahead-negative": {
3758
- begin: "(\\()\\?!",
3759
- end: "(\\)|(?=\\'\\'\\'))",
3760
- beginCaptures: {
3761
- "0": {
3762
- name: "keyword.operator.lookahead.negative.regexp"
3763
- },
3764
- "1": {
3765
- name: "punctuation.parenthesis.lookahead.begin.regexp"
3766
- }
3767
- },
3768
- endCaptures: {
3769
- "1": {
3770
- name: "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"
3771
- },
3772
- "2": {
3773
- name: "invalid.illegal.newline.python"
3774
- }
3775
- },
3776
- patterns: [
3777
- {
3778
- include: "#single-three-fregexp-expression"
3779
- },
3780
- {
3781
- include: "#comments-string-single-three"
3782
- }
3783
- ]
3784
- },
3785
- "single-three-fregexp-lookbehind": {
3786
- begin: "(\\()\\?<=",
3787
- end: "(\\)|(?=\\'\\'\\'))",
3788
- beginCaptures: {
3789
- "0": {
3790
- name: "keyword.operator.lookbehind.regexp"
3791
- },
3792
- "1": {
3793
- name: "punctuation.parenthesis.lookbehind.begin.regexp"
3794
- }
3795
- },
3796
- endCaptures: {
3797
- "1": {
3798
- name: "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"
3799
- },
3800
- "2": {
3801
- name: "invalid.illegal.newline.python"
3802
- }
3803
- },
3804
- patterns: [
3805
- {
3806
- include: "#single-three-fregexp-expression"
3807
- },
3808
- {
3809
- include: "#comments-string-single-three"
3810
- }
3811
- ]
3812
- },
3813
- "single-three-fregexp-lookbehind-negative": {
3814
- begin: "(\\()\\?<!",
3815
- end: "(\\)|(?=\\'\\'\\'))",
3816
- beginCaptures: {
3817
- "0": {
3818
- name: "keyword.operator.lookbehind.negative.regexp"
3819
- },
3820
- "1": {
3821
- name: "punctuation.parenthesis.lookbehind.begin.regexp"
3822
- }
3823
- },
3824
- endCaptures: {
3825
- "1": {
3826
- name: "keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"
3827
- },
3828
- "2": {
3829
- name: "invalid.illegal.newline.python"
3830
- }
3831
- },
3832
- patterns: [
3833
- {
3834
- include: "#single-three-fregexp-expression"
3835
- },
3836
- {
3837
- include: "#comments-string-single-three"
3838
- }
3839
- ]
3840
- },
3841
- "single-three-fregexp-conditional": {
3842
- begin: "(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",
3843
- end: "(\\)|(?=\\'\\'\\'))",
3844
- beginCaptures: {
3845
- "0": {
3846
- name: "keyword.operator.conditional.regexp"
3847
- },
3848
- "1": {
3849
- name: "punctuation.parenthesis.conditional.begin.regexp"
3850
- }
3851
- },
3852
- endCaptures: {
3853
- "1": {
3854
- name: "keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"
3855
- },
3856
- "2": {
3857
- name: "invalid.illegal.newline.python"
3858
- }
3859
- },
3860
- patterns: [
3861
- {
3862
- include: "#single-three-fregexp-expression"
3863
- },
3864
- {
3865
- include: "#comments-string-single-three"
3866
- }
3867
- ]
3868
- },
3869
- "single-three-fregexp-parentheses-non-capturing": {
3870
- begin: "\\(\\?:",
3871
- end: "(\\)|(?=\\'\\'\\'))",
3872
- beginCaptures: {
3873
- "0": {
3874
- name: "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"
3875
- }
3876
- },
3877
- endCaptures: {
3878
- "1": {
3879
- name: "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"
3880
- },
3881
- "2": {
3882
- name: "invalid.illegal.newline.python"
3883
- }
3884
- },
3885
- patterns: [
3886
- {
3887
- include: "#single-three-fregexp-expression"
3888
- },
3889
- {
3890
- include: "#comments-string-single-three"
3891
- }
3892
- ]
3893
- },
3894
- "single-three-fregexp-parentheses": {
3895
- begin: "\\(",
3896
- end: "(\\)|(?=\\'\\'\\'))",
3897
- beginCaptures: {
3898
- "0": {
3899
- name: "support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"
3900
- }
3901
- },
3902
- endCaptures: {
3903
- "1": {
3904
- name: "support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"
3905
- },
3906
- "2": {
3907
- name: "invalid.illegal.newline.python"
3908
- }
3909
- },
3910
- patterns: [
3911
- {
3912
- include: "#single-three-fregexp-expression"
3913
- },
3914
- {
3915
- include: "#comments-string-single-three"
3916
- }
3917
- ]
3918
- },
3919
- "double-one-fregexp-expression": {
3920
- patterns: [
3921
- {
3922
- include: "#fregexp-base-expression"
3923
- },
3924
- {
3925
- include: "#double-one-regexp-character-set"
3926
- },
3927
- {
3928
- include: "#double-one-regexp-comments"
3929
- },
3930
- {
3931
- include: "#regexp-flags"
3932
- },
3933
- {
3934
- include: "#double-one-regexp-named-group"
3935
- },
3936
- {
3937
- include: "#regexp-backreference"
3938
- },
3939
- {
3940
- include: "#double-one-fregexp-lookahead"
3941
- },
3942
- {
3943
- include: "#double-one-fregexp-lookahead-negative"
3944
- },
3945
- {
3946
- include: "#double-one-fregexp-lookbehind"
3947
- },
3948
- {
3949
- include: "#double-one-fregexp-lookbehind-negative"
3950
- },
3951
- {
3952
- include: "#double-one-fregexp-conditional"
3953
- },
3954
- {
3955
- include: "#double-one-fregexp-parentheses-non-capturing"
3956
- },
3957
- {
3958
- include: "#double-one-fregexp-parentheses"
3959
- }
3960
- ]
3961
- },
3962
- "double-one-fregexp-named-group": {
3963
- name: "meta.named.regexp",
3964
- begin: "(?x)\n (\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)\n",
3965
- end: "(\\)|(?=\"))|((?=(?<!\\\\)\\n))",
3966
- beginCaptures: {
3967
- "1": {
3968
- name: "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"
3969
- },
3970
- "2": {
3971
- name: "entity.name.tag.named.group.regexp"
3972
- }
3973
- },
3974
- endCaptures: {
3975
- "1": {
3976
- name: "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"
3977
- },
3978
- "2": {
3979
- name: "invalid.illegal.newline.python"
3980
- }
3981
- },
3982
- patterns: [
3983
- {
3984
- include: "#double-one-fregexp-expression"
3985
- }
3986
- ]
3987
- },
3988
- "double-one-fregexp-lookahead": {
3989
- begin: "(\\()\\?=",
3990
- end: "(\\)|(?=\"))|((?=(?<!\\\\)\\n))",
3991
- beginCaptures: {
3992
- "0": {
3993
- name: "keyword.operator.lookahead.regexp"
3994
- },
3995
- "1": {
3996
- name: "punctuation.parenthesis.lookahead.begin.regexp"
3997
- }
3998
- },
3999
- endCaptures: {
4000
- "1": {
4001
- name: "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"
4002
- },
4003
- "2": {
4004
- name: "invalid.illegal.newline.python"
4005
- }
4006
- },
4007
- patterns: [
4008
- {
4009
- include: "#double-one-fregexp-expression"
4010
- }
4011
- ]
4012
- },
4013
- "double-one-fregexp-lookahead-negative": {
4014
- begin: "(\\()\\?!",
4015
- end: "(\\)|(?=\"))|((?=(?<!\\\\)\\n))",
4016
- beginCaptures: {
4017
- "0": {
4018
- name: "keyword.operator.lookahead.negative.regexp"
4019
- },
4020
- "1": {
4021
- name: "punctuation.parenthesis.lookahead.begin.regexp"
4022
- }
4023
- },
4024
- endCaptures: {
4025
- "1": {
4026
- name: "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"
4027
- },
4028
- "2": {
4029
- name: "invalid.illegal.newline.python"
4030
- }
4031
- },
4032
- patterns: [
4033
- {
4034
- include: "#double-one-fregexp-expression"
4035
- }
4036
- ]
4037
- },
4038
- "double-one-fregexp-lookbehind": {
4039
- begin: "(\\()\\?<=",
4040
- end: "(\\)|(?=\"))|((?=(?<!\\\\)\\n))",
4041
- beginCaptures: {
4042
- "0": {
4043
- name: "keyword.operator.lookbehind.regexp"
4044
- },
4045
- "1": {
4046
- name: "punctuation.parenthesis.lookbehind.begin.regexp"
4047
- }
4048
- },
4049
- endCaptures: {
4050
- "1": {
4051
- name: "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"
4052
- },
4053
- "2": {
4054
- name: "invalid.illegal.newline.python"
4055
- }
4056
- },
4057
- patterns: [
4058
- {
4059
- include: "#double-one-fregexp-expression"
4060
- }
4061
- ]
4062
- },
4063
- "double-one-fregexp-lookbehind-negative": {
4064
- begin: "(\\()\\?<!",
4065
- end: "(\\)|(?=\"))|((?=(?<!\\\\)\\n))",
4066
- beginCaptures: {
4067
- "0": {
4068
- name: "keyword.operator.lookbehind.negative.regexp"
4069
- },
4070
- "1": {
4071
- name: "punctuation.parenthesis.lookbehind.begin.regexp"
4072
- }
4073
- },
4074
- endCaptures: {
4075
- "1": {
4076
- name: "keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"
4077
- },
4078
- "2": {
4079
- name: "invalid.illegal.newline.python"
4080
- }
4081
- },
4082
- patterns: [
4083
- {
4084
- include: "#double-one-fregexp-expression"
4085
- }
4086
- ]
4087
- },
4088
- "double-one-fregexp-conditional": {
4089
- begin: "(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",
4090
- end: "(\\)|(?=\"))|((?=(?<!\\\\)\\n))",
4091
- beginCaptures: {
4092
- "0": {
4093
- name: "keyword.operator.conditional.regexp"
4094
- },
4095
- "1": {
4096
- name: "punctuation.parenthesis.conditional.begin.regexp"
4097
- }
4098
- },
4099
- endCaptures: {
4100
- "1": {
4101
- name: "keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"
4102
- },
4103
- "2": {
4104
- name: "invalid.illegal.newline.python"
4105
- }
4106
- },
4107
- patterns: [
4108
- {
4109
- include: "#double-one-fregexp-expression"
4110
- }
4111
- ]
4112
- },
4113
- "double-one-fregexp-parentheses-non-capturing": {
4114
- begin: "\\(\\?:",
4115
- end: "(\\)|(?=\"))|((?=(?<!\\\\)\\n))",
4116
- beginCaptures: {
4117
- "0": {
4118
- name: "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"
4119
- }
4120
- },
4121
- endCaptures: {
4122
- "1": {
4123
- name: "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"
4124
- },
4125
- "2": {
4126
- name: "invalid.illegal.newline.python"
4127
- }
4128
- },
4129
- patterns: [
4130
- {
4131
- include: "#double-one-fregexp-expression"
4132
- }
4133
- ]
4134
- },
4135
- "double-one-fregexp-parentheses": {
4136
- begin: "\\(",
4137
- end: "(\\)|(?=\"))|((?=(?<!\\\\)\\n))",
4138
- beginCaptures: {
4139
- "0": {
4140
- name: "support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"
4141
- }
4142
- },
4143
- endCaptures: {
4144
- "1": {
4145
- name: "support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"
4146
- },
4147
- "2": {
4148
- name: "invalid.illegal.newline.python"
4149
- }
4150
- },
4151
- patterns: [
4152
- {
4153
- include: "#double-one-fregexp-expression"
4154
- }
4155
- ]
4156
- },
4157
- "double-three-fregexp-expression": {
4158
- patterns: [
4159
- {
4160
- include: "#fregexp-base-expression"
4161
- },
4162
- {
4163
- include: "#double-three-regexp-character-set"
4164
- },
4165
- {
4166
- include: "#double-three-regexp-comments"
4167
- },
4168
- {
4169
- include: "#regexp-flags"
4170
- },
4171
- {
4172
- include: "#double-three-regexp-named-group"
4173
- },
4174
- {
4175
- include: "#regexp-backreference"
4176
- },
4177
- {
4178
- include: "#double-three-fregexp-lookahead"
4179
- },
4180
- {
4181
- include: "#double-three-fregexp-lookahead-negative"
4182
- },
4183
- {
4184
- include: "#double-three-fregexp-lookbehind"
4185
- },
4186
- {
4187
- include: "#double-three-fregexp-lookbehind-negative"
4188
- },
4189
- {
4190
- include: "#double-three-fregexp-conditional"
4191
- },
4192
- {
4193
- include: "#double-three-fregexp-parentheses-non-capturing"
4194
- },
4195
- {
4196
- include: "#double-three-fregexp-parentheses"
4197
- },
4198
- {
4199
- include: "#comments-string-double-three"
4200
- }
4201
- ]
4202
- },
4203
- "double-three-fregexp-named-group": {
4204
- name: "meta.named.regexp",
4205
- begin: "(?x)\n (\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)\n",
4206
- end: "(\\)|(?=\"\"\"))",
4207
- beginCaptures: {
4208
- "1": {
4209
- name: "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"
4210
- },
4211
- "2": {
4212
- name: "entity.name.tag.named.group.regexp"
4213
- }
4214
- },
4215
- endCaptures: {
4216
- "1": {
4217
- name: "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"
4218
- },
4219
- "2": {
4220
- name: "invalid.illegal.newline.python"
4221
- }
4222
- },
4223
- patterns: [
4224
- {
4225
- include: "#double-three-fregexp-expression"
4226
- },
4227
- {
4228
- include: "#comments-string-double-three"
4229
- }
4230
- ]
4231
- },
4232
- "double-three-fregexp-lookahead": {
4233
- begin: "(\\()\\?=",
4234
- end: "(\\)|(?=\"\"\"))",
4235
- beginCaptures: {
4236
- "0": {
4237
- name: "keyword.operator.lookahead.regexp"
4238
- },
4239
- "1": {
4240
- name: "punctuation.parenthesis.lookahead.begin.regexp"
4241
- }
4242
- },
4243
- endCaptures: {
4244
- "1": {
4245
- name: "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"
4246
- },
4247
- "2": {
4248
- name: "invalid.illegal.newline.python"
4249
- }
4250
- },
4251
- patterns: [
4252
- {
4253
- include: "#double-three-fregexp-expression"
4254
- },
4255
- {
4256
- include: "#comments-string-double-three"
4257
- }
4258
- ]
4259
- },
4260
- "double-three-fregexp-lookahead-negative": {
4261
- begin: "(\\()\\?!",
4262
- end: "(\\)|(?=\"\"\"))",
4263
- beginCaptures: {
4264
- "0": {
4265
- name: "keyword.operator.lookahead.negative.regexp"
4266
- },
4267
- "1": {
4268
- name: "punctuation.parenthesis.lookahead.begin.regexp"
4269
- }
4270
- },
4271
- endCaptures: {
4272
- "1": {
4273
- name: "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"
4274
- },
4275
- "2": {
4276
- name: "invalid.illegal.newline.python"
4277
- }
4278
- },
4279
- patterns: [
4280
- {
4281
- include: "#double-three-fregexp-expression"
4282
- },
4283
- {
4284
- include: "#comments-string-double-three"
4285
- }
4286
- ]
4287
- },
4288
- "double-three-fregexp-lookbehind": {
4289
- begin: "(\\()\\?<=",
4290
- end: "(\\)|(?=\"\"\"))",
4291
- beginCaptures: {
4292
- "0": {
4293
- name: "keyword.operator.lookbehind.regexp"
4294
- },
4295
- "1": {
4296
- name: "punctuation.parenthesis.lookbehind.begin.regexp"
4297
- }
4298
- },
4299
- endCaptures: {
4300
- "1": {
4301
- name: "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"
4302
- },
4303
- "2": {
4304
- name: "invalid.illegal.newline.python"
4305
- }
4306
- },
4307
- patterns: [
4308
- {
4309
- include: "#double-three-fregexp-expression"
4310
- },
4311
- {
4312
- include: "#comments-string-double-three"
4313
- }
4314
- ]
4315
- },
4316
- "double-three-fregexp-lookbehind-negative": {
4317
- begin: "(\\()\\?<!",
4318
- end: "(\\)|(?=\"\"\"))",
4319
- beginCaptures: {
4320
- "0": {
4321
- name: "keyword.operator.lookbehind.negative.regexp"
4322
- },
4323
- "1": {
4324
- name: "punctuation.parenthesis.lookbehind.begin.regexp"
4325
- }
4326
- },
4327
- endCaptures: {
4328
- "1": {
4329
- name: "keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"
4330
- },
4331
- "2": {
4332
- name: "invalid.illegal.newline.python"
4333
- }
4334
- },
4335
- patterns: [
4336
- {
4337
- include: "#double-three-fregexp-expression"
4338
- },
4339
- {
4340
- include: "#comments-string-double-three"
4341
- }
4342
- ]
4343
- },
4344
- "double-three-fregexp-conditional": {
4345
- begin: "(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)",
4346
- end: "(\\)|(?=\"\"\"))",
4347
- beginCaptures: {
4348
- "0": {
4349
- name: "keyword.operator.conditional.regexp"
4350
- },
4351
- "1": {
4352
- name: "punctuation.parenthesis.conditional.begin.regexp"
4353
- }
4354
- },
4355
- endCaptures: {
4356
- "1": {
4357
- name: "keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"
4358
- },
4359
- "2": {
4360
- name: "invalid.illegal.newline.python"
4361
- }
4362
- },
4363
- patterns: [
4364
- {
4365
- include: "#double-three-fregexp-expression"
4366
- },
4367
- {
4368
- include: "#comments-string-double-three"
4369
- }
4370
- ]
4371
- },
4372
- "double-three-fregexp-parentheses-non-capturing": {
4373
- begin: "\\(\\?:",
4374
- end: "(\\)|(?=\"\"\"))",
4375
- beginCaptures: {
4376
- "0": {
4377
- name: "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"
4378
- }
4379
- },
4380
- endCaptures: {
4381
- "1": {
4382
- name: "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"
4383
- },
4384
- "2": {
4385
- name: "invalid.illegal.newline.python"
4386
- }
4387
- },
4388
- patterns: [
4389
- {
4390
- include: "#double-three-fregexp-expression"
4391
- },
4392
- {
4393
- include: "#comments-string-double-three"
4394
- }
4395
- ]
4396
- },
4397
- "double-three-fregexp-parentheses": {
4398
- begin: "\\(",
4399
- end: "(\\)|(?=\"\"\"))",
4400
- beginCaptures: {
4401
- "0": {
4402
- name: "support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"
4403
- }
4404
- },
4405
- endCaptures: {
4406
- "1": {
4407
- name: "support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"
4408
- },
4409
- "2": {
4410
- name: "invalid.illegal.newline.python"
4411
- }
4412
- },
4413
- patterns: [
4414
- {
4415
- include: "#double-three-fregexp-expression"
4416
- },
4417
- {
4418
- include: "#comments-string-double-three"
4419
- }
4420
- ]
4421
- },
4422
- "fregexp-single-one-line": {
4423
- name: "string.interpolated.python string.regexp.quoted.single.python",
4424
- begin: "\\b(([uU]r)|([fF]r)|(r[fF]?))(\\')",
4425
- end: "(\\')|(?<!\\\\)(\\n)",
4426
- beginCaptures: {
4427
- "2": {
4428
- name: "invalid.deprecated.prefix.python"
4429
- },
4430
- "3": {
4431
- name: "storage.type.string.python"
4432
- },
4433
- "4": {
4434
- name: "storage.type.string.python"
4435
- },
4436
- "5": {
4437
- name: "punctuation.definition.string.begin.python"
4438
- }
4439
- },
4440
- endCaptures: {
4441
- "1": {
4442
- name: "punctuation.definition.string.end.python"
4443
- },
4444
- "2": {
4445
- name: "invalid.illegal.newline.python"
4446
- }
4447
- },
4448
- patterns: [
4449
- {
4450
- include: "#single-one-fregexp-expression"
4451
- }
4452
- ]
4453
- },
4454
- "fregexp-single-three-line": {
4455
- name: "string.interpolated.python string.regexp.quoted.multi.python",
4456
- begin: "\\b(([uU]r)|([fF]r)|(r[fF]?))(\\'\\'\\')",
4457
- end: "(\\'\\'\\')",
4458
- beginCaptures: {
4459
- "2": {
4460
- name: "invalid.deprecated.prefix.python"
4461
- },
4462
- "3": {
4463
- name: "storage.type.string.python"
4464
- },
4465
- "4": {
4466
- name: "storage.type.string.python"
4467
- },
4468
- "5": {
4469
- name: "punctuation.definition.string.begin.python"
4470
- }
4471
- },
4472
- endCaptures: {
4473
- "1": {
4474
- name: "punctuation.definition.string.end.python"
4475
- },
4476
- "2": {
4477
- name: "invalid.illegal.newline.python"
4478
- }
4479
- },
4480
- patterns: [
4481
- {
4482
- include: "#single-three-fregexp-expression"
4483
- }
4484
- ]
4485
- },
4486
- "fregexp-double-one-line": {
4487
- name: "string.interpolated.python string.regexp.quoted.single.python",
4488
- begin: "\\b(([uU]r)|([fF]r)|(r[fF]?))(\")",
4489
- end: "(\")|(?<!\\\\)(\\n)",
4490
- beginCaptures: {
4491
- "2": {
4492
- name: "invalid.deprecated.prefix.python"
4493
- },
4494
- "3": {
4495
- name: "storage.type.string.python"
4496
- },
4497
- "4": {
4498
- name: "storage.type.string.python"
4499
- },
4500
- "5": {
4501
- name: "punctuation.definition.string.begin.python"
4502
- }
4503
- },
4504
- endCaptures: {
4505
- "1": {
4506
- name: "punctuation.definition.string.end.python"
4507
- },
4508
- "2": {
4509
- name: "invalid.illegal.newline.python"
4510
- }
4511
- },
4512
- patterns: [
4513
- {
4514
- include: "#double-one-fregexp-expression"
4515
- }
4516
- ]
4517
- },
4518
- "fregexp-double-three-line": {
4519
- name: "string.interpolated.python string.regexp.quoted.multi.python",
4520
- begin: "\\b(([uU]r)|([fF]r)|(r[fF]?))(\"\"\")",
4521
- end: "(\"\"\")",
4522
- beginCaptures: {
4523
- "2": {
4524
- name: "invalid.deprecated.prefix.python"
4525
- },
4526
- "3": {
4527
- name: "storage.type.string.python"
4528
- },
4529
- "4": {
4530
- name: "storage.type.string.python"
4531
- },
4532
- "5": {
4533
- name: "punctuation.definition.string.begin.python"
4534
- }
4535
- },
4536
- endCaptures: {
4537
- "1": {
4538
- name: "punctuation.definition.string.end.python"
4539
- },
4540
- "2": {
4541
- name: "invalid.illegal.newline.python"
4542
- }
4543
- },
4544
- patterns: [
4545
- {
4546
- include: "#double-three-fregexp-expression"
4547
- }
4548
- ]
4549
- },
4550
- "string-raw-quoted-single-line": {
4551
- name: "string.quoted.raw.single.python",
4552
- begin: "\\b(([uU]R)|(R))((['\"]))",
4553
- end: "(\\4)|((?<!\\\\)\\n)",
4554
- beginCaptures: {
4555
- "2": {
4556
- name: "invalid.deprecated.prefix.python"
4557
- },
4558
- "3": {
4559
- name: "storage.type.string.python"
4560
- },
4561
- "4": {
4562
- name: "punctuation.definition.string.begin.python"
4563
- }
4564
- },
4565
- endCaptures: {
4566
- "1": {
4567
- name: "punctuation.definition.string.end.python"
4568
- },
4569
- "2": {
4570
- name: "invalid.illegal.newline.python"
4571
- }
4572
- },
4573
- patterns: [
4574
- {
4575
- include: "#string-single-bad-brace1-formatting-raw"
4576
- },
4577
- {
4578
- include: "#string-single-bad-brace2-formatting-raw"
4579
- },
4580
- {
4581
- include: "#string-raw-guts"
4582
- }
4583
- ]
4584
- },
4585
- "string-bin-quoted-single-line": {
4586
- name: "string.quoted.binary.single.python",
4587
- begin: "(\\b[bB])((['\"]))",
4588
- end: "(\\2)|((?<!\\\\)\\n)",
4589
- beginCaptures: {
4590
- "1": {
4591
- name: "storage.type.string.python"
4592
- },
4593
- "2": {
4594
- name: "punctuation.definition.string.begin.python"
4595
- }
4596
- },
4597
- endCaptures: {
4598
- "1": {
4599
- name: "punctuation.definition.string.end.python"
4600
- },
4601
- "2": {
4602
- name: "invalid.illegal.newline.python"
4603
- }
4604
- },
4605
- patterns: [
4606
- {
4607
- include: "#string-entity"
4608
- }
4609
- ]
4610
- },
4611
- "string-raw-bin-quoted-single-line": {
4612
- name: "string.quoted.raw.binary.single.python",
4613
- begin: "(\\b(?:R[bB]|[bB]R))((['\"]))",
4614
- end: "(\\2)|((?<!\\\\)\\n)",
4615
- beginCaptures: {
4616
- "1": {
4617
- name: "storage.type.string.python"
4618
- },
4619
- "2": {
4620
- name: "punctuation.definition.string.begin.python"
4621
- }
4622
- },
4623
- endCaptures: {
4624
- "1": {
4625
- name: "punctuation.definition.string.end.python"
4626
- },
4627
- "2": {
4628
- name: "invalid.illegal.newline.python"
4629
- }
4630
- },
4631
- patterns: [
4632
- {
4633
- include: "#string-raw-bin-guts"
4634
- }
4635
- ]
4636
- },
4637
- "string-quoted-single-line": {
4638
- name: "string.quoted.single.python",
4639
- begin: "(?:\\b([rR])(?=[uU]))?([uU])?((['\"]))",
4640
- end: "(\\3)|((?<!\\\\)\\n)",
4641
- beginCaptures: {
4642
- "1": {
4643
- name: "invalid.illegal.prefix.python"
4644
- },
4645
- "2": {
4646
- name: "storage.type.string.python"
4647
- },
4648
- "3": {
4649
- name: "punctuation.definition.string.begin.python"
4650
- }
4651
- },
4652
- endCaptures: {
4653
- "1": {
4654
- name: "punctuation.definition.string.end.python"
4655
- },
4656
- "2": {
4657
- name: "invalid.illegal.newline.python"
4658
- }
4659
- },
4660
- patterns: [
4661
- {
4662
- include: "#string-single-bad-brace1-formatting-unicode"
4663
- },
4664
- {
4665
- include: "#string-single-bad-brace2-formatting-unicode"
4666
- },
4667
- {
4668
- include: "#string-unicode-guts"
4669
- }
4670
- ]
4671
- },
4672
- "string-single-bad-brace1-formatting-unicode": {
4673
- comment: "template using {% ... %}",
4674
- begin: "(?x)\n (?= \\{%\n ( .*? (?!(['\"])|((?<!\\\\)\\n)) )\n %\\}\n )\n",
4675
- end: "(?=(['\"])|((?<!\\\\)\\n))",
4676
- patterns: [
4677
- {
4678
- include: "#escape-sequence-unicode"
4679
- },
4680
- {
4681
- include: "#escape-sequence"
4682
- },
4683
- {
4684
- include: "#string-line-continuation"
4685
- }
4686
- ]
4687
- },
4688
- "string-single-bad-brace1-formatting-raw": {
4689
- comment: "template using {% ... %}",
4690
- begin: "(?x)\n (?= \\{%\n ( .*? (?!(['\"])|((?<!\\\\)\\n)) )\n %\\}\n )\n",
4691
- end: "(?=(['\"])|((?<!\\\\)\\n))",
4692
- patterns: [
4693
- {
4694
- include: "#string-consume-escape"
4695
- }
4696
- ]
4697
- },
4698
- "string-single-bad-brace2-formatting-unicode": {
4699
- comment: "odd format or format-like syntax",
4700
- begin: "(?x)\n (?!\\{\\{)\n (?= \\{ (\n \\w*? (?!(['\"])|((?<!\\\\)\\n)) [^!:\\.\\[}\\w]\n )\n .*?(?!(['\"])|((?<!\\\\)\\n))\n \\}\n )\n",
4701
- end: "(?=(['\"])|((?<!\\\\)\\n))",
4702
- patterns: [
4703
- {
4704
- include: "#escape-sequence-unicode"
4705
- },
4706
- {
4707
- include: "#string-entity"
4708
- }
4709
- ]
4710
- },
4711
- "string-single-bad-brace2-formatting-raw": {
4712
- comment: "odd format or format-like syntax",
4713
- begin: "(?x)\n (?!\\{\\{)\n (?= \\{ (\n \\w*? (?!(['\"])|((?<!\\\\)\\n)) [^!:\\.\\[}\\w]\n )\n .*?(?!(['\"])|((?<!\\\\)\\n))\n \\}\n )\n",
4714
- end: "(?=(['\"])|((?<!\\\\)\\n))",
4715
- patterns: [
4716
- {
4717
- include: "#string-consume-escape"
4718
- },
4719
- {
4720
- include: "#string-formatting"
4721
- }
4722
- ]
4723
- },
4724
- "string-raw-quoted-multi-line": {
4725
- name: "string.quoted.raw.multi.python",
4726
- begin: "\\b(([uU]R)|(R))('''|\"\"\")",
4727
- end: "(\\4)",
4728
- beginCaptures: {
4729
- "2": {
4730
- name: "invalid.deprecated.prefix.python"
4731
- },
4732
- "3": {
4733
- name: "storage.type.string.python"
4734
- },
4735
- "4": {
4736
- name: "punctuation.definition.string.begin.python"
4737
- }
4738
- },
4739
- endCaptures: {
4740
- "1": {
4741
- name: "punctuation.definition.string.end.python"
4742
- },
4743
- "2": {
4744
- name: "invalid.illegal.newline.python"
4745
- }
4746
- },
4747
- patterns: [
4748
- {
4749
- include: "#string-multi-bad-brace1-formatting-raw"
4750
- },
4751
- {
4752
- include: "#string-multi-bad-brace2-formatting-raw"
4753
- },
4754
- {
4755
- include: "#string-raw-guts"
4756
- }
4757
- ]
4758
- },
4759
- "string-bin-quoted-multi-line": {
4760
- name: "string.quoted.binary.multi.python",
4761
- begin: "(\\b[bB])('''|\"\"\")",
4762
- end: "(\\2)",
4763
- beginCaptures: {
4764
- "1": {
4765
- name: "storage.type.string.python"
4766
- },
4767
- "2": {
4768
- name: "punctuation.definition.string.begin.python"
4769
- }
4770
- },
4771
- endCaptures: {
4772
- "1": {
4773
- name: "punctuation.definition.string.end.python"
4774
- },
4775
- "2": {
4776
- name: "invalid.illegal.newline.python"
4777
- }
4778
- },
4779
- patterns: [
4780
- {
4781
- include: "#string-entity"
4782
- }
4783
- ]
4784
- },
4785
- "string-raw-bin-quoted-multi-line": {
4786
- name: "string.quoted.raw.binary.multi.python",
4787
- begin: "(\\b(?:R[bB]|[bB]R))('''|\"\"\")",
4788
- end: "(\\2)",
4789
- beginCaptures: {
4790
- "1": {
4791
- name: "storage.type.string.python"
4792
- },
4793
- "2": {
4794
- name: "punctuation.definition.string.begin.python"
4795
- }
4796
- },
4797
- endCaptures: {
4798
- "1": {
4799
- name: "punctuation.definition.string.end.python"
4800
- },
4801
- "2": {
4802
- name: "invalid.illegal.newline.python"
4803
- }
4804
- },
4805
- patterns: [
4806
- {
4807
- include: "#string-raw-bin-guts"
3680
+ include: "#string-raw-bin-guts"
4808
3681
  }
4809
3682
  ]
4810
3683
  },
@@ -4973,7 +3846,7 @@ var repository = {
4973
3846
  },
4974
3847
  "fstring-raw-quoted-single-line": {
4975
3848
  name: "meta.fstring.python",
4976
- begin: "(\\b(?:[R][fF]|[fF][R]))((['\"]))",
3849
+ begin: "(\\b(?:[rR][fF]|[fF][rR]))((['\"]))",
4977
3850
  end: "(\\2)|((?<!\\\\)\\n)",
4978
3851
  beginCaptures: {
4979
3852
  "1": {
@@ -5041,10 +3914,14 @@ var repository = {
5041
3914
  patterns: [
5042
3915
  {
5043
3916
  name: "storage.type.format.python",
5044
- match: "(![rsa])(?=})"
3917
+ match: "(=(![rsa])?)(?=})"
3918
+ },
3919
+ {
3920
+ name: "storage.type.format.python",
3921
+ match: "(=?![rsa])(?=})"
5045
3922
  },
5046
3923
  {
5047
- match: "(?x)\n (![rsa])?\n ( : \\w? [<>=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})\n",
3924
+ match: "(?x)\n ( (?: =?) (?: ![rsa])? )\n ( : \\w? [<>=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})\n",
5048
3925
  captures: {
5049
3926
  "1": {
5050
3927
  name: "storage.type.format.python"
@@ -5060,7 +3937,7 @@ var repository = {
5060
3937
  ]
5061
3938
  },
5062
3939
  "fstring-terminator-single-tail": {
5063
- begin: "(![rsa])?(:)(?=.*?{)",
3940
+ begin: "((?:=?)(?:![rsa])?)(:)(?=.*?{)",
5064
3941
  end: "(?=})|(?=\\n)",
5065
3942
  beginCaptures: {
5066
3943
  "1": {
@@ -5189,7 +4066,7 @@ var repository = {
5189
4066
  },
5190
4067
  "fstring-raw-quoted-multi-line": {
5191
4068
  name: "meta.fstring.python",
5192
- begin: "(\\b(?:[R][fF]|[fF][R]))('''|\"\"\")",
4069
+ begin: "(\\b(?:[rR][fF]|[fF][rR]))('''|\"\"\")",
5193
4070
  end: "(\\2)",
5194
4071
  beginCaptures: {
5195
4072
  "1": {
@@ -5257,10 +4134,14 @@ var repository = {
5257
4134
  patterns: [
5258
4135
  {
5259
4136
  name: "storage.type.format.python",
5260
- match: "(![rsa])(?=})"
4137
+ match: "(=(![rsa])?)(?=})"
4138
+ },
4139
+ {
4140
+ name: "storage.type.format.python",
4141
+ match: "(=?![rsa])(?=})"
5261
4142
  },
5262
4143
  {
5263
- match: "(?x)\n (![rsa])?\n ( : \\w? [<>=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})\n",
4144
+ match: "(?x)\n ( (?: =?) (?: ![rsa])? )\n ( : \\w? [<>=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )(?=})\n",
5264
4145
  captures: {
5265
4146
  "1": {
5266
4147
  name: "storage.type.format.python"
@@ -5276,7 +4157,7 @@ var repository = {
5276
4157
  ]
5277
4158
  },
5278
4159
  "fstring-terminator-multi-tail": {
5279
- begin: "(![rsa])?(:)(?=.*?{)",
4160
+ begin: "((?:=?)(?:![rsa])?)(:)(?=.*?{)",
5280
4161
  end: "(?=})",
5281
4162
  beginCaptures: {
5282
4163
  "1": {