@nuxt/scripts 0.2.0 → 0.3.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 (138) hide show
  1. package/README.md +19 -10
  2. package/dist/client/200.html +58 -49
  3. package/dist/client/404.html +58 -49
  4. package/dist/client/_nuxt/B5NHDIr7.js +353 -0
  5. package/dist/client/_nuxt/{Bz4xi2rU.js → B6ZnTe72.js} +1 -1
  6. package/dist/client/_nuxt/{B6nY7VDA.js → B6bHXiXE.js} +1 -1
  7. package/dist/client/_nuxt/{DX0ZGhB-.js → B7d4VNNH.js} +1 -1
  8. package/dist/client/_nuxt/BAMIS8DD.js +1 -0
  9. package/dist/client/_nuxt/{DG73IEBO.js → BDe6zcU4.js} +1 -1
  10. package/dist/client/_nuxt/{DaCkt_J7.js → BGq4KZyx.js} +1 -1
  11. package/dist/client/_nuxt/BVGdgKAv.js +1 -0
  12. package/dist/client/_nuxt/{wORFcijT.js → BXR915QZ.js} +1 -1
  13. package/dist/client/_nuxt/{DCj4DH6i.js → BYdKNJ10.js} +1 -1
  14. package/dist/client/_nuxt/BZfs-ost.js +1 -0
  15. package/dist/client/_nuxt/{DCdPDLy4.js → BacI6-DX.js} +1 -1
  16. package/dist/client/_nuxt/{DCk2z-Tu.js → BdfWgkoX.js} +1 -1
  17. package/dist/client/_nuxt/BscxmKrE.js +8 -0
  18. package/dist/client/_nuxt/C3qJFuQy.js +3 -0
  19. package/dist/client/_nuxt/C6XIsc4F.js +1 -0
  20. package/dist/client/_nuxt/C9UBdavN.js +1 -0
  21. package/dist/client/_nuxt/CA9nliXM.js +1 -0
  22. package/dist/client/_nuxt/{3Yx8WcR-.js → CDJL3WWm.js} +1 -1
  23. package/dist/client/_nuxt/{BsfQk1vf.js → CEfge3mM.js} +1 -1
  24. package/dist/client/_nuxt/{CQTpvb7m.js → CHCTrc3a.js} +1 -1
  25. package/dist/client/_nuxt/{DZ3fVoEH.js → CSPeAESR.js} +1 -1
  26. package/dist/client/_nuxt/CX2EUjC8.js +301 -0
  27. package/dist/client/_nuxt/{DCAtC51B.js → CarfVElc.js} +1 -1
  28. package/dist/client/_nuxt/{BgBwMnrY.js → CcYwH0AH.js} +1 -1
  29. package/dist/client/_nuxt/Cgl53LJQ.js +1 -0
  30. package/dist/client/_nuxt/{RgJsN3zu.js → ChMCFiS0.js} +1 -1
  31. package/dist/client/_nuxt/{DfUNg_8t.js → CqYeW6XZ.js} +1 -1
  32. package/dist/client/_nuxt/{CL7Ixq1B.js → CrgTADc5.js} +1 -1
  33. package/dist/client/_nuxt/CuJfdYLG.js +1 -0
  34. package/dist/client/_nuxt/D2zRUjPH.js +31 -0
  35. package/dist/client/_nuxt/D71BffLY.js +1 -0
  36. package/dist/client/_nuxt/{Bd7iooY8.js → DGDuLtS6.js} +1 -1
  37. package/dist/client/_nuxt/{j8KhMG0x.js → DGxQkqYo.js} +1 -1
  38. package/dist/client/_nuxt/{CUVblut_.js → DR5YgmI2.js} +1 -1
  39. package/dist/client/_nuxt/DS9ZWoKD.js +1 -0
  40. package/dist/client/_nuxt/{D-pQtGOP.js → DVLwECkk.js} +1 -1
  41. package/dist/client/_nuxt/DZLoTQm4.js +1 -0
  42. package/dist/client/_nuxt/{ZQC2c-5V.js → D_T9yQUo.js} +3 -3
  43. package/dist/client/_nuxt/Db2-y2xY.js +1 -0
  44. package/dist/client/_nuxt/{CRWwmX0L.js → Di3qjVs2.js} +1 -1
  45. package/dist/client/_nuxt/{DXpYegZJ.js → Djqq6n-7.js} +1 -1
  46. package/dist/client/_nuxt/Dkb1Nx48.js +1 -0
  47. package/dist/client/_nuxt/{BBv1LFm6.js → DtT2Dbx_.js} +1 -1
  48. package/dist/client/_nuxt/{DywwDckn.js → Du6_OKDb.js} +1 -1
  49. package/dist/client/_nuxt/{IHMnEr_d.js → G-Jz5hiA.js} +1 -1
  50. package/dist/client/_nuxt/HrnDn_2Q.js +1 -0
  51. package/dist/client/_nuxt/{CPHkTjfH.js → JgH_6NEN.js} +1 -1
  52. package/dist/client/_nuxt/Ksn5IXup.js +1 -0
  53. package/dist/client/_nuxt/{wPLeKH6q.js → Lpdzc9s2.js} +1 -1
  54. package/dist/client/_nuxt/{CQ1WWl9n.js → V_y36BGi.js} +1 -1
  55. package/dist/client/_nuxt/{BILqrcpa.js → YdT6Gj0u.js} +1 -1
  56. package/dist/client/_nuxt/alpzPJ78.js +1 -0
  57. package/dist/client/_nuxt/builds/latest.json +1 -1
  58. package/dist/client/_nuxt/builds/meta/02cf2bf1-41db-47f3-b8a9-6ba85bdcc620.json +1 -0
  59. package/dist/client/_nuxt/{Bdb36Id5.js → dIHJ9UdL.js} +1 -1
  60. package/dist/client/_nuxt/o5b8QYQO.js +3 -0
  61. package/dist/client/_nuxt/{D6KmUh4-.js → oLueGnAd.js} +1 -1
  62. package/dist/client/_nuxt/{doGI2cFk.js → wKgfcFVx.js} +1 -1
  63. package/dist/client/index.html +58 -49
  64. package/dist/module.json +1 -1
  65. package/dist/module.mjs +8 -220
  66. package/dist/registry.d.mts +13 -0
  67. package/dist/registry.d.ts +13 -0
  68. package/dist/registry.mjs +214 -0
  69. package/dist/runtime/components/GoogleMaps.vue +1 -1
  70. package/dist/runtime/components/StripePricingTableEmbed.vue +1 -1
  71. package/dist/runtime/components/VimeoEmbed.vue +1 -1
  72. package/dist/runtime/components/YouTubeEmbed.vue +1 -1
  73. package/dist/runtime/composables/useAnalyticsPageEvent.d.ts +4 -1
  74. package/dist/runtime/composables/useConsentScriptTrigger.d.ts +13 -0
  75. package/dist/runtime/composables/{createScriptConsentTrigger.mjs → useConsentScriptTrigger.mjs} +11 -3
  76. package/dist/runtime/composables/useElementScriptTrigger.d.ts +15 -1
  77. package/dist/runtime/composables/useElementScriptTrigger.mjs +5 -3
  78. package/dist/runtime/composables/useScript.d.ts +2 -2
  79. package/dist/runtime/composables/useScript.mjs +1 -1
  80. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +4 -17
  81. package/dist/runtime/registry/cloudflare-web-analytics.mjs +1 -1
  82. package/dist/runtime/registry/facebook-pixel.d.ts +4 -6
  83. package/dist/runtime/registry/facebook-pixel.mjs +2 -2
  84. package/dist/runtime/registry/fathom-analytics.d.ts +4 -14
  85. package/dist/runtime/registry/fathom-analytics.mjs +17 -3
  86. package/dist/runtime/registry/google-analytics.d.ts +4 -6
  87. package/dist/runtime/registry/google-analytics.mjs +2 -2
  88. package/dist/runtime/registry/google-maps.d.ts +12 -12
  89. package/dist/runtime/registry/google-maps.mjs +2 -2
  90. package/dist/runtime/registry/google-tag-manager.d.ts +4 -6
  91. package/dist/runtime/registry/google-tag-manager.mjs +2 -2
  92. package/dist/runtime/registry/hotjar.d.ts +4 -8
  93. package/dist/runtime/registry/hotjar.mjs +2 -2
  94. package/dist/runtime/registry/intercom.d.ts +5 -21
  95. package/dist/runtime/registry/intercom.mjs +2 -2
  96. package/dist/runtime/registry/lemon-squeezy.d.ts +4 -2
  97. package/dist/runtime/registry/lemon-squeezy.mjs +2 -2
  98. package/dist/runtime/registry/matomo-analytics.d.ts +4 -12
  99. package/dist/runtime/registry/matomo-analytics.mjs +2 -2
  100. package/dist/runtime/registry/npm.d.ts +4 -12
  101. package/dist/runtime/registry/npm.mjs +4 -4
  102. package/dist/runtime/registry/plausible-analytics.d.ts +4 -8
  103. package/dist/runtime/registry/plausible-analytics.mjs +2 -2
  104. package/dist/runtime/registry/segment.d.ts +4 -8
  105. package/dist/runtime/registry/segment.mjs +2 -2
  106. package/dist/runtime/registry/stripe.d.ts +6 -8
  107. package/dist/runtime/registry/stripe.mjs +2 -2
  108. package/dist/runtime/registry/vimeo-player.d.ts +4 -2
  109. package/dist/runtime/registry/vimeo-player.mjs +2 -2
  110. package/dist/runtime/registry/x-pixel.d.ts +4 -8
  111. package/dist/runtime/registry/x-pixel.mjs +2 -2
  112. package/dist/runtime/registry/youtube-iframe.d.ts +5 -3
  113. package/dist/runtime/registry/youtube-iframe.mjs +2 -2
  114. package/dist/runtime/types.d.ts +10 -12
  115. package/dist/runtime/utils.d.ts +3 -2
  116. package/dist/runtime/utils.mjs +5 -9
  117. package/dist/runtime/validation/mock.d.ts +36 -0
  118. package/dist/runtime/validation/mock.mjs +13 -0
  119. package/dist/runtime/validation/valibot.d.ts +1 -0
  120. package/dist/runtime/validation/valibot.mjs +1 -0
  121. package/package.json +16 -12
  122. package/dist/client/_nuxt/-hLHpAOl.js +0 -1
  123. package/dist/client/_nuxt/BIMuYTWL.js +0 -3
  124. package/dist/client/_nuxt/BLO8rZtj.js +0 -31
  125. package/dist/client/_nuxt/BSyl5yf0.js +0 -1
  126. package/dist/client/_nuxt/BswfO-CF.js +0 -1
  127. package/dist/client/_nuxt/CGQbO34C.js +0 -1
  128. package/dist/client/_nuxt/D4LhxNOI.js +0 -1
  129. package/dist/client/_nuxt/D4k753MY.js +0 -1
  130. package/dist/client/_nuxt/DnhXxWz-.js +0 -1
  131. package/dist/client/_nuxt/DzPyIVdT.js +0 -9
  132. package/dist/client/_nuxt/TQ9oWRfF.js +0 -1
  133. package/dist/client/_nuxt/WoBtJUue.js +0 -1
  134. package/dist/client/_nuxt/bmJ2objS.js +0 -1
  135. package/dist/client/_nuxt/builds/meta/69e9f83a-05c7-439f-bf82-0c2d6d83b961.json +0 -1
  136. package/dist/runtime/composables/createScriptConsentTrigger.d.ts +0 -6
  137. package/dist/runtime/registry/confetti.d.ts +0 -23
  138. package/dist/runtime/registry/confetti.mjs +0 -18
@@ -1,18 +1,14 @@
1
1
  import { defu } from "defu";
2
- import { parse } from "valibot";
2
+ import { parse } from "#nuxt-scripts-validator";
3
3
  import { createError, useRuntimeConfig, useScript } from "#imports";
4
- export function mockFallbackScript(name, module) {
5
- console.error(`${name} is provided by ${module}. Check your console to install it or run 'npx nuxi@latest module add ${module}'`);
6
- return useScript("", { trigger: "manual" });
7
- }
8
- function validateScriptInputSchema(schema, options) {
4
+ function validateScriptInputSchema(key, schema, options) {
9
5
  if (import.meta.dev) {
10
6
  try {
11
7
  parse(schema, options);
12
8
  } catch (e) {
13
9
  createError({
14
10
  cause: e,
15
- message: "Invalid script options"
11
+ message: `Invalid script options for ${key}`
16
12
  });
17
13
  }
18
14
  }
@@ -22,11 +18,11 @@ export function registryScript(key, optionsFn, _userOptions) {
22
18
  const runtimeOptions = runtimeConfig[key];
23
19
  const userOptions = Object.assign(_userOptions || {}, runtimeOptions || {});
24
20
  const options = optionsFn(userOptions);
25
- const scriptInput = defu({ key }, options.scriptInput);
21
+ const scriptInput = defu(options.scriptInput, { key });
26
22
  const scriptOptions = Object.assign(_userOptions?.scriptOptions || {}, options.scriptOptions || {});
27
23
  const init = scriptOptions.beforeInit;
28
24
  scriptOptions.beforeInit = () => {
29
- import.meta.dev && options.schema && validateScriptInputSchema(options.schema, userOptions);
25
+ import.meta.dev && options.schema && validateScriptInputSchema(key, options.schema, userOptions);
30
26
  init?.();
31
27
  import.meta.client && options.clientInit?.();
32
28
  };
@@ -0,0 +1,36 @@
1
+ export declare const parse: (() => void) & {
2
+ __unenv__: boolean;
3
+ };
4
+ export declare const object: (() => void) & {
5
+ __unenv__: boolean;
6
+ };
7
+ export declare const array: (() => void) & {
8
+ __unenv__: boolean;
9
+ };
10
+ export declare const string: (() => void) & {
11
+ __unenv__: boolean;
12
+ };
13
+ export declare const number: (() => void) & {
14
+ __unenv__: boolean;
15
+ };
16
+ export declare const boolean: (() => void) & {
17
+ __unenv__: boolean;
18
+ };
19
+ export declare const optional: (() => void) & {
20
+ __unenv__: boolean;
21
+ };
22
+ export declare const literal: (() => void) & {
23
+ __unenv__: boolean;
24
+ };
25
+ export declare const union: (() => void) & {
26
+ __unenv__: boolean;
27
+ };
28
+ export declare const record: (() => void) & {
29
+ __unenv__: boolean;
30
+ };
31
+ export declare const any: (() => void) & {
32
+ __unenv__: boolean;
33
+ };
34
+ export declare const minLength: (() => void) & {
35
+ __unenv__: boolean;
36
+ };
@@ -0,0 +1,13 @@
1
+ import noop from "unenv/runtime/mock/noop";
2
+ export const parse = noop;
3
+ export const object = noop;
4
+ export const array = noop;
5
+ export const string = noop;
6
+ export const number = noop;
7
+ export const boolean = noop;
8
+ export const optional = noop;
9
+ export const literal = noop;
10
+ export const union = noop;
11
+ export const record = noop;
12
+ export const any = noop;
13
+ export const minLength = noop;
@@ -0,0 +1 @@
1
+ export * from 'valibot';
@@ -0,0 +1 @@
1
+ export * from "valibot";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxt/scripts",
3
3
  "type": "module",
4
- "version": "0.2.0",
4
+ "version": "0.3.1",
5
5
  "description": "Load third-party scripts with better performance, privacy and DX in Nuxt Apps.",
6
6
  "author": {
7
7
  "website": "https://harlanzw.com",
@@ -21,6 +21,10 @@
21
21
  "types": "./dist/types.d.ts",
22
22
  "import": "./dist/module.mjs",
23
23
  "require": "./dist/module.cjs"
24
+ },
25
+ "./registry": {
26
+ "types": "./dist/registry.d.ts",
27
+ "import": "./dist/registry.mjs"
24
28
  }
25
29
  },
26
30
  "main": "./dist/module.cjs",
@@ -32,7 +36,6 @@
32
36
  "externals": [
33
37
  "@unhead/vue",
34
38
  "@unhead/schema",
35
- "@unhead/vue",
36
39
  "#nuxt-scripts"
37
40
  ]
38
41
  },
@@ -44,19 +47,20 @@
44
47
  "@types/stripe-v3": "^3.1.33",
45
48
  "@types/vimeo__player": "^2.18.3",
46
49
  "@types/youtube": "^0.0.50",
47
- "@unhead/vue": "^1.9.7",
50
+ "@unhead/vue": "^1.9.8",
51
+ "@vueuse/core": "^10.9.0",
48
52
  "consola": "^3.2.3",
49
53
  "defu": "^6.1.4",
50
54
  "estree-walker": "^3.0.3",
51
55
  "h3": "^1.11.1",
52
56
  "magic-string": "^0.30.10",
53
- "mlly": "^1.6.1",
57
+ "mlly": "^1.7.0",
54
58
  "ofetch": "^1.3.4",
55
59
  "ohash": "^1.1.3",
56
60
  "pathe": "^1.1.2",
57
61
  "pkg-types": "^1.1.0",
58
62
  "semver": "^7.6.0",
59
- "shiki": "^1.3.0",
63
+ "shiki": "^1.4.0",
60
64
  "sirv": "^2.0.4",
61
65
  "std-env": "^3.7.0",
62
66
  "third-party-capital": "^1.0.28",
@@ -67,26 +71,26 @@
67
71
  "valibot": "^0.30.0"
68
72
  },
69
73
  "devDependencies": {
70
- "@antfu/eslint-config": "2.15.0",
74
+ "@antfu/eslint-config": "2.16.1",
71
75
  "@nuxt/devtools-ui-kit": "^1.2.0",
72
76
  "@nuxt/module-builder": "^0.6.0",
73
77
  "@nuxt/test-utils": "3.12.1",
74
- "@unhead/schema": "^1.9.7",
78
+ "@unhead/schema": "^1.9.8",
75
79
  "acorn-loose": "^8.4.0",
76
- "bumpp": "^9.4.0",
80
+ "bumpp": "^9.4.1",
77
81
  "eslint": "9.1.1",
78
82
  "nuxt": "^3.11.2",
79
83
  "playwright-core": "^1.43.1",
80
84
  "typescript": "^5.4.5",
81
- "vitest": "^1.5.2",
82
- "vue": "^3.4.25",
85
+ "vitest": "^1.5.3",
86
+ "vue": "^3.4.26",
83
87
  "vue-router": "^4.3.2"
84
88
  },
85
89
  "resolutions": {
86
- "nuxt-scripts-devtools": "workspace:*",
87
90
  "@nuxt/scripts": "workspace:*",
88
91
  "nuxt": "^3.11.2",
89
- "vue": "^3.4.25",
92
+ "nuxt-scripts-devtools": "workspace:*",
93
+ "vue": "^3.4.26",
90
94
  "vue-router": "^4.3.2"
91
95
  },
92
96
  "scripts": {
@@ -1 +0,0 @@
1
- const e=Object.freeze({displayName:"Erlang",fileTypes:["erl","escript","hrl","xrl","yrl"],name:"erlang",patterns:[{include:"#module-directive"},{include:"#import-export-directive"},{include:"#behaviour-directive"},{include:"#record-directive"},{include:"#define-directive"},{include:"#macro-directive"},{include:"#directive"},{include:"#function"},{include:"#everything-else"}],repository:{atom:{patterns:[{begin:"(')",beginCaptures:{1:{name:"punctuation.definition.symbol.begin.erlang"}},end:"(')",endCaptures:{1:{name:"punctuation.definition.symbol.end.erlang"}},name:"constant.other.symbol.quoted.single.erlang",patterns:[{captures:{1:{name:"punctuation.definition.escape.erlang"},3:{name:"punctuation.definition.escape.erlang"}},match:`(\\\\)([bdefnrstv\\\\'"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2})`,name:"constant.other.symbol.escape.erlang"},{match:"\\\\\\^?.?",name:"invalid.illegal.atom.erlang"}]},{match:"[a-z][a-zA-Z\\d@_]*+",name:"constant.other.symbol.unquoted.erlang"}]},"behaviour-directive":{captures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.behaviour.erlang"},3:{name:"punctuation.definition.parameters.begin.erlang"},4:{name:"entity.name.type.class.behaviour.definition.erlang"},5:{name:"punctuation.definition.parameters.end.erlang"},6:{name:"punctuation.section.directive.end.erlang"}},match:"^\\s*+(-)\\s*+(behaviour)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)",name:"meta.directive.behaviour.erlang"},binary:{begin:"(<<)",beginCaptures:{1:{name:"punctuation.definition.binary.begin.erlang"}},end:"(>>)",endCaptures:{1:{name:"punctuation.definition.binary.end.erlang"}},name:"meta.structure.binary.erlang",patterns:[{captures:{1:{name:"punctuation.separator.binary.erlang"},2:{name:"punctuation.separator.value-size.erlang"}},match:"(,)|(:)"},{include:"#internal-type-specifiers"},{include:"#everything-else"}]},character:{patterns:[{captures:{1:{name:"punctuation.definition.character.erlang"},2:{name:"constant.character.escape.erlang"},3:{name:"punctuation.definition.escape.erlang"},5:{name:"punctuation.definition.escape.erlang"}},match:`(\\$)((\\\\)([bdefnrstv\\\\'"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2}))`,name:"constant.character.erlang"},{match:"\\$\\\\\\^?.?",name:"invalid.illegal.character.erlang"},{captures:{1:{name:"punctuation.definition.character.erlang"}},match:"(\\$)[ \\S]",name:"constant.character.erlang"},{match:"\\$.?",name:"invalid.illegal.character.erlang"}]},comment:{begin:"(^[ \\t]+)?(?=%)",beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.erlang"}},end:"(?!\\G)",patterns:[{begin:"%",beginCaptures:{0:{name:"punctuation.definition.comment.erlang"}},end:"\\n",name:"comment.line.percentage.erlang"}]},"define-directive":{patterns:[{begin:"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+",beginCaptures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.define.erlang"},3:{name:"punctuation.definition.parameters.begin.erlang"},4:{name:"entity.name.function.macro.definition.erlang"}},end:"(\\))\\s*+(\\.)",endCaptures:{1:{name:"punctuation.definition.parameters.end.erlang"},2:{name:"punctuation.section.directive.end.erlang"}},name:"meta.directive.define.erlang",patterns:[{include:"#everything-else"}]},{begin:"(?=^\\s*+-\\s*+define\\s*+\\(\\s*+[a-zA-Z\\d@_]++\\s*+\\()",end:"(\\))\\s*+(\\.)",endCaptures:{1:{name:"punctuation.definition.parameters.end.erlang"},2:{name:"punctuation.section.directive.end.erlang"}},name:"meta.directive.define.erlang",patterns:[{begin:"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+(\\()",beginCaptures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.define.erlang"},3:{name:"punctuation.definition.parameters.begin.erlang"},4:{name:"entity.name.function.macro.definition.erlang"},5:{name:"punctuation.definition.parameters.begin.erlang"}},end:"(\\))\\s*(,)",endCaptures:{1:{name:"punctuation.definition.parameters.end.erlang"},2:{name:"punctuation.separator.parameters.erlang"}},patterns:[{match:",",name:"punctuation.separator.parameters.erlang"},{include:"#everything-else"}]},{match:"\\|\\||\\||:|;|,|\\.|->",name:"punctuation.separator.define.erlang"},{include:"#everything-else"}]}]},directive:{patterns:[{begin:"^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\(?)",beginCaptures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.erlang"},3:{name:"punctuation.definition.parameters.begin.erlang"}},end:"(\\)?)\\s*+(\\.)",endCaptures:{1:{name:"punctuation.definition.parameters.end.erlang"},2:{name:"punctuation.section.directive.end.erlang"}},name:"meta.directive.erlang",patterns:[{include:"#everything-else"}]},{captures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.erlang"},3:{name:"punctuation.section.directive.end.erlang"}},match:"^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\.)",name:"meta.directive.erlang"}]},docstring:{comment:"It is possible to use more than 3 double quote characters as beginning and closing sequences (must be the same). Cover 3-9 characters here.",patterns:[{include:"#docstring3"},{include:"#docstring4"},{include:"#docstring5"},{include:"#docstring6"},{include:"#docstring7"},{include:"#docstring8"},{include:"#docstring9"}]},docstring3:{begin:'(?<!")(["]{3}\\s*)$',beginCaptures:{1:{name:"punctuation.definition.docstring.begin.erlang"}},comment:"Only whitespace characters are allowed after the beggining and before the closing sequences and those cannot be in the same line",end:'^(\\s*["]{3})(?!")',endCaptures:{1:{name:"punctuation.definition.docstring.end.erlang"}},name:"string.string.docstring.multi.erlang"},docstring4:{begin:'(?<!")(["]{4}\\s*)$',beginCaptures:{1:{name:"punctuation.definition.docstring.begin.erlang"}},end:'^(\\s*["]{4})(?!")',endCaptures:{1:{name:"punctuation.definition.docstring.end.erlang"}},name:"string.string.docstring.multi.erlang"},docstring5:{begin:'(?<!")(["]{5}\\s*)$',beginCaptures:{1:{name:"punctuation.definition.docstring.begin.erlang"}},end:'^(\\s*["]{5})(?!")',endCaptures:{1:{name:"punctuation.definition.docstring.end.erlang"}},name:"string.string.docstring.multi.erlang"},docstring6:{begin:'(?<!")(["]{6}\\s*)$',beginCaptures:{1:{name:"punctuation.definition.docstring.begin.erlang"}},end:'^(\\s*["]{6})(?!")',endCaptures:{1:{name:"punctuation.definition.docstring.end.erlang"}},name:"string.string.docstring.multi.erlang"},docstring7:{begin:'(?<!")(["]{7}\\s*)$',beginCaptures:{1:{name:"punctuation.definition.docstring.begin.erlang"}},end:'^(\\s*["]{7})(?!")',endCaptures:{1:{name:"punctuation.definition.docstring.end.erlang"}},name:"string.string.docstring.multi.erlang"},docstring8:{begin:'(?<!")(["]{8}\\s*)$',beginCaptures:{1:{name:"punctuation.definition.docstring.begin.erlang"}},end:'^(\\s*["]{8})(?!")',endCaptures:{1:{name:"punctuation.definition.docstring.end.erlang"}},name:"string.string.docstring.multi.erlang"},docstring9:{begin:'(?<!")(["]{9}\\s*)$',beginCaptures:{1:{name:"punctuation.definition.docstring.begin.erlang"}},end:'^(\\s*["]{9})(?!")',endCaptures:{1:{name:"punctuation.definition.docstring.end.erlang"}},name:"string.string.docstring.multi.erlang"},"everything-else":{patterns:[{include:"#comment"},{include:"#record-usage"},{include:"#macro-usage"},{include:"#expression"},{include:"#keyword"},{include:"#textual-operator"},{include:"#language-constant"},{include:"#function-call"},{include:"#tuple"},{include:"#list"},{include:"#binary"},{include:"#parenthesized-expression"},{include:"#character"},{include:"#number"},{include:"#atom"},{include:"#docstring"},{include:"#string"},{include:"#symbolic-operator"},{include:"#variable"}]},expression:{patterns:[{begin:"\\b(if)\\b",beginCaptures:{1:{name:"keyword.control.if.erlang"}},end:"\\b(end)\\b",endCaptures:{1:{name:"keyword.control.end.erlang"}},name:"meta.expression.if.erlang",patterns:[{include:"#internal-expression-punctuation"},{include:"#everything-else"}]},{begin:"\\b(case)\\b",beginCaptures:{1:{name:"keyword.control.case.erlang"}},end:"\\b(end)\\b",endCaptures:{1:{name:"keyword.control.end.erlang"}},name:"meta.expression.case.erlang",patterns:[{include:"#internal-expression-punctuation"},{include:"#everything-else"}]},{begin:"\\b(receive)\\b",beginCaptures:{1:{name:"keyword.control.receive.erlang"}},end:"\\b(end)\\b",endCaptures:{1:{name:"keyword.control.end.erlang"}},name:"meta.expression.receive.erlang",patterns:[{include:"#internal-expression-punctuation"},{include:"#everything-else"}]},{captures:{1:{name:"keyword.control.fun.erlang"},4:{name:"entity.name.type.class.module.erlang"},5:{name:"variable.other.erlang"},6:{name:"punctuation.separator.module-function.erlang"},8:{name:"entity.name.function.erlang"},9:{name:"variable.other.erlang"},10:{name:"punctuation.separator.function-arity.erlang"}},comment:"Implicit function expression with optional module qualifier when both module and function can be atom or variable",match:"\\b(fun)\\s+((([a-z][a-zA-Z\\d@_]*+)|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)\\s*+)?(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*(/)",name:"meta.expression.fun.implicit.erlang"},{begin:"\\b(fun)\\s+(([a-z][a-zA-Z\\d@_]*+)|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)",beginCaptures:{1:{name:"keyword.control.fun.erlang"},3:{name:"entity.name.type.class.module.erlang"},4:{name:"variable.other.erlang"},5:{name:"punctuation.separator.module-function.erlang"}},comment:"Implicit function expression with module qualifier when module can be atom or variable and function can by anything",end:"(/)",endCaptures:{1:{name:"punctuation.separator.function-arity.erlang"}},name:"meta.expression.fun.implicit.erlang",patterns:[{include:"#everything-else"}]},{begin:"\\b(fun)\\s+(?!\\()",beginCaptures:{1:{name:"keyword.control.fun.erlang"}},comment:"Implicit function expression when both module and function can by anything",end:"(/)",endCaptures:{1:{name:"punctuation.separator.function-arity.erlang"}},name:"meta.expression.fun.implicit.erlang",patterns:[{include:"#everything-else"}]},{begin:"\\b(fun)\\s*+(\\()(?=(\\s*+\\())",beginCaptures:{1:{name:"entity.name.function.erlang"},2:{name:"punctuation.definition.parameters.begin.erlang"}},comment:"Function type in type specification",end:"(\\))",endCaptures:{1:{name:"punctuation.definition.parameters.end.erlang"}},patterns:[{include:"#everything-else"}]},{begin:"\\b(fun)\\b",beginCaptures:{1:{name:"keyword.control.fun.erlang"}},comment:"Explicit function expression",end:"\\b(end)\\b",endCaptures:{1:{name:"keyword.control.end.erlang"}},name:"meta.expression.fun.erlang",patterns:[{begin:"(?=\\()",end:"(;)|(?=\\bend\\b)",endCaptures:{1:{name:"punctuation.separator.clauses.erlang"}},patterns:[{include:"#internal-function-parts"}]},{include:"#everything-else"}]},{begin:"\\b(try)\\b",beginCaptures:{1:{name:"keyword.control.try.erlang"}},end:"\\b(end)\\b",endCaptures:{1:{name:"keyword.control.end.erlang"}},name:"meta.expression.try.erlang",patterns:[{include:"#internal-expression-punctuation"},{include:"#everything-else"}]},{begin:"\\b(begin)\\b",beginCaptures:{1:{name:"keyword.control.begin.erlang"}},end:"\\b(end)\\b",endCaptures:{1:{name:"keyword.control.end.erlang"}},name:"meta.expression.begin.erlang",patterns:[{include:"#internal-expression-punctuation"},{include:"#everything-else"}]},{begin:"\\b(maybe)\\b",beginCaptures:{1:{name:"keyword.control.maybe.erlang"}},end:"\\b(end)\\b",endCaptures:{1:{name:"keyword.control.end.erlang"}},name:"meta.expression.maybe.erlang",patterns:[{include:"#internal-expression-punctuation"},{include:"#everything-else"}]}]},function:{begin:"^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()",beginCaptures:{1:{name:"entity.name.function.definition.erlang"}},end:"(\\.)",endCaptures:{1:{name:"punctuation.terminator.function.erlang"}},name:"meta.function.erlang",patterns:[{captures:{1:{name:"entity.name.function.erlang"}},match:"^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()"},{begin:"(?=\\()",end:"(;)|(?=\\.)",endCaptures:{1:{name:"punctuation.separator.clauses.erlang"}},patterns:[{include:"#parenthesized-expression"},{include:"#internal-function-parts"}]},{include:"#everything-else"}]},"function-call":{begin:"(?=([a-z][a-zA-Z\\d@_]*+|'[^']*+'|_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)\\s*+(\\(|:\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+'|_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)\\s*+\\())",end:"(\\))",endCaptures:{1:{name:"punctuation.definition.parameters.end.erlang"}},name:"meta.function-call.erlang",patterns:[{begin:"((erlang)\\s*+(:)\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\s*+(\\()",beginCaptures:{2:{name:"entity.name.type.class.module.erlang"},3:{name:"punctuation.separator.module-function.erlang"},4:{name:"entity.name.function.guard.erlang"},5:{name:"punctuation.definition.parameters.begin.erlang"}},end:"(?=\\))",patterns:[{match:",",name:"punctuation.separator.parameters.erlang"},{include:"#everything-else"}]},{begin:"((([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)\\s*+)?(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(\\()",beginCaptures:{3:{name:"entity.name.type.class.module.erlang"},4:{name:"variable.other.erlang"},5:{name:"punctuation.separator.module-function.erlang"},7:{name:"entity.name.function.erlang"},8:{name:"variable.other.erlang"},9:{name:"punctuation.definition.parameters.begin.erlang"}},end:"(?=\\))",patterns:[{match:",",name:"punctuation.separator.parameters.erlang"},{include:"#everything-else"}]}]},"import-export-directive":{patterns:[{begin:"^\\s*+(-)\\s*+(import)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)",beginCaptures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.import.erlang"},3:{name:"punctuation.definition.parameters.begin.erlang"},4:{name:"entity.name.type.class.module.erlang"},5:{name:"punctuation.separator.parameters.erlang"}},end:"(\\))\\s*+(\\.)",endCaptures:{1:{name:"punctuation.definition.parameters.end.erlang"},2:{name:"punctuation.section.directive.end.erlang"}},name:"meta.directive.import.erlang",patterns:[{include:"#internal-function-list"}]},{begin:"^\\s*+(-)\\s*+(export)\\s*+(\\()",beginCaptures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.export.erlang"},3:{name:"punctuation.definition.parameters.begin.erlang"}},end:"(\\))\\s*+(\\.)",endCaptures:{1:{name:"punctuation.definition.parameters.end.erlang"},2:{name:"punctuation.section.directive.end.erlang"}},name:"meta.directive.export.erlang",patterns:[{include:"#internal-function-list"}]}]},"internal-expression-punctuation":{captures:{1:{name:"punctuation.separator.clause-head-body.erlang"},2:{name:"punctuation.separator.clauses.erlang"},3:{name:"punctuation.separator.expressions.erlang"}},match:"(->)|(;)|(,)"},"internal-function-list":{begin:"(\\[)",beginCaptures:{1:{name:"punctuation.definition.list.begin.erlang"}},end:"(\\])",endCaptures:{1:{name:"punctuation.definition.list.end.erlang"}},name:"meta.structure.list.function.erlang",patterns:[{begin:"([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(/)",beginCaptures:{1:{name:"entity.name.function.erlang"},2:{name:"punctuation.separator.function-arity.erlang"}},end:"(,)|(?=\\])",endCaptures:{1:{name:"punctuation.separator.list.erlang"}},patterns:[{include:"#everything-else"}]},{include:"#everything-else"}]},"internal-function-parts":{patterns:[{begin:"(?=\\()",end:"(->)",endCaptures:{1:{name:"punctuation.separator.clause-head-body.erlang"}},patterns:[{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.parameters.begin.erlang"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.parameters.end.erlang"}},patterns:[{match:",",name:"punctuation.separator.parameters.erlang"},{include:"#everything-else"}]},{match:",|;",name:"punctuation.separator.guards.erlang"},{include:"#everything-else"}]},{match:",",name:"punctuation.separator.expressions.erlang"},{include:"#everything-else"}]},"internal-record-body":{begin:"(\\{)",beginCaptures:{1:{name:"punctuation.definition.class.record.begin.erlang"}},end:"(\\})",endCaptures:{1:{name:"punctuation.definition.class.record.end.erlang"}},name:"meta.structure.record.erlang",patterns:[{begin:"(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_))",beginCaptures:{2:{name:"variable.other.field.erlang"},3:{name:"variable.language.omitted.field.erlang"}},end:"(,)|(?=\\})",endCaptures:{1:{name:"punctuation.separator.class.record.erlang"}},patterns:[{include:"#everything-else"}]},{include:"#everything-else"}]},"internal-type-specifiers":{begin:"(/)",beginCaptures:{1:{name:"punctuation.separator.value-type.erlang"}},end:"(?=,|:|>>)",patterns:[{captures:{1:{name:"storage.type.erlang"},2:{name:"storage.modifier.signedness.erlang"},3:{name:"storage.modifier.endianness.erlang"},4:{name:"storage.modifier.unit.erlang"},5:{name:"punctuation.separator.unit-specifiers.erlang"},6:{name:"constant.numeric.integer.decimal.erlang"},7:{name:"punctuation.separator.type-specifiers.erlang"}},match:"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|(signed|unsigned)|(big|little|native)|(unit)(:)(\\d++)|(-)"}]},keyword:{match:"\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\b",name:"keyword.control.erlang"},"language-constant":{match:"\\b(false|true|undefined)\\b",name:"constant.language"},list:{begin:"(\\[)",beginCaptures:{1:{name:"punctuation.definition.list.begin.erlang"}},end:"(\\])",endCaptures:{1:{name:"punctuation.definition.list.end.erlang"}},name:"meta.structure.list.erlang",patterns:[{match:"\\||\\|\\||,",name:"punctuation.separator.list.erlang"},{include:"#everything-else"}]},"macro-directive":{patterns:[{captures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.ifdef.erlang"},3:{name:"punctuation.definition.parameters.begin.erlang"},4:{name:"entity.name.function.macro.erlang"},5:{name:"punctuation.definition.parameters.end.erlang"},6:{name:"punctuation.section.directive.end.erlang"}},match:"^\\s*+(-)\\s*+(ifdef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)",name:"meta.directive.ifdef.erlang"},{captures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.ifndef.erlang"},3:{name:"punctuation.definition.parameters.begin.erlang"},4:{name:"entity.name.function.macro.erlang"},5:{name:"punctuation.definition.parameters.end.erlang"},6:{name:"punctuation.section.directive.end.erlang"}},match:"^\\s*+(-)\\s*+(ifndef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)",name:"meta.directive.ifndef.erlang"},{captures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.undef.erlang"},3:{name:"punctuation.definition.parameters.begin.erlang"},4:{name:"entity.name.function.macro.erlang"},5:{name:"punctuation.definition.parameters.end.erlang"},6:{name:"punctuation.section.directive.end.erlang"}},match:"^\\s*+(-)\\s*+(undef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)",name:"meta.directive.undef.erlang"}]},"macro-usage":{captures:{1:{name:"keyword.operator.macro.erlang"},2:{name:"entity.name.function.macro.erlang"}},match:"(\\?\\??)\\s*+([a-zA-Z\\d@_]++)",name:"meta.macro-usage.erlang"},"module-directive":{captures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.module.erlang"},3:{name:"punctuation.definition.parameters.begin.erlang"},4:{name:"entity.name.type.class.module.definition.erlang"},5:{name:"punctuation.definition.parameters.end.erlang"},6:{name:"punctuation.section.directive.end.erlang"}},match:"^\\s*+(-)\\s*+(module)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)",name:"meta.directive.module.erlang"},number:{begin:"(?=\\d)",end:"(?!\\d)",patterns:[{captures:{1:{name:"punctuation.separator.integer-float.erlang"},2:{name:"punctuation.separator.float-exponent.erlang"}},match:"\\d++(\\.)\\d++([eE][\\+\\-]?\\d++)?",name:"constant.numeric.float.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"2(#)([0-1]++_)*[0-1]++",name:"constant.numeric.integer.binary.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"3(#)([0-2]++_)*[0-2]++",name:"constant.numeric.integer.base-3.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"4(#)([0-3]++_)*[0-3]++",name:"constant.numeric.integer.base-4.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"5(#)([0-4]++_)*[0-4]++",name:"constant.numeric.integer.base-5.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"6(#)([0-5]++_)*[0-5]++",name:"constant.numeric.integer.base-6.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"7(#)([0-6]++_)*[0-6]++",name:"constant.numeric.integer.base-7.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"8(#)([0-7]++_)*[0-7]++",name:"constant.numeric.integer.octal.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"9(#)([0-8]++_)*[0-8]++",name:"constant.numeric.integer.base-9.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"10(#)(\\d++_)*\\d++",name:"constant.numeric.integer.decimal.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"11(#)([\\daA]++_)*[\\daA]++",name:"constant.numeric.integer.base-11.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"12(#)([\\da-bA-B]++_)*[\\da-bA-B]++",name:"constant.numeric.integer.base-12.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"13(#)([\\da-cA-C]++_)*[\\da-cA-C]++",name:"constant.numeric.integer.base-13.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"14(#)([\\da-dA-D]++_)*[\\da-dA-D]++",name:"constant.numeric.integer.base-14.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"15(#)([\\da-eA-E]++_)*[\\da-eA-E]++",name:"constant.numeric.integer.base-15.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"16(#)([\\da-fA-F]++_)*[\\da-fA-F]++",name:"constant.numeric.integer.hexadecimal.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"17(#)([\\da-gA-G]++_)*[\\da-gA-G]++",name:"constant.numeric.integer.base-17.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"18(#)([\\da-hA-H]++_)*[\\da-hA-H]++",name:"constant.numeric.integer.base-18.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"19(#)([\\da-iA-I]++_)*[\\da-iA-I]++",name:"constant.numeric.integer.base-19.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"20(#)([\\da-jA-J]++_)*[\\da-jA-J]++",name:"constant.numeric.integer.base-20.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"21(#)([\\da-kA-K]++_)*[\\da-kA-K]++",name:"constant.numeric.integer.base-21.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"22(#)([\\da-lA-L]++_)*[\\da-lA-L]++",name:"constant.numeric.integer.base-22.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"23(#)([\\da-mA-M]++_)*[\\da-mA-M]++",name:"constant.numeric.integer.base-23.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"24(#)([\\da-nA-N]++_)*[\\da-nA-N]++",name:"constant.numeric.integer.base-24.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"25(#)([\\da-oA-O]++_)*[\\da-oA-O]++",name:"constant.numeric.integer.base-25.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"26(#)([\\da-pA-P]++_)*[\\da-pA-P]++",name:"constant.numeric.integer.base-26.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"27(#)([\\da-qA-Q]++_)*[\\da-qA-Q]++",name:"constant.numeric.integer.base-27.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"28(#)([\\da-rA-R]++_)*[\\da-rA-R]++",name:"constant.numeric.integer.base-28.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"29(#)([\\da-sA-S]++_)*[\\da-sA-S]++",name:"constant.numeric.integer.base-29.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"30(#)([\\da-tA-T]++_)*[\\da-tA-T]++",name:"constant.numeric.integer.base-30.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"31(#)([\\da-uA-U]++_)*[\\da-uA-U]++",name:"constant.numeric.integer.base-31.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"32(#)([\\da-vA-V]++_)*[\\da-vA-V]++",name:"constant.numeric.integer.base-32.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"33(#)([\\da-wA-W]++_)*[\\da-wA-W]++",name:"constant.numeric.integer.base-33.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"34(#)([\\da-xA-X]++_)*[\\da-xA-X]++",name:"constant.numeric.integer.base-34.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"35(#)([\\da-yA-Y]++_)*[\\da-yA-Y]++",name:"constant.numeric.integer.base-35.erlang"},{captures:{1:{name:"punctuation.separator.base-integer.erlang"}},match:"36(#)([\\da-zA-Z]++_)*[\\da-zA-Z]++",name:"constant.numeric.integer.base-36.erlang"},{match:"\\d++#([\\da-zA-Z]++_)*[\\da-zA-Z]++",name:"invalid.illegal.integer.erlang"},{match:"(\\d++_)*\\d++",name:"constant.numeric.integer.decimal.erlang"}]},"parenthesized-expression":{begin:"(\\()",beginCaptures:{1:{name:"punctuation.section.expression.begin.erlang"}},end:"(\\))",endCaptures:{1:{name:"punctuation.section.expression.end.erlang"}},name:"meta.expression.parenthesized",patterns:[{include:"#everything-else"}]},"record-directive":{begin:"^\\s*+(-)\\s*+(record)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)",beginCaptures:{1:{name:"punctuation.section.directive.begin.erlang"},2:{name:"keyword.control.directive.import.erlang"},3:{name:"punctuation.definition.parameters.begin.erlang"},4:{name:"entity.name.type.class.record.definition.erlang"},5:{name:"punctuation.separator.parameters.erlang"}},end:"(\\))\\s*+(\\.)",endCaptures:{1:{name:"punctuation.definition.parameters.end.erlang"},2:{name:"punctuation.section.directive.end.erlang"}},name:"meta.directive.record.erlang",patterns:[{include:"#internal-record-body"},{include:"#comment"}]},"record-usage":{patterns:[{captures:{1:{name:"keyword.operator.record.erlang"},2:{name:"entity.name.type.class.record.erlang"},3:{name:"punctuation.separator.record-field.erlang"},4:{name:"variable.other.field.erlang"}},match:"(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(\\.)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')",name:"meta.record-usage.erlang"},{begin:"(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')",beginCaptures:{1:{name:"keyword.operator.record.erlang"},2:{name:"entity.name.type.class.record.erlang"}},end:"(?<=\\})",name:"meta.record-usage.erlang",patterns:[{include:"#internal-record-body"}]}]},string:{begin:'(")',beginCaptures:{1:{name:"punctuation.definition.string.begin.erlang"}},end:'(")',endCaptures:{1:{name:"punctuation.definition.string.end.erlang"}},name:"string.quoted.double.erlang",patterns:[{captures:{1:{name:"punctuation.definition.escape.erlang"},3:{name:"punctuation.definition.escape.erlang"}},comment:"escape sequence",match:`(\\\\)([bdefnrstv\\\\'"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2})`,name:"constant.character.escape.erlang"},{match:"\\\\\\^?.?",name:"invalid.illegal.string.erlang"},{captures:{1:{name:"punctuation.definition.placeholder.erlang"},6:{name:"punctuation.separator.placeholder-parts.erlang"},10:{name:"punctuation.separator.placeholder-parts.erlang"}},comment:"io:fwrite format control sequence",match:"(~)((\\-)?\\d++|(\\*))?((\\.)(\\d++|(\\*))?((\\.)((\\*)|.))?)?[tlkK]*[~cfegswpWPBX#bx\\+ni]",name:"constant.character.format.placeholder.other.erlang"},{captures:{1:{name:"punctuation.definition.placeholder.erlang"}},comment:"io:fread format control sequence",match:"(~)(\\*)?(\\d++)?(t)?[~du\\-#fsacl]",name:"constant.character.format.placeholder.other.erlang"},{match:'~[^"]?',name:"invalid.illegal.string.erlang"}]},"symbolic-operator":{match:"\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!|::|\\?=",name:"keyword.operator.symbolic.erlang"},"textual-operator":{match:"\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b",name:"keyword.operator.textual.erlang"},tuple:{begin:"(\\{)",beginCaptures:{1:{name:"punctuation.definition.tuple.begin.erlang"}},end:"(\\})",endCaptures:{1:{name:"punctuation.definition.tuple.end.erlang"}},name:"meta.structure.tuple.erlang",patterns:[{match:",",name:"punctuation.separator.tuple.erlang"},{include:"#everything-else"}]},variable:{captures:{1:{name:"variable.other.erlang"},2:{name:"variable.language.omitted.erlang"}},match:"(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)|(_)"}},scopeName:"source.erlang",aliases:["erl"]});var n=[e];export{n as default};
@@ -1,3 +0,0 @@
1
- import e from"./CGQbO34C.js";import n from"./CbYhyuC0.js";import t from"./DAGYewaG.js";import a from"./CbViG2Xw.js";import i from"./CsYA0RN7.js";import o from"./ClXEvkw9.js";import u from"./DnhXxWz-.js";import r from"./ZQC2c-5V.js";import l from"./DCAtC51B.js";import c from"./Dch3xQiY.js";import m from"./DC8MraHL.js";import s from"./DwuVtWc2.js";import p from"./C5gCGmDW.js";import d from"./j8KhMG0x.js";import b from"./vMsNTMhM.js";import g from"./nclm9rTJ.js";import"./BXfENWL6.js";import"./RCJZWN-0.js";import"./BOnd8D4O.js";import"./DouzTJIq.js";import"./DbK06e1c.js";import"./D4k753MY.js";const x=Object.freeze({displayName:"LaTeX",name:"latex",patterns:[{comment:"This scope identifies partially typed commands such as `\\tab`. We use this to trigger “Command Completion” only when it makes sense.",match:"(?<=\\\\[\\w@]|\\\\[\\w@]{2}|\\\\[\\w@]{3}|\\\\[\\w@]{4}|\\\\[\\w@]{5}|\\\\[\\w@]{6})\\s",name:"meta.space-after-command.latex"},{begin:"((\\\\)(?:usepackage|documentclass))\\b(?=\\[|\\{)",beginCaptures:{1:{name:"keyword.control.preamble.latex"},2:{name:"punctuation.definition.function.latex"}},end:"(?<=\\})",endCaptures:{0:{name:"punctuation.definition.arguments.end.latex"}},name:"meta.preamble.latex",patterns:[{include:"#multiline-optional-arg"},{begin:"((?:\\G|(?<=\\]))\\{)",beginCaptures:{0:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"support.class.latex",end:"(\\})",endCaptures:{0:{name:"punctuation.definition.arguments.end.latex"}},patterns:[{include:"$self"}]}]},{begin:"((\\\\)(?:include|input))(\\{)",beginCaptures:{1:{name:"keyword.control.include.latex"},2:{name:"punctuation.definition.function.latex"},3:{name:"punctuation.definition.arguments.begin.latex"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.arguments.end.latex"}},name:"meta.include.latex",patterns:[{include:"$self"}]},{begin:"((\\\\)((?:sub){0,2}section|(?:sub)?paragraph|chapter|part|addpart|addchap|addsec|minisec|frametitle)(?:\\*)?)((?:\\[[^\\[]*?\\]){0,2})(\\{)",beginCaptures:{1:{name:"support.function.section.latex"},2:{name:"punctuation.definition.function.latex"},4:{patterns:[{include:"#optional-arg"}]},5:{name:"punctuation.definition.arguments.begin.latex"}},comment:"this works OK with all kinds of crazy stuff as long as section is one line",contentName:"entity.name.section.latex",end:"\\}",endCaptures:{0:{name:"punctuation.definition.arguments.end.latex"}},name:"meta.function.section.$3.latex",patterns:[{include:"text.tex#braces"},{include:"$base"}]},{begin:"((?:\\s*)\\\\begin\\{songs\\}\\{.*\\})",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},contentName:"meta.data.environment.songs.latex",end:"(\\\\end\\{songs\\}(?:\\s*\\n)?)",name:"meta.function.environment.songs.latex",patterns:[{begin:"\\\\\\[",end:"\\]",name:"meta.chord.block.latex support.class.chord.block.environment.latex",patterns:[{include:"$base"}]},{match:"\\^",name:"meta.chord.block.latex support.class.chord.block.environment.latex"},{include:"$self"}]},{begin:"(?:^\\s*)?\\\\begin\\{(lstlisting|minted|pyglist)\\}(?=\\[|\\{)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\\\end\\{\\1\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)((?:c|cpp))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.cpp.embedded.latex",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.cpp.embedded.latex"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:asy|asymptote))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.asy",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.asy"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:css))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.css",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.css"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:hs|haskell))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.haskell",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.haskell"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:html))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"text.html",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"text.html.basic"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:xml))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"text.xml",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"text.xml"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:java))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.java",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.java"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:lua))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.lua",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.lua"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:jl|julia))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.julia",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.julia"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:rb|ruby))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.ruby",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.ruby"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:js|javascript))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.js",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.js"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:ts|typescript))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.ts",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.ts"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:py|python))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.python",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.python"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:yaml))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.yaml",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.yaml"}]},{begin:"(?:\\G|(?<=\\]))(\\{)((?:rust))(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"source.rust",end:"^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",patterns:[{include:"source.rust"}]},{begin:"(?:\\G|(?<=\\]))(\\{)([a-zA-Z]*)(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"meta.function.embedded.latex",end:"^\\s*(?=\\\\end\\{(?:lstlisting|minted|pyglist)\\})",name:"meta.embedded.block.generic.latex"}]},{begin:"\\s*\\\\begin\\{(?:cppcode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:cppcode)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.cpp.embedded.latex",end:"^\\s*(?=\\\\end\\{(?:cppcode)\\*?\\})",patterns:[{include:"source.cpp.embedded.latex"}]}]},{begin:"\\s*\\\\begin\\{(?:hscode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:hscode)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.haskell",end:"^\\s*(?=\\\\end\\{(?:hscode)\\*?\\})",patterns:[{include:"source.haskell"}]}]},{begin:"\\s*\\\\begin\\{(?:luacode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:luacode)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.lua",end:"^\\s*(?=\\\\end\\{(?:luacode)\\*?\\})",patterns:[{include:"source.lua"}]}]},{begin:"\\s*\\\\begin\\{(?:jlcode|jlverbatim|jlblock|jlconcode|jlconsole|jlconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:jlcode|jlverbatim|jlblock|jlconcode|jlconsole|jlconverbatim)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.julia",end:"^\\s*(?=\\\\end\\{(?:jlcode|jlverbatim|jlblock|jlconcode|jlconsole|jlconverbatim)\\*?\\})",patterns:[{include:"source.julia"}]}]},{begin:"\\s*\\\\begin\\{(?:juliacode|juliaverbatim|juliablock|juliaconcode|juliaconsole|juliaconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:juliacode|juliaverbatim|juliablock|juliaconcode|juliaconsole|juliaconverbatim)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.julia",end:"^\\s*(?=\\\\end\\{(?:juliacode|juliaverbatim|juliablock|juliaconcode|juliaconsole|juliaconverbatim)\\*?\\})",patterns:[{include:"source.julia"}]}]},{begin:"\\s*\\\\begin\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|python|pythonq|pythonrepl)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|python|pythonq|pythonrepl)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.python",end:"^\\s*(?=\\\\end\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|python|pythonq|pythonrepl)\\*?\\})",patterns:[{include:"source.python"}]}]},{begin:"\\s*\\\\begin\\{(?:pycode|pyverbatim|pyblock|pyconcode|pyconsole|pyconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:pycode|pyverbatim|pyblock|pyconcode|pyconsole|pyconverbatim)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.python",end:"^\\s*(?=\\\\end\\{(?:pycode|pyverbatim|pyblock|pyconcode|pyconsole|pyconverbatim)\\*?\\})",patterns:[{include:"source.python"}]}]},{begin:"\\s*\\\\begin\\{(?:pylabcode|pylabverbatim|pylabblock|pylabconcode|pylabconsole|pylabconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:pylabcode|pylabverbatim|pylabblock|pylabconcode|pylabconsole|pylabconverbatim)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.python",end:"^\\s*(?=\\\\end\\{(?:pylabcode|pylabverbatim|pylabblock|pylabconcode|pylabconsole|pylabconverbatim)\\*?\\})",patterns:[{include:"source.python"}]}]},{begin:"\\s*\\\\begin\\{(?:sympycode|sympyverbatim|sympyblock|sympyconcode|sympyconsole|sympyconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:sympycode|sympyverbatim|sympyblock|sympyconcode|sympyconsole|sympyconverbatim)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.python",end:"^\\s*(?=\\\\end\\{(?:sympycode|sympyverbatim|sympyblock|sympyconcode|sympyconsole|sympyconverbatim)\\*?\\})",patterns:[{include:"source.python"}]}]},{begin:"\\s*\\\\begin\\{(?:scalacode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:scalacode)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.scala",end:"^\\s*(?=\\\\end\\{(?:scalacode)\\*?\\})",patterns:[{include:"source.scala"}]}]},{begin:"\\s*\\\\begin\\{(?:asy|asycode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:asy|asycode)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.asymptote",end:"^\\s*(?=\\\\end\\{(?:asy|asycode)\\*?\\})",patterns:[{include:"source.asymptote"}]}]},{begin:"\\s*\\\\begin\\{(?:dot2tex|dotcode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:dot2tex|dotcode)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.dot",end:"^\\s*(?=\\\\end\\{(?:dot2tex|dotcode)\\*?\\})",patterns:[{include:"source.dot"}]}]},{begin:"\\s*\\\\begin\\{(?:gnuplot)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\s*\\\\end\\{(?:gnuplot)\\*?\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"variable.parameter.function.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}}},{begin:"^(?=\\s*)",contentName:"source.gnuplot",end:"^\\s*(?=\\\\end\\{(?:gnuplot)\\*?\\})",patterns:[{include:"source.gnuplot"}]}]},{begin:"\\s*\\\\begin\\{([a-zA-Z]*code|lstlisting|minted|pyglist)\\*?\\}(?:\\[.*\\])?(?:\\{.*\\})?",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},contentName:"meta.function.embedded.latex",end:"\\\\end\\{\\1\\}(?:\\s*\\n)?",name:"meta.embedded.block.generic.latex"},{begin:"(?:^\\s*)?\\\\begin\\{(terminal\\*?)\\}(?=\\[|\\{)",captures:{0:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"\\\\end\\{\\1\\}",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)([a-zA-Z]*)(\\})",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.end.latex"}},contentName:"meta.function.embedded.latex",end:"^\\s*(?=\\\\end\\{terminal\\*?\\})",name:"meta.embedded.block.generic.latex"}]},{begin:"((\\\\)addplot)(?:\\+?)((?:\\[[^\\[]*\\]))*\\s*(gnuplot)\\s*((?:\\[[^\\[]*\\]))*\\s*(\\{)",captures:{1:{name:"support.function.be.latex"},2:{name:"punctuation.definition.function.latex"},3:{patterns:[{include:"#optional-arg"}]},4:{name:"variable.parameter.function.latex"},5:{patterns:[{include:"#optional-arg"}]},6:{name:"punctuation.definition.arguments.begin.latex"}},end:"\\s*(\\};)",patterns:[{begin:"%",beginCaptures:{0:{name:"punctuation.definition.comment.latex"}},end:"$\\n?",name:"comment.line.percentage.latex"},{include:"source.gnuplot"}]},{begin:"(\\s*\\\\begin\\{((?:fboxv|boxedv|V|v|spv)erbatim\\*?)\\})",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},contentName:"markup.raw.verbatim.latex",end:"(\\\\end\\{\\2\\})",name:"meta.function.verbatim.latex"},{begin:"(\\s*\\\\begin\\{VerbatimOut\\}\\{[^\\}]*\\})",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},contentName:"markup.raw.verbatim.latex",end:"(\\\\end\\{\\VerbatimOut\\})",name:"meta.function.verbatim.latex"},{begin:"(\\s*\\\\begin\\{alltt\\})",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},contentName:"markup.raw.verbatim.latex",end:"(\\\\end\\{alltt\\})",name:"meta.function.alltt.latex",patterns:[{captures:{1:{name:"punctuation.definition.function.latex"}},match:"(\\\\)[A-Za-z]+",name:"support.function.general.latex"}]},{begin:"(\\s*\\\\begin\\{([Cc]omment)\\})",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},contentName:"punctuation.definition.comment.latex",end:"(\\\\end\\{\\2\\})",name:"meta.function.verbatim.latex"},{begin:"(?:\\s*)((\\\\)(?:href|hyperref|hyperimage))(?=\\[|\\{)",beginCaptures:{1:{name:"support.function.url.latex"}},comment:"Captures \\command[option]{url}{optional category}{optional name}{text}",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.arguments.end.latex"}},name:"meta.function.hyperlink.latex",patterns:[{include:"#multiline-optional-arg-no-highlight"},{begin:"(?:\\G|(?<=\\]))(\\{)([^}]*)(\\})(?:\\{[^}]*\\}){2}?(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"markup.underline.link.latex"},3:{name:"punctuation.definition.arguments.end.latex"},4:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"meta.variable.parameter.function.latex",end:"(?=\\})",patterns:[{include:"$base"}]},{begin:"(?:\\G|(?<=\\]))(?:(\\{)[^}]*(\\}))?(\\{)",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.latex"},2:{name:"punctuation.definition.arguments.end.latex"},3:{name:"punctuation.definition.arguments.begin.latex"}},contentName:"meta.variable.parameter.function.latex",end:"(?=\\})",patterns:[{include:"$base"}]}]},{captures:{1:{name:"support.function.url.latex"},2:{name:"punctuation.definition.function.latex"},3:{name:"punctuation.definition.arguments.begin.latex"},5:{name:"punctuation.definition.arguments.end.latex"},"'":{name:"markup.underline.link.latex"}},match:"(?:\\s*)((\\\\)url)(\\{)([^}]*)(\\})",name:"meta.function.link.url.latex"},{captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},comment:"These two patterns match the \\begin{document} and \\end{document} commands, so that the environment matching pattern following them will ignore those commands.",match:"(\\s*\\\\begin\\{document\\})",name:"meta.function.begin-document.latex"},{captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},match:"(\\s*\\\\end\\{document\\})",name:"meta.function.end-document.latex"},{begin:"(?:\\s*)((\\\\)begin)(\\{)((?:\\+?array|equation|(?:IEEE)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|\\+?cases|(?:display)?math|\\+?[a-zA-Z]*matrix|[pbBvV]?NiceMatrix|[pbBvV]?NiceArray|(?:(?:arg)?(?:mini|maxi)))(?:\\*|!)?)(\\})(\\s*\\n)?",captures:{1:{name:"support.function.be.latex"},2:{name:"punctuation.definition.function.latex"},3:{name:"punctuation.definition.arguments.begin.latex"},4:{name:"variable.parameter.function.latex"},5:{name:"punctuation.definition.arguments.end.latex"}},contentName:"meta.math.block.latex support.class.math.block.environment.latex",end:"(?:\\s*)((\\\\)end)(\\{)(\\4)(\\})(?:\\s*\\n)?",name:"meta.function.environment.math.latex",patterns:[{match:"(?<!\\\\)&",name:"keyword.control.equation.align.latex"},{match:"\\\\\\\\",name:"keyword.control.equation.newline.latex"},{include:"#definition-label"},{include:"text.tex#math"},{include:"$base"}]},{begin:"(?:\\s*)(\\\\begin\\{empheq\\}(?:\\[.*\\])?)",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},contentName:"meta.math.block.latex support.class.math.block.environment.latex",end:"(?:\\s*)(\\\\end\\{empheq\\})",name:"meta.function.environment.math.latex",patterns:[{match:"(?<!\\\\)&",name:"keyword.control.equation.align.latex"},{match:"\\\\\\\\",name:"keyword.control.equation.newline.latex"},{include:"#definition-label"},{include:"text.tex#math"},{include:"$base"}]},{begin:"(\\s*\\\\begin\\{(tabular[xy*]?|xltabular|longtable|(?:long)?tabu|(?:long|tall)?tblr|NiceTabular[X*]?|booktabs)\\}(\\s*\\n)?)",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},contentName:"meta.data.environment.tabular.latex",end:"(\\s*\\\\end\\{(\\2)\\}(?:\\s*\\n)?)",name:"meta.function.environment.tabular.latex",patterns:[{match:"(?<!\\\\)&",name:"keyword.control.table.cell.latex"},{match:"\\\\\\\\",name:"keyword.control.table.newline.latex"},{include:"$base"}]},{begin:"(\\s*\\\\begin\\{(itemize|enumerate|description|list)\\})",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"(\\\\end\\{\\2\\}(?:\\s*\\n)?)",name:"meta.function.environment.list.latex",patterns:[{include:"$base"}]},{begin:"(\\s*\\\\begin\\{tikzpicture\\})",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"(\\\\end\\{tikzpicture\\}(?:\\s*\\n)?)",name:"meta.function.environment.latex.tikz",patterns:[{include:"$base"}]},{begin:"(\\s*\\\\begin\\{frame\\})",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"(\\\\end\\{frame\\})",name:"meta.function.environment.frame.latex",patterns:[{include:"$base"}]},{begin:"(\\s*\\\\begin\\{(mpost\\*?)\\})",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"(\\\\end\\{\\2\\}(?:\\s*\\n)?)",name:"meta.function.environment.latex.mpost"},{begin:"(\\s*\\\\begin\\{markdown\\})",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},contentName:"meta.embedded.markdown_latex_combined",end:"(\\\\end\\{markdown\\})",patterns:[{include:"text.tex.markdown_latex_combined"}]},{begin:"(\\s*\\\\begin\\{(\\w+\\*?)\\})",captures:{1:{patterns:[{include:"#begin-env-tokenizer"}]}},end:"(\\\\end\\{\\2\\}(?:\\s*\\n)?)",name:"meta.function.environment.general.latex",patterns:[{include:"$base"}]},{captures:{1:{name:"storage.type.function.latex"},2:{name:"punctuation.definition.function.latex"},3:{name:"punctuation.definition.begin.latex"},4:{name:"support.function.general.latex"},5:{name:"punctuation.definition.function.latex"},6:{name:"punctuation.definition.end.latex"}},match:"((\\\\)(?:newcommand|renewcommand|(?:re)?newrobustcmd|DeclareRobustCommand))\\*?({)((\\\\)[^}]*)(})"},{begin:"((\\\\)marginpar)((?:\\[[^\\[]*?\\])*)(\\{)",beginCaptures:{1:{name:"support.function.marginpar.latex"},2:{name:"punctuation.definition.function.latex"},3:{patterns:[{include:"#optional-arg"}]},4:{name:"punctuation.definition.marginpar.begin.latex"}},contentName:"meta.paragraph.margin.latex",end:"\\}",endCaptures:{0:{name:"punctuation.definition.marginpar.end.latex"}},patterns:[{include:"text.tex#braces"},{include:"$base"}]},{begin:"((\\\\)footnote)((?:\\[[^\\[]*?\\])*)(\\{)",beginCaptures:{1:{name:"support.function.footnote.latex"},2:{name:"punctuation.definition.function.latex"},3:{patterns:[{include:"#optional-arg"}]},4:{name:"punctuation.definition.footnote.begin.latex"}},contentName:"entity.name.footnote.latex",end:"\\}",endCaptures:{0:{name:"punctuation.definition.footnote.end.latex"}},patterns:[{include:"text.tex#braces"},{include:"$base"}]},{begin:"((\\\\)emph)(\\{)",beginCaptures:{1:{name:"support.function.emph.latex"},2:{name:"punctuation.definition.function.latex"},3:{name:"punctuation.definition.emph.begin.latex"}},contentName:"markup.italic.emph.latex",end:"\\}",endCaptures:{0:{name:"punctuation.definition.emph.end.latex"}},name:"meta.function.emph.latex",patterns:[{include:"text.tex#braces"},{include:"$base"}]},{begin:"((\\\\)textit)(\\{)",captures:{1:{name:"support.function.textit.latex"},2:{name:"punctuation.definition.function.latex"},3:{name:"punctuation.definition.textit.begin.latex"}},comment:`We put the keyword in a capture and name this capture, so that disabling spell checking for “keyword” won't be inherited by the argument to \\textit{...}.
2
-
3
- Put specific matches for particular LaTeX keyword.functions before the last two more general functions`,contentName:"markup.italic.textit.latex",end:"\\}",endCaptures:{0:{name:"punctuation.definition.textit.end.latex"}},name:"meta.function.textit.latex",patterns:[{include:"text.tex#braces"},{include:"$base"}]},{begin:"((\\\\)textbf)(\\{)",captures:{1:{name:"support.function.textbf.latex"},2:{name:"punctuation.definition.function.latex"},3:{name:"punctuation.definition.textbf.begin.latex"}},contentName:"markup.bold.textbf.latex",end:"\\}",endCaptures:{0:{name:"punctuation.definition.textbf.end.latex"}},name:"meta.function.textbf.latex",patterns:[{include:"text.tex#braces"},{include:"$base"}]},{begin:"((\\\\)texttt)(\\{)",captures:{1:{name:"support.function.texttt.latex"},2:{name:"punctuation.definition.function.latex"},3:{name:"punctuation.definition.texttt.begin.latex"}},contentName:"markup.raw.texttt.latex",end:"\\}",endCaptures:{0:{name:"punctuation.definition.texttt.end.latex"}},name:"meta.function.texttt.latex",patterns:[{include:"text.tex#braces"},{include:"$base"}]},{captures:{0:{name:"keyword.other.item.latex"},1:{name:"punctuation.definition.keyword.latex"}},match:"(\\\\)item\\b",name:"meta.scope.item.latex"},{begin:"((\\\\)(?:[aA]uto|foot|full|no|ref|short|[tT]ext|[pP]aren|[sS]mart)?[cC]ite(?:al)?(?:p|s|t|author|year(?:par)?|title)?[ANP]*\\*?)((?:(?:\\([^\\)]*\\)){0,2}(?:\\[[^\\]]*\\]){0,2}\\{[\\p{Alphabetic}:.]*\\})*)(?:([<\\[])[^\\]<>]*([>\\]]))?(?:(\\[)[^\\]]*(\\]))?(\\{)",captures:{1:{name:"keyword.control.cite.latex"},2:{name:"punctuation.definition.keyword.latex"},3:{patterns:[{include:"#autocites-arg"}]},4:{name:"punctuation.definition.arguments.optional.begin.latex"},5:{name:"punctuation.definition.arguments.optional.end.latex"},6:{name:"punctuation.definition.arguments.optional.begin.latex"},7:{name:"punctuation.definition.arguments.optional.end.latex"},8:{name:"punctuation.definition.arguments.begin.latex"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.arguments.end.latex"}},name:"meta.citation.latex",patterns:[{captures:{1:{name:"comment.line.percentage.tex"},2:{name:"punctuation.definition.comment.tex"}},match:"((%).*)$"},{match:"[\\p{Alphabetic}\\p{Number}:.-]+",name:"constant.other.reference.citation.latex"}]},{begin:"((\\\\)bibentry)(\\{)",captures:{1:{name:"keyword.control.cite.latex"},2:{name:"punctuation.definition.keyword.latex"},3:{name:"punctuation.definition.arguments.begin.latex"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.arguments.end.latex"}},name:"meta.citation.latex",patterns:[{match:"[\\p{Alphabetic}\\p{Number}:.]+",name:"constant.other.reference.citation.latex"}]},{begin:"((\\\\)(?:\\w*[rR]ef\\*?))(\\{)",beginCaptures:{1:{name:"keyword.control.ref.latex"},2:{name:"punctuation.definition.keyword.latex"},3:{name:"punctuation.definition.arguments.begin.latex"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.arguments.end.latex"}},name:"meta.reference.label.latex",patterns:[{match:"[\\p{Alphabetic}\\p{Number}\\.,:/*!^_-]",name:"constant.other.reference.label.latex"}]},{include:"#definition-label"},{begin:"((\\\\)(?:verb|Verb|spverb)\\*?)\\s*((\\\\)scantokens)(\\{)",beginCaptures:{1:{name:"support.function.verb.latex"},2:{name:"punctuation.definition.function.latex"},3:{name:"support.function.verb.latex"},4:{name:"punctuation.definition.verb.latex"},5:{name:"punctuation.definition.begin.latex"}},contentName:"markup.raw.verb.latex",end:"(\\})",endCaptures:{1:{name:"punctuation.definition.end.latex"}},name:"meta.function.verb.latex",patterns:[{include:"$self"}]},{captures:{1:{name:"support.function.verb.latex"},2:{name:"punctuation.definition.function.latex"},3:{name:"punctuation.definition.verb.latex"},4:{name:"markup.raw.verb.latex"},5:{name:"punctuation.definition.verb.latex"}},match:"((\\\\)(?:verb|Verb|spverb)\\*?)\\s*((?<=\\s)\\S|[^a-zA-Z])(.*?)(\\3|$)",name:"meta.function.verb.latex"},{captures:{1:{name:"support.function.verb.latex"},2:{name:"punctuation.definition.function.latex"},3:{patterns:[{include:"#optional-arg"}]},4:{name:"punctuation.definition.arguments.begin.latex"},5:{name:"punctuation.definition.arguments.end.latex"},6:{name:"punctuation.definition.verb.latex"},7:{name:"markup.raw.verb.latex"},8:{name:"punctuation.definition.verb.latex"},9:{name:"punctuation.definition.verb.latex"},10:{name:"markup.raw.verb.latex"},11:{name:"punctuation.definition.verb.latex"}},match:"((\\\\)(?:mint|mintinline))((?:\\[[^\\[]*?\\])?)(\\{)[a-zA-Z]*(\\})(?:(?:([^a-zA-Z\\{])(.*?)(\\6))|(?:(\\{)(.*?)(\\})))",name:"meta.function.verb.latex"},{captures:{1:{name:"support.function.verb.latex"},2:{name:"punctuation.definition.function.latex"},3:{patterns:[{include:"#optional-arg"}]},4:{name:"punctuation.definition.verb.latex"},5:{name:"markup.raw.verb.latex"},6:{name:"punctuation.definition.verb.latex"},7:{name:"punctuation.definition.verb.latex"},8:{name:"markup.raw.verb.latex"},9:{name:"punctuation.definition.verb.latex"}},match:"((\\\\)[a-z]+inline)((?:\\[[^\\[]*?\\])?)(?:(?:([^a-zA-Z\\{])(.*?)(\\4))|(?:(\\{)(.*?)(\\})))",name:"meta.function.verb.latex"},{captures:{1:{name:"support.function.verb.latex"},2:{name:"punctuation.definition.function.latex"},3:{patterns:[{include:"#optional-arg"}]},4:{name:"punctuation.definition.verb.latex"},5:{name:"source.python",patterns:[{include:"source.python"}]},6:{name:"punctuation.definition.verb.latex"},7:{name:"punctuation.definition.verb.latex"},8:{name:"source.python",patterns:[{include:"source.python"}]},9:{name:"punctuation.definition.verb.latex"}},match:"((\\\\)(?:(?:py|pycon|pylab|pylabcon|sympy|sympycon)[cv]?|pyq|pycq|pyif))((?:\\[[^\\[]*?\\])?)(?:(?:([^a-zA-Z\\{])(.*?)(\\4))|(?:(\\{)(.*?)(\\})))",name:"meta.function.verb.latex"},{captures:{1:{name:"support.function.verb.latex"},2:{name:"punctuation.definition.function.latex"},3:{patterns:[{include:"#optional-arg"}]},4:{name:"punctuation.definition.verb.latex"},5:{name:"source.julia",patterns:[{include:"source.julia"}]},6:{name:"punctuation.definition.verb.latex"},7:{name:"punctuation.definition.verb.latex"},8:{name:"source.julia",patterns:[{include:"source.julia"}]},9:{name:"punctuation.definition.verb.latex"}},match:"((\\\\)(?:jl|julia)[cv]?)((?:\\[[^\\[]*?\\])?)(?:(?:([^a-zA-Z\\{])(.*?)(\\4))|(?:(\\{)(.*?)(\\})))",name:"meta.function.verb.latex"},{match:"\\\\(?:newline|pagebreak|clearpage|linebreak|pause)(?:\\b)",name:"keyword.control.layout.latex"},{begin:"\\\\\\(",beginCaptures:{0:{name:"punctuation.definition.string.begin.latex"}},end:"\\\\\\)",endCaptures:{0:{name:"punctuation.definition.string.end.latex"}},name:"meta.math.block.latex support.class.math.block.environment.latex",patterns:[{include:"text.tex#math"},{include:"$base"}]},{begin:"\\$\\$",beginCaptures:{0:{name:"punctuation.definition.string.begin.latex"}},end:"\\$\\$",endCaptures:{0:{name:"punctuation.definition.string.end.latex"}},name:"meta.math.block.latex support.class.math.block.environment.latex",patterns:[{match:"\\\\\\$",name:"constant.character.escape.latex"},{include:"text.tex#math"},{include:"$base"}]},{begin:"\\$",beginCaptures:{0:{name:"punctuation.definition.string.begin.tex"}},end:"\\$",endCaptures:{0:{name:"punctuation.definition.string.end.tex"}},name:"meta.math.block.tex support.class.math.block.tex",patterns:[{match:"\\\\\\$",name:"constant.character.escape.latex"},{include:"text.tex#math"},{include:"$base"}]},{begin:"\\\\\\[",beginCaptures:{0:{name:"punctuation.definition.string.begin.latex"}},end:"\\\\\\]",endCaptures:{0:{name:"punctuation.definition.string.end.latex"}},name:"meta.math.block.latex support.class.math.block.environment.latex",patterns:[{include:"text.tex#math"},{include:"$base"}]},{captures:{1:{name:"punctuation.definition.constant.latex"}},match:"(\\\\)(text(s(terling|ixoldstyle|urd|e(ction|venoldstyle|rvicemark))|yen|n(ineoldstyle|umero|aira)|c(ircledP|o(py(left|right)|lonmonetary)|urrency|e(nt(oldstyle)?|lsius))|t(hree(superior|oldstyle|quarters(emdash)?)|i(ldelow|mes)|w(o(superior|oldstyle)|elveudash)|rademark)|interrobang(down)?|zerooldstyle|o(hm|ne(superior|half|oldstyle|quarter)|penbullet|rd(feminine|masculine))|d(i(scount|ed|v(orced)?)|o(ng|wnarrow|llar(oldstyle)?)|egree|agger(dbl)?|blhyphen(char)?)|uparrow|p(ilcrow|e(so|r(t(housand|enthousand)|iodcentered))|aragraph|m)|e(stimated|ightoldstyle|uro)|quotes(traight(dblbase|base)|ingle)|f(iveoldstyle|ouroldstyle|lorin|ractionsolidus)|won|l(not|ira|e(ftarrow|af)|quill|angle|brackdbl)|a(s(cii(caron|dieresis|acute|grave|macron|breve)|teriskcentered)|cutedbl)|r(ightarrow|e(cipe|ferencemark|gistered)|quill|angle|brackdbl)|g(uarani|ravedbl)|m(ho|inus|u(sicalnote)?|arried)|b(igcircle|orn|ullet|lank|a(ht|rdbl)|rokenbar)))\\b",name:"constant.character.latex"},{captures:{1:{name:"punctuation.definition.column-specials.begin.latex"},2:{name:"punctuation.definition.column-specials.end.latex"}},match:"(?:<|>)(\\{)\\$(\\})",name:"meta.column-specials.latex"},{include:"text.tex"}],repository:{"autocites-arg":{patterns:[{captures:{1:{name:"punctuation.definition.arguments.optional.begin.latex"},2:{name:"punctuation.definition.arguments.optional.end.latex"},3:{name:"punctuation.definition.arguments.optional.begin.latex"},4:{name:"punctuation.definition.arguments.optional.end.latex"},5:{name:"punctuation.definition.arguments.begin.latex"},6:{name:"constant.other.reference.citation.latex"},7:{name:"punctuation.definition.arguments.end.latex"},8:{patterns:[{include:"#autocites-arg"}]}},match:"(?:(\\()[^\\)]*(\\))){0,2}(?:(\\[)[^\\]]*(\\])){0,2}(\\{)([\\p{Alphabetic}\\p{Number}:.]+)(\\})(.*)"}]},"begin-env-tokenizer":{captures:{1:{name:"support.function.be.latex"},2:{name:"punctuation.definition.function.latex"},3:{name:"punctuation.definition.arguments.begin.latex"},4:{name:"variable.parameter.function.latex"},5:{name:"punctuation.definition.arguments.end.latex"},6:{name:"punctuation.definition.arguments.optional.begin.latex"},7:{patterns:[{include:"$base"}]},8:{name:"punctuation.definition.arguments.optional.end.latex"},9:{name:"punctuation.definition.arguments.begin.latex"},10:{name:"variable.parameter.function.latex"},11:{name:"punctuation.definition.arguments.end.latex"}},match:"\\s*((\\\\)(?:begin|end))(\\{)([a-zA-Z]*\\*?)(\\})(?:(\\[)(.*)(\\]))?(?:(\\{)([^{}]*)(\\}))?"},"definition-label":{begin:"((\\\\)label)((?:\\[[^\\[]*?\\])*)(\\{)",beginCaptures:{1:{name:"keyword.control.label.latex"},2:{name:"punctuation.definition.keyword.latex"},3:{patterns:[{include:"#optional-arg"}]},4:{name:"punctuation.definition.arguments.begin.latex"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.arguments.end.latex"}},name:"meta.definition.label.latex",patterns:[{match:"[\\p{Alphabetic}\\p{Number}\\.,:/*!^_-]",name:"variable.parameter.definition.label.latex"}]},"multiline-optional-arg":{begin:"\\G\\[",beginCaptures:{0:{name:"punctuation.definition.arguments.optional.begin.latex"}},contentName:"variable.parameter.function.latex",end:"\\]",endCaptures:{0:{name:"punctuation.definition.arguments.optional.end.latex"}},name:"meta.parameter.optional.latex",patterns:[{include:"$self"}]},"multiline-optional-arg-no-highlight":{begin:"\\G\\[",beginCaptures:{0:{name:"punctuation.definition.arguments.optional.begin.latex"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.arguments.optional.end.latex"}},name:"meta.parameter.optional.latex",patterns:[{include:"$self"}]},"optional-arg":{patterns:[{captures:{1:{name:"punctuation.definition.arguments.optional.begin.latex"},2:{name:"variable.parameter.function.latex"},3:{name:"punctuation.definition.arguments.optional.end.latex"}},match:"(\\[)([^\\[]*?)(\\])",name:"meta.parameter.optional.latex"}]}},scopeName:"text.tex.latex",embeddedLangs:["tex","css","haskell","html","xml","java","lua","julia","ruby","javascript","typescript","python","yaml","rust","scala","gnuplot"]});var L=[...e,...n,...t,...a,...i,...o,...u,...r,...l,...c,...m,...s,...p,...d,...b,...g,x];export{L as default};