@nuxt/scripts 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/client/200.html +58 -49
  2. package/dist/client/404.html +58 -49
  3. package/dist/client/_nuxt/8T3kBMJO.js +31 -0
  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/BAMIS8DD.js +1 -0
  8. package/dist/client/_nuxt/{DaCkt_J7.js → BGq4KZyx.js} +1 -1
  9. package/dist/client/_nuxt/BVGdgKAv.js +1 -0
  10. package/dist/client/_nuxt/{wORFcijT.js → BXR915QZ.js} +1 -1
  11. package/dist/client/_nuxt/{DCj4DH6i.js → BYdKNJ10.js} +1 -1
  12. package/dist/client/_nuxt/BZfs-ost.js +1 -0
  13. package/dist/client/_nuxt/{DCdPDLy4.js → BacI6-DX.js} +1 -1
  14. package/dist/client/_nuxt/{DCk2z-Tu.js → BdfWgkoX.js} +1 -1
  15. package/dist/client/_nuxt/BscxmKrE.js +8 -0
  16. package/dist/client/_nuxt/C3qJFuQy.js +3 -0
  17. package/dist/client/_nuxt/C6XIsc4F.js +1 -0
  18. package/dist/client/_nuxt/C9UBdavN.js +1 -0
  19. package/dist/client/_nuxt/CA9nliXM.js +1 -0
  20. package/dist/client/_nuxt/{3Yx8WcR-.js → CDJL3WWm.js} +1 -1
  21. package/dist/client/_nuxt/{BsfQk1vf.js → CEfge3mM.js} +1 -1
  22. package/dist/client/_nuxt/{CQTpvb7m.js → CHCTrc3a.js} +1 -1
  23. package/dist/client/_nuxt/{DZ3fVoEH.js → CSPeAESR.js} +1 -1
  24. package/dist/client/_nuxt/CX2EUjC8.js +301 -0
  25. package/dist/client/_nuxt/{DCAtC51B.js → CarfVElc.js} +1 -1
  26. package/dist/client/_nuxt/{BgBwMnrY.js → CcYwH0AH.js} +1 -1
  27. package/dist/client/_nuxt/Cgl53LJQ.js +1 -0
  28. package/dist/client/_nuxt/{RgJsN3zu.js → ChMCFiS0.js} +1 -1
  29. package/dist/client/_nuxt/{D6KmUh4-.js → CovTDKFE.js} +1 -1
  30. package/dist/client/_nuxt/{DfUNg_8t.js → CqYeW6XZ.js} +1 -1
  31. package/dist/client/_nuxt/{CL7Ixq1B.js → CrgTADc5.js} +1 -1
  32. package/dist/client/_nuxt/CuJfdYLG.js +1 -0
  33. package/dist/client/_nuxt/D71BffLY.js +1 -0
  34. package/dist/client/_nuxt/{Bd7iooY8.js → DGDuLtS6.js} +1 -1
  35. package/dist/client/_nuxt/{j8KhMG0x.js → DGxQkqYo.js} +1 -1
  36. package/dist/client/_nuxt/{DX0ZGhB-.js → DIt5FBMJ.js} +1 -1
  37. package/dist/client/_nuxt/{DG73IEBO.js → DOakR0z3.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/ccc94de9-89fa-400b-88f2-8fc2599e191f.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/{doGI2cFk.js → wKgfcFVx.js} +1 -1
  62. package/dist/client/index.html +58 -49
  63. package/dist/module.json +1 -1
  64. package/dist/module.mjs +7 -220
  65. package/dist/registry.d.mts +13 -0
  66. package/dist/registry.d.ts +13 -0
  67. package/dist/registry.mjs +214 -0
  68. package/dist/runtime/composables/createConsentScriptTrigger.d.ts +6 -0
  69. package/dist/runtime/composables/{createScriptConsentTrigger.mjs → createConsentScriptTrigger.mjs} +1 -1
  70. package/dist/runtime/composables/useAnalyticsPageEvent.d.ts +4 -1
  71. package/dist/runtime/composables/useElementScriptTrigger.mjs +1 -1
  72. package/dist/runtime/composables/useScript.d.ts +1 -1
  73. package/dist/runtime/composables/useScript.mjs +1 -1
  74. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +3 -1
  75. package/dist/runtime/registry/facebook-pixel.d.ts +3 -1
  76. package/dist/runtime/registry/fathom-analytics.d.ts +18 -1
  77. package/dist/runtime/registry/fathom-analytics.mjs +16 -2
  78. package/dist/runtime/registry/google-analytics.d.ts +3 -1
  79. package/dist/runtime/registry/google-maps.d.ts +3 -1
  80. package/dist/runtime/registry/google-tag-manager.d.ts +3 -1
  81. package/dist/runtime/registry/hotjar.d.ts +3 -1
  82. package/dist/runtime/registry/intercom.d.ts +3 -1
  83. package/dist/runtime/registry/lemon-squeezy.d.ts +3 -1
  84. package/dist/runtime/registry/matomo-analytics.d.ts +3 -1
  85. package/dist/runtime/registry/npm.d.ts +3 -1
  86. package/dist/runtime/registry/npm.mjs +3 -3
  87. package/dist/runtime/registry/plausible-analytics.d.ts +3 -1
  88. package/dist/runtime/registry/segment.d.ts +3 -1
  89. package/dist/runtime/registry/stripe.d.ts +3 -1
  90. package/dist/runtime/registry/vimeo-player.d.ts +3 -1
  91. package/dist/runtime/registry/x-pixel.d.ts +3 -1
  92. package/dist/runtime/registry/youtube-iframe.d.ts +3 -1
  93. package/dist/runtime/types.d.ts +8 -10
  94. package/dist/runtime/utils.d.ts +6 -2
  95. package/dist/runtime/utils.mjs +1 -1
  96. package/package.json +16 -12
  97. package/dist/client/_nuxt/-hLHpAOl.js +0 -1
  98. package/dist/client/_nuxt/BIMuYTWL.js +0 -3
  99. package/dist/client/_nuxt/BLO8rZtj.js +0 -31
  100. package/dist/client/_nuxt/BSyl5yf0.js +0 -1
  101. package/dist/client/_nuxt/BswfO-CF.js +0 -1
  102. package/dist/client/_nuxt/CGQbO34C.js +0 -1
  103. package/dist/client/_nuxt/D4LhxNOI.js +0 -1
  104. package/dist/client/_nuxt/D4k753MY.js +0 -1
  105. package/dist/client/_nuxt/DnhXxWz-.js +0 -1
  106. package/dist/client/_nuxt/DzPyIVdT.js +0 -9
  107. package/dist/client/_nuxt/TQ9oWRfF.js +0 -1
  108. package/dist/client/_nuxt/WoBtJUue.js +0 -1
  109. package/dist/client/_nuxt/bmJ2objS.js +0 -1
  110. package/dist/client/_nuxt/builds/meta/69e9f83a-05c7-439f-bf82-0c2d6d83b961.json +0 -1
  111. package/dist/runtime/composables/createScriptConsentTrigger.d.ts +0 -6
  112. package/dist/runtime/registry/confetti.d.ts +0 -23
  113. package/dist/runtime/registry/confetti.mjs +0 -18
@@ -9,14 +9,13 @@ import type { FacebookPixelInput } from './registry/facebook-pixel';
9
9
  import type { FathomAnalyticsInput } from './registry/fathom-analytics';
10
10
  import type { HotjarInput } from './registry/hotjar';
11
11
  import type { IntercomInput } from './registry/intercom';
12
- import type { ConfettiInput } from './registry/confetti';
13
- import type { GoogleAnalyticsInput } from '~/src/runtime/registry/google-analytics';
14
- import type { GoogleMapsInput } from '~/src/runtime/registry/google-maps';
15
- import type { GoogleTagManagerInput } from '~/src/runtime/registry/google-tag-manager';
16
- import type { MatomoAnalyticsInput } from '~/src/runtime/registry/matomo-analytics';
17
- import type { StripeInput } from '~/src/runtime/registry/stripe';
18
- import type { VimeoInput } from '~/src/runtime/registry/vimeo';
19
- import type { XPixelInput } from '~/src/runtime/registry/x-pixel';
12
+ import type { GoogleAnalyticsInput } from './registry/google-analytics';
13
+ import type { GoogleMapsInput } from './registry/google-maps';
14
+ import type { GoogleTagManagerInput } from './registry/google-tag-manager';
15
+ import type { MatomoAnalyticsInput } from './registry/matomo-analytics';
16
+ import type { StripeInput } from './registry/stripe';
17
+ import type { VimeoPlayerInput } from './registry/vimeo-player';
18
+ import type { XPixelInput } from './registry/x-pixel';
20
19
  export type NuxtUseScriptOptions<T = any> = Omit<UseScriptOptions<T>, 'trigger'> & {
21
20
  /**
22
21
  * The trigger to load the script:
@@ -68,7 +67,6 @@ export interface NuxtAppScript {
68
67
  export type ScriptRegistryEntry<T> = true | T | [T, NuxtUseScriptOptions<T>];
69
68
  export interface ScriptRegistry {
70
69
  cloudflareWebAnalytics?: ScriptRegistryEntry<CloudflareWebAnalyticsInput>;
71
- confetti?: ScriptRegistryEntry<ConfettiInput>;
72
70
  facebookPixel?: ScriptRegistryEntry<FacebookPixelInput>;
73
71
  fathomAnalytics?: ScriptRegistryEntry<FathomAnalyticsInput>;
74
72
  googleAnalytics?: ScriptRegistryEntry<GoogleAnalyticsInput>;
@@ -79,7 +77,7 @@ export interface ScriptRegistry {
79
77
  matomoAnalytics?: ScriptRegistryEntry<MatomoAnalyticsInput>;
80
78
  segment?: ScriptRegistryEntry<SegmentInput>;
81
79
  stripe?: ScriptRegistryEntry<StripeInput>;
82
- vimeo?: ScriptRegistryEntry<VimeoInput>;
80
+ vimeo?: ScriptRegistryEntry<VimeoPlayerInput>;
83
81
  xPixel?: ScriptRegistryEntry<XPixelInput>;
84
82
  }
85
83
  export type RegistryScriptInput<T extends ObjectSchema<any>, Bundelable extends boolean = true> = Input<T> & {
@@ -1,12 +1,16 @@
1
1
  import type { Input, ObjectSchema } from 'valibot';
2
2
  import type { UseScriptInput } from '@unhead/vue';
3
3
  import type { NuxtUseScriptOptions, RegistryScriptInput } from '#nuxt-scripts';
4
- export declare function mockFallbackScript(name: string, module: string): any;
4
+ export declare function mockFallbackScript(name: string, module: string): Record<string | symbol, any> & {
5
+ $script: import("@unhead/vue").VueScriptInstance<Record<string | symbol, any>> & Promise<Record<string | symbol, any>>;
6
+ };
5
7
  type OptionsFn<O extends ObjectSchema<any>> = (options: Input<O>) => ({
6
8
  scriptInput?: UseScriptInput;
7
9
  scriptOptions?: NuxtUseScriptOptions;
8
10
  schema?: O;
9
11
  clientInit?: () => void;
10
12
  });
11
- export declare function registryScript<T extends Record<string | symbol, any>, O extends ObjectSchema<any>>(key: string, optionsFn: OptionsFn<O>, _userOptions?: RegistryScriptInput<O>): any;
13
+ export declare function registryScript<T extends Record<string | symbol, any>, O extends ObjectSchema<any>>(key: string, optionsFn: OptionsFn<O>, _userOptions?: RegistryScriptInput<O>): T & {
14
+ $script: import("@unhead/vue").VueScriptInstance<T> & Promise<T>;
15
+ };
12
16
  export {};
@@ -22,7 +22,7 @@ export function registryScript(key, optionsFn, _userOptions) {
22
22
  const runtimeOptions = runtimeConfig[key];
23
23
  const userOptions = Object.assign(_userOptions || {}, runtimeOptions || {});
24
24
  const options = optionsFn(userOptions);
25
- const scriptInput = defu({ key }, options.scriptInput);
25
+ const scriptInput = defu(options.scriptInput, { key });
26
26
  const scriptOptions = Object.assign(_userOptions?.scriptOptions || {}, options.scriptOptions || {});
27
27
  const init = scriptOptions.beforeInit;
28
28
  scriptOptions.beforeInit = () => {
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.0",
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};