@nuxtjs/sitemap 7.2.3 → 7.2.5

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 (232) hide show
  1. package/dist/client/200.html +128 -128
  2. package/dist/client/404.html +128 -128
  3. package/dist/client/_nuxt/-71hrkjd.js +1 -0
  4. package/dist/client/_nuxt/0BrjI7ue.js +1 -0
  5. package/dist/client/_nuxt/{C-nORZOA.js → 2V0Ap-uE.js} +1 -1
  6. package/dist/client/_nuxt/8jXJkYXT.js +1 -0
  7. package/dist/client/_nuxt/{C3ExS8zO.js → AObogYnP.js} +1 -1
  8. package/dist/client/_nuxt/B-_AxZdj.js +1 -0
  9. package/dist/client/_nuxt/{wI6OXr6j.js → B6U2uXNT.js} +1 -1
  10. package/dist/client/_nuxt/BAxNRJcx.js +1 -0
  11. package/dist/client/_nuxt/{COK4E0Yg.js → BBT0u3iQ.js} +1 -1
  12. package/dist/client/_nuxt/BCMa2Tx6.js +1 -0
  13. package/dist/client/_nuxt/BDiHrqA7.js +1 -0
  14. package/dist/client/_nuxt/BHyGnp0Z.js +1 -0
  15. package/dist/client/_nuxt/BLCLeV30.js +1 -0
  16. package/dist/client/_nuxt/BLmoVg8f.js +1 -0
  17. package/dist/client/_nuxt/BR4n0CG2.js +1 -0
  18. package/dist/client/_nuxt/{Deuh7S70.js → BWx0ALLs.js} +1 -1
  19. package/dist/client/_nuxt/BXl-Qilg.js +1 -0
  20. package/dist/client/_nuxt/BZ4qjH1z.js +1 -0
  21. package/dist/client/_nuxt/B_7mSSNY.js +1 -0
  22. package/dist/client/_nuxt/{BlxRB_8X.js → Ba6QCfRf.js} +1 -1
  23. package/dist/client/_nuxt/{BQwtg7Y-.js → Bbt-fWo2.js} +1 -1
  24. package/dist/client/_nuxt/{COcR7UxN.js → BcOcwvcX.js} +1 -1
  25. package/dist/client/_nuxt/{e4jU7D2d.js → BceOnUsB.js} +1 -1
  26. package/dist/client/_nuxt/BekpkmYp.js +1 -0
  27. package/dist/client/_nuxt/{DDtJtuOZ.js → Bi2Xjx-o.js} +1 -1
  28. package/dist/client/_nuxt/{BE9QQhgF.js → BixDBq5F.js} +1 -1
  29. package/dist/client/_nuxt/Bjjh7dxw.js +1 -0
  30. package/dist/client/_nuxt/BkR1g5rb.js +1 -0
  31. package/dist/client/_nuxt/Blx2zv3z.js +1 -0
  32. package/dist/client/_nuxt/{B-k3dvlD.js → BnLMxUhr.js} +1 -1
  33. package/dist/client/_nuxt/{D8mZ0lfy.js → BnZ6J9ez.js} +1 -1
  34. package/dist/client/_nuxt/Bw1r3vCz.js +1 -0
  35. package/dist/client/_nuxt/BxugDVxS.js +1 -0
  36. package/dist/client/_nuxt/BzEH12SI.js +1 -0
  37. package/dist/client/_nuxt/C1YtDkjL.js +1 -0
  38. package/dist/client/_nuxt/C3TFZlTA.js +1 -0
  39. package/dist/client/_nuxt/C4-SGcC-.js +1 -0
  40. package/dist/client/_nuxt/C5AohmeQ.js +1 -0
  41. package/dist/client/_nuxt/{3kbuJQcV.js → C8E1IXHE.js} +1 -1
  42. package/dist/client/_nuxt/C9e09xm7.js +1 -0
  43. package/dist/client/_nuxt/{CZe0XNBd.js → CCQEdssC.js} +1 -1
  44. package/dist/client/_nuxt/CCbUEAxs.js +1 -0
  45. package/dist/client/_nuxt/CHVitPdg.js +1 -0
  46. package/dist/client/_nuxt/CLEBXJYW.js +1 -0
  47. package/dist/client/_nuxt/{Cza_XSSt.js → COl1u60l.js} +1 -1
  48. package/dist/client/_nuxt/CQ5q8R2W.js +1 -0
  49. package/dist/client/_nuxt/CQPZbkWf.js +1 -0
  50. package/dist/client/_nuxt/CR_dl2Bk.js +1 -0
  51. package/dist/client/_nuxt/{BLhTXw86.js → CSHvh9SD.js} +1 -1
  52. package/dist/client/_nuxt/CV3OApzZ.js +32 -0
  53. package/dist/client/_nuxt/{atvbtKCR.js → CWGUrYGm.js} +1 -1
  54. package/dist/client/_nuxt/CWgbWrzg.js +1 -0
  55. package/dist/client/_nuxt/CX-D33aM.js +1 -0
  56. package/dist/client/_nuxt/CXkZqcqC.js +1 -0
  57. package/dist/client/_nuxt/Cbu_jgUK.js +1 -0
  58. package/dist/client/_nuxt/CeaQPKDP.js +1 -0
  59. package/dist/client/_nuxt/Cg69lM4A.js +1 -0
  60. package/dist/client/_nuxt/{BNHBcdi1.js → CiNAsHKU.js} +1 -1
  61. package/dist/client/_nuxt/CjTSRSzG.js +1 -0
  62. package/dist/client/_nuxt/Cksrkzhi.js +1 -0
  63. package/dist/client/_nuxt/Cl11rDh_.js +1 -0
  64. package/dist/client/_nuxt/{DRNBmV_Q.js → ClJifeiK.js} +1 -1
  65. package/dist/client/_nuxt/{DRhBOlRY.js → CsiB4_CF.js} +1 -1
  66. package/dist/client/_nuxt/CucaAMjX.js +1 -0
  67. package/dist/client/_nuxt/{CSp6iqVD.js → CyZx4btO.js} +1 -1
  68. package/dist/client/_nuxt/D08_rs9c.js +1 -0
  69. package/dist/client/_nuxt/{BVr_1_27.js → D33VVPhb.js} +1 -1
  70. package/dist/client/_nuxt/D3T736Ml.js +1 -0
  71. package/dist/client/_nuxt/D8P4R8x9.js +1 -0
  72. package/dist/client/_nuxt/DBPt_AfP.js +1 -0
  73. package/dist/client/_nuxt/{sacFqUAJ.js → DBtIRQT_.js} +1 -1
  74. package/dist/client/_nuxt/{CYgUR4L5.js → DDhM2Lry.js} +1 -1
  75. package/dist/client/_nuxt/{UL5zprDm.js → DEEqWFGm.js} +1 -1
  76. package/dist/client/_nuxt/{BgYniUM_.js → DERFIACx.js} +1 -1
  77. package/dist/client/_nuxt/{BVz_zdnA.js → DFAwn6Qs.js} +1 -1
  78. package/dist/client/_nuxt/DFERiEu9.js +1 -0
  79. package/dist/client/_nuxt/{din0uRiO.js → DLdrzW0n.js} +1 -1
  80. package/dist/client/_nuxt/{C-wny61x.js → DNTbO5Kf.js} +1 -1
  81. package/dist/client/_nuxt/{DQVVAn-B.js → DPWDxuKt.js} +1 -1
  82. package/dist/client/_nuxt/DSrUkfvF.js +1 -0
  83. package/dist/client/_nuxt/DTAJTTim.js +1 -0
  84. package/dist/client/_nuxt/DVMEJ2y_.js +1 -0
  85. package/dist/client/_nuxt/{ClGRhx96.js → D_iqerNF.js} +1 -1
  86. package/dist/client/_nuxt/DaDNKYhP.js +1 -0
  87. package/dist/client/_nuxt/DbcauaCG.js +1 -0
  88. package/dist/client/_nuxt/Ddn3lr0y.js +1 -0
  89. package/dist/client/_nuxt/DjCbjd0V.js +1 -0
  90. package/dist/client/_nuxt/DjP-tqRL.js +1 -0
  91. package/dist/client/_nuxt/{C5Y8tDhP.js → DlaVQbPD.js} +1 -1
  92. package/dist/client/_nuxt/DlqU7Mzb.js +1 -0
  93. package/dist/client/_nuxt/{B2vK47Ag.js → DnAB7knh.js} +1 -1
  94. package/dist/client/_nuxt/Dp08fnRF.js +1 -0
  95. package/dist/client/_nuxt/{BEhvmC7f.js → DpGQfXhQ.js} +1 -1
  96. package/dist/client/_nuxt/{CyIGOvEh.js → DqDt7uUl.js} +1 -1
  97. package/dist/client/_nuxt/Dtn5OO9k.js +1 -0
  98. package/dist/client/_nuxt/{CGVVOGHx.js → DyGSH8sA.js} +1 -1
  99. package/dist/client/_nuxt/HnIlIngO.js +1 -0
  100. package/dist/client/_nuxt/ISJeQQUc.js +1 -0
  101. package/dist/client/_nuxt/MxEea5SM.js +1 -0
  102. package/dist/client/_nuxt/Olw6fvns.js +1 -0
  103. package/dist/client/_nuxt/{CMt9yHYq.js → R5DMG1SI.js} +1 -1
  104. package/dist/client/_nuxt/RJ4jLoVH.js +1 -0
  105. package/dist/client/_nuxt/RvZl2ZSs.js +1 -0
  106. package/dist/client/_nuxt/UP2u2qKn.js +1 -0
  107. package/dist/client/_nuxt/WlOKAcJ7.js +1 -0
  108. package/dist/client/_nuxt/YSxxb8je.js +1 -0
  109. package/dist/client/_nuxt/a8RH-YUw.js +1 -0
  110. package/dist/client/_nuxt/{BUEGK8hf.js → aBZrgJR0.js} +1 -1
  111. package/dist/client/_nuxt/builds/latest.json +1 -1
  112. package/dist/client/_nuxt/builds/meta/fde9927c-67b7-46e2-bc4b-f2cf5fcca69b.json +1 -0
  113. package/dist/client/_nuxt/eHy1PpK4.js +1 -0
  114. package/dist/client/_nuxt/error-404.CGmvdXdH.css +1 -0
  115. package/dist/client/_nuxt/error-500.DloGOj8k.css +1 -0
  116. package/dist/client/_nuxt/hegEt444.js +1 -0
  117. package/dist/client/_nuxt/{Drsz93k2.js → jOnvO7K6.js} +1 -1
  118. package/dist/client/_nuxt/jY9aw0fr.js +1 -0
  119. package/dist/client/_nuxt/{qpfuy3xp.js → kP2iUUCn.js} +1 -1
  120. package/dist/client/_nuxt/{HNqc6WRo.js → k_46elR7.js} +1 -1
  121. package/dist/client/_nuxt/mD5xMClh.js +1 -0
  122. package/dist/client/_nuxt/{m4gc_qpA.js → otdIdbsQ.js} +1 -1
  123. package/dist/client/_nuxt/{C0nbwVuJ.js → qVXJnTkO.js} +1 -1
  124. package/dist/client/_nuxt/rAlqSFiP.js +1 -0
  125. package/dist/client/_nuxt/s0gpj0oJ.js +1 -0
  126. package/dist/client/_nuxt/sY1Cc3Se.js +1 -0
  127. package/dist/client/_nuxt/tpHetfZQ.js +1 -0
  128. package/dist/client/_nuxt/ulE5f4OK.js +1 -0
  129. package/dist/client/_nuxt/yNdrVPqT.js +1 -0
  130. package/dist/client/_nuxt/{BsOYHjMa.js → z307i-ZX.js} +1 -1
  131. package/dist/client/index.html +128 -128
  132. package/dist/module.cjs +33 -18
  133. package/dist/module.json +1 -1
  134. package/dist/module.mjs +33 -18
  135. package/dist/runtime/server/kit.js +1 -1
  136. package/dist/runtime/server/plugins/compression.d.ts +1 -1
  137. package/dist/runtime/server/plugins/compression.js +1 -1
  138. package/dist/runtime/server/plugins/nuxt-content-v2.d.ts +1 -1
  139. package/dist/runtime/server/plugins/nuxt-content-v2.js +3 -3
  140. package/dist/runtime/server/plugins/warm-up.d.ts +1 -1
  141. package/dist/runtime/server/plugins/warm-up.js +3 -3
  142. package/dist/runtime/server/routes/__sitemap__/debug.js +3 -3
  143. package/dist/runtime/server/routes/sitemap/[sitemap].xml.js +2 -2
  144. package/dist/runtime/server/routes/sitemap.xml.js +3 -3
  145. package/dist/runtime/server/routes/sitemap.xsl.js +4 -3
  146. package/dist/runtime/server/routes/sitemap_index.xml.js +3 -3
  147. package/dist/runtime/server/sitemap/nitro.js +4 -1
  148. package/dist/runtime/server/utils.d.ts +1 -1
  149. package/dist/runtime/server/utils.js +2 -2
  150. package/package.json +13 -13
  151. package/dist/client/_nuxt/7O62HKoU.js +0 -1
  152. package/dist/client/_nuxt/B-DoSBHF.js +0 -1
  153. package/dist/client/_nuxt/B1SYOhNW.js +0 -1
  154. package/dist/client/_nuxt/B5auBHZD.js +0 -1
  155. package/dist/client/_nuxt/BC5c_5Pe.js +0 -1
  156. package/dist/client/_nuxt/BFLt1xDp.js +0 -1
  157. package/dist/client/_nuxt/BHOwM8T6.js +0 -1
  158. package/dist/client/_nuxt/BIEUsx6d.js +0 -1
  159. package/dist/client/_nuxt/BILxekzW.js +0 -1
  160. package/dist/client/_nuxt/BJ4Li9vH.js +0 -1
  161. package/dist/client/_nuxt/BJGe-b2p.js +0 -1
  162. package/dist/client/_nuxt/BK9xJ97g.js +0 -1
  163. package/dist/client/_nuxt/BMYPR7BL.js +0 -1
  164. package/dist/client/_nuxt/BPT9niGB.js +0 -1
  165. package/dist/client/_nuxt/BQoSv7ci.js +0 -1
  166. package/dist/client/_nuxt/BVUVsWT6.js +0 -1
  167. package/dist/client/_nuxt/BbSNqyBO.js +0 -1
  168. package/dist/client/_nuxt/BdxkyMLR.js +0 -1
  169. package/dist/client/_nuxt/Be6lgOlo.js +0 -1
  170. package/dist/client/_nuxt/BeQkCIfX.js +0 -1
  171. package/dist/client/_nuxt/BfCpw3nA.js +0 -1
  172. package/dist/client/_nuxt/BiFfXF7O.js +0 -1
  173. package/dist/client/_nuxt/BjQB5zDj.js +0 -1
  174. package/dist/client/_nuxt/Bu5BbsvL.js +0 -1
  175. package/dist/client/_nuxt/Bu73EIfS.js +0 -1
  176. package/dist/client/_nuxt/Bw0wYZmb.js +0 -1
  177. package/dist/client/_nuxt/BwXTMy5W.js +0 -1
  178. package/dist/client/_nuxt/C1XDQQGZ.js +0 -1
  179. package/dist/client/_nuxt/C1tVc3UG.js +0 -1
  180. package/dist/client/_nuxt/C30yJ1fx.js +0 -1
  181. package/dist/client/_nuxt/C6j12Q_x.js +0 -1
  182. package/dist/client/_nuxt/CB0Krxn9.js +0 -1
  183. package/dist/client/_nuxt/CB2ApiWb.js +0 -1
  184. package/dist/client/_nuxt/CKg9tqCS.js +0 -1
  185. package/dist/client/_nuxt/CQ0soPOq.js +0 -1
  186. package/dist/client/_nuxt/CYFUjXW1.js +0 -1
  187. package/dist/client/_nuxt/Cf8iN4DR.js +0 -1
  188. package/dist/client/_nuxt/Ci6OQyBP.js +0 -1
  189. package/dist/client/_nuxt/Cz8P-rqG.js +0 -1
  190. package/dist/client/_nuxt/D4Tzg5kh.js +0 -1
  191. package/dist/client/_nuxt/D5pd2Owo.js +0 -1
  192. package/dist/client/_nuxt/D9-PGadD.js +0 -1
  193. package/dist/client/_nuxt/D9R-vmeu.js +0 -1
  194. package/dist/client/_nuxt/DBQeEorK.js +0 -1
  195. package/dist/client/_nuxt/DB_GagMm.js +0 -1
  196. package/dist/client/_nuxt/DKXYxT9g.js +0 -1
  197. package/dist/client/_nuxt/DKykz6zU.js +0 -1
  198. package/dist/client/_nuxt/DNquZEk8.js +0 -1
  199. package/dist/client/_nuxt/DQ1-QYvQ.js +0 -1
  200. package/dist/client/_nuxt/DREVFZK8.js +0 -1
  201. package/dist/client/_nuxt/DWJ3fJO_.js +0 -1
  202. package/dist/client/_nuxt/DYvnoCeB.js +0 -1
  203. package/dist/client/_nuxt/D_z4Izcz.js +0 -1
  204. package/dist/client/_nuxt/DbXoA79R.js +0 -1
  205. package/dist/client/_nuxt/DfxzS6Rs.js +0 -1
  206. package/dist/client/_nuxt/DhUJRlN_.js +0 -1
  207. package/dist/client/_nuxt/DjHMNizO.js +0 -1
  208. package/dist/client/_nuxt/DkBy-JyN.js +0 -1
  209. package/dist/client/_nuxt/DkLiglaE.js +0 -1
  210. package/dist/client/_nuxt/Dmy2k9nq.js +0 -1
  211. package/dist/client/_nuxt/DsWjAdsX.js +0 -1
  212. package/dist/client/_nuxt/Dsg_Bt_b.js +0 -1
  213. package/dist/client/_nuxt/GBQ2dnAY.js +0 -1
  214. package/dist/client/_nuxt/HnGAYVZD.js +0 -1
  215. package/dist/client/_nuxt/HzYwdGDm.js +0 -1
  216. package/dist/client/_nuxt/P4WzXJd0.js +0 -1
  217. package/dist/client/_nuxt/QhoSD0DR.js +0 -1
  218. package/dist/client/_nuxt/R900dpIa.js +0 -1
  219. package/dist/client/_nuxt/RGbjgU4D.js +0 -32
  220. package/dist/client/_nuxt/TU54ms6u.js +0 -1
  221. package/dist/client/_nuxt/Tz6hzZYG.js +0 -1
  222. package/dist/client/_nuxt/UIAJJxZW.js +0 -1
  223. package/dist/client/_nuxt/builds/meta/155092f3-5581-48d1-929f-1f0015f366f6.json +0 -1
  224. package/dist/client/_nuxt/error-404.DWO74KKP.css +0 -1
  225. package/dist/client/_nuxt/error-500.DVC0lzO_.css +0 -1
  226. package/dist/client/_nuxt/jZyOssv4.js +0 -1
  227. package/dist/client/_nuxt/m2LEI-9-.js +0 -1
  228. package/dist/client/_nuxt/mebxcVVE.js +0 -1
  229. package/dist/client/_nuxt/nyqBNV6O.js +0 -1
  230. package/dist/client/_nuxt/shcSOmrb.js +0 -1
  231. package/dist/client/_nuxt/w-ucz2PV.js +0 -1
  232. package/dist/client/_nuxt/w8dY5SsB.js +0 -1
package/dist/module.cjs CHANGED
@@ -12,7 +12,6 @@ const stdEnv = require('std-env');
12
12
  const promises = require('node:fs/promises');
13
13
  const node_path = require('node:path');
14
14
  const chalk = require('chalk');
15
- const nitropack = require('nitropack');
16
15
  const normalise_js = require('../dist/runtime/server/sitemap/urlset/normalise.js');
17
16
 
18
17
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
@@ -232,6 +231,9 @@ export {}
232
231
  function createPagesPromise(nuxt = kit.useNuxt()) {
233
232
  return new Promise((resolve) => {
234
233
  nuxt.hooks.hook("modules:done", () => {
234
+ if (typeof nuxt.options.pages !== "undefined" && nuxt.options.pages === false) {
235
+ return resolve([]);
236
+ }
235
237
  kit.extendPages(resolve);
236
238
  });
237
239
  });
@@ -290,19 +292,18 @@ const sourceRegex = /<source[^>]*\ssrc="([^"]+)"/g;
290
292
  function extractSitemapMetaFromHtml(html, options) {
291
293
  options = options || { images: true, videos: true, lastmod: true, alternatives: true };
292
294
  const payload = {};
295
+ const resolveUrl = options?.resolveUrl || ((s) => s);
296
+ const mainRegex = /<main[^>]*>([\s\S]*?)<\/main>/;
297
+ const mainMatch = mainRegex.exec(html);
293
298
  if (options?.images) {
294
299
  const images = /* @__PURE__ */ new Set();
295
- const mainRegex = /<main[^>]*>([\s\S]*?)<\/main>/;
296
- const mainMatch = mainRegex.exec(html);
297
300
  if (mainMatch?.[1] && mainMatch[1].includes("<img")) {
298
301
  const imgRegex = /<img\s+(?:[^>]*?\s)?src=["']((?!data:|blob:|file:)[^"']+?)["'][^>]*>/gi;
299
302
  let match;
300
303
  while ((match = imgRegex.exec(mainMatch[1])) !== null) {
301
304
  if (match.index === imgRegex.lastIndex)
302
305
  imgRegex.lastIndex++;
303
- let url = match[1];
304
- if (url.startsWith("/"))
305
- url = kit.tryUseNuxt() ? kit$1.withSiteUrl(url) : url;
306
+ const url = resolveUrl(match[1]);
306
307
  images.add(url);
307
308
  }
308
309
  }
@@ -311,8 +312,6 @@ function extractSitemapMetaFromHtml(html, options) {
311
312
  }
312
313
  if (options?.videos) {
313
314
  const videos = [];
314
- const mainRegex = /<main[^>]*>([\s\S]*?)<\/main>/;
315
- const mainMatch = mainRegex.exec(html);
316
315
  if (mainMatch?.[1] && mainMatch[1].includes("<video")) {
317
316
  let videoMatch;
318
317
  while ((videoMatch = videoRegex.exec(mainMatch[1])) !== null) {
@@ -365,11 +364,12 @@ function extractSitemapMetaFromHtml(html, options) {
365
364
  }
366
365
  if (sources.length > 0) {
367
366
  videos.push(...sources.map((source) => {
368
- if (source.startsWith("/"))
369
- source = kit.tryUseNuxt() ? kit$1.withSiteUrl(source) : source;
367
+ if (videoObj.thumbnail_loc) {
368
+ videoObj.thumbnail_loc = resolveUrl(String(videoObj.thumbnail_loc));
369
+ }
370
370
  return {
371
371
  ...videoObj,
372
- content_loc: source
372
+ content_loc: resolveUrl(source)
373
373
  };
374
374
  }));
375
375
  } else {
@@ -460,11 +460,24 @@ function setupPrerenderHandler(_options, nuxt = kit.useNuxt()) {
460
460
  videos: options.discoverVideos,
461
461
  // TODO configurable?
462
462
  lastmod: true,
463
- alternatives: true
463
+ alternatives: true,
464
+ resolveUrl(s) {
465
+ return s.startsWith("/") ? kit$1.withSiteUrl(s) : s;
466
+ }
464
467
  }), route._sitemap);
465
468
  });
466
469
  nitro.hooks.hook("prerender:done", async () => {
467
- await nitropack.build(prerenderer);
470
+ const isNuxt4 = nuxt.options._majorVersion === 4;
471
+ let nitroModule;
472
+ if (isNuxt4) {
473
+ nitroModule = await import(String("nitro"));
474
+ } else {
475
+ nitroModule = await import(String("nitropack"));
476
+ }
477
+ if (!nitroModule) {
478
+ return;
479
+ }
480
+ await nitroModule.build(prerenderer);
468
481
  const routes = [];
469
482
  if (options.debug)
470
483
  routes.push("/__sitemap__/debug.json");
@@ -866,11 +879,13 @@ declare module 'vue-router' {
866
879
  if (typeof config.runtimeCacheStorage === "object")
867
880
  routeRules.cache.base = "sitemap";
868
881
  }
869
- nuxt.options.nitro.routeRules["/sitemap.xsl"] = {
870
- headers: {
871
- "Content-Type": "application/xslt+xml"
872
- }
873
- };
882
+ if (config.xsl) {
883
+ nuxt.options.nitro.routeRules[config.xsl] = {
884
+ headers: {
885
+ "Content-Type": "application/xslt+xml"
886
+ }
887
+ };
888
+ }
874
889
  if (usingMultiSitemaps) {
875
890
  nuxt.options.nitro.routeRules["/sitemap.xml"] = { redirect: "/sitemap_index.xml" };
876
891
  nuxt.options.nitro.routeRules["/sitemap_index.xml"] = routeRules;
package/dist/module.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "bridge": false
6
6
  },
7
7
  "configKey": "sitemap",
8
- "version": "7.2.2",
8
+ "version": "7.2.4",
9
9
  "builder": {
10
10
  "@nuxt/module-builder": "0.8.4",
11
11
  "unbuild": "2.0.0"
package/dist/module.mjs CHANGED
@@ -10,7 +10,6 @@ import { provider, env } from 'std-env';
10
10
  import { mkdir, writeFile } from 'node:fs/promises';
11
11
  import { join } from 'node:path';
12
12
  import chalk from 'chalk';
13
- import { build } from 'nitropack';
14
13
  import { normaliseDate } from '../dist/runtime/server/sitemap/urlset/normalise.js';
15
14
 
16
15
  async function resolveUrls(urls, ctx) {
@@ -225,6 +224,9 @@ export {}
225
224
  function createPagesPromise(nuxt = useNuxt()) {
226
225
  return new Promise((resolve) => {
227
226
  nuxt.hooks.hook("modules:done", () => {
227
+ if (typeof nuxt.options.pages !== "undefined" && nuxt.options.pages === false) {
228
+ return resolve([]);
229
+ }
228
230
  extendPages(resolve);
229
231
  });
230
232
  });
@@ -283,19 +285,18 @@ const sourceRegex = /<source[^>]*\ssrc="([^"]+)"/g;
283
285
  function extractSitemapMetaFromHtml(html, options) {
284
286
  options = options || { images: true, videos: true, lastmod: true, alternatives: true };
285
287
  const payload = {};
288
+ const resolveUrl = options?.resolveUrl || ((s) => s);
289
+ const mainRegex = /<main[^>]*>([\s\S]*?)<\/main>/;
290
+ const mainMatch = mainRegex.exec(html);
286
291
  if (options?.images) {
287
292
  const images = /* @__PURE__ */ new Set();
288
- const mainRegex = /<main[^>]*>([\s\S]*?)<\/main>/;
289
- const mainMatch = mainRegex.exec(html);
290
293
  if (mainMatch?.[1] && mainMatch[1].includes("<img")) {
291
294
  const imgRegex = /<img\s+(?:[^>]*?\s)?src=["']((?!data:|blob:|file:)[^"']+?)["'][^>]*>/gi;
292
295
  let match;
293
296
  while ((match = imgRegex.exec(mainMatch[1])) !== null) {
294
297
  if (match.index === imgRegex.lastIndex)
295
298
  imgRegex.lastIndex++;
296
- let url = match[1];
297
- if (url.startsWith("/"))
298
- url = tryUseNuxt() ? withSiteUrl(url) : url;
299
+ const url = resolveUrl(match[1]);
299
300
  images.add(url);
300
301
  }
301
302
  }
@@ -304,8 +305,6 @@ function extractSitemapMetaFromHtml(html, options) {
304
305
  }
305
306
  if (options?.videos) {
306
307
  const videos = [];
307
- const mainRegex = /<main[^>]*>([\s\S]*?)<\/main>/;
308
- const mainMatch = mainRegex.exec(html);
309
308
  if (mainMatch?.[1] && mainMatch[1].includes("<video")) {
310
309
  let videoMatch;
311
310
  while ((videoMatch = videoRegex.exec(mainMatch[1])) !== null) {
@@ -358,11 +357,12 @@ function extractSitemapMetaFromHtml(html, options) {
358
357
  }
359
358
  if (sources.length > 0) {
360
359
  videos.push(...sources.map((source) => {
361
- if (source.startsWith("/"))
362
- source = tryUseNuxt() ? withSiteUrl(source) : source;
360
+ if (videoObj.thumbnail_loc) {
361
+ videoObj.thumbnail_loc = resolveUrl(String(videoObj.thumbnail_loc));
362
+ }
363
363
  return {
364
364
  ...videoObj,
365
- content_loc: source
365
+ content_loc: resolveUrl(source)
366
366
  };
367
367
  }));
368
368
  } else {
@@ -453,11 +453,24 @@ function setupPrerenderHandler(_options, nuxt = useNuxt()) {
453
453
  videos: options.discoverVideos,
454
454
  // TODO configurable?
455
455
  lastmod: true,
456
- alternatives: true
456
+ alternatives: true,
457
+ resolveUrl(s) {
458
+ return s.startsWith("/") ? withSiteUrl(s) : s;
459
+ }
457
460
  }), route._sitemap);
458
461
  });
459
462
  nitro.hooks.hook("prerender:done", async () => {
460
- await build(prerenderer);
463
+ const isNuxt4 = nuxt.options._majorVersion === 4;
464
+ let nitroModule;
465
+ if (isNuxt4) {
466
+ nitroModule = await import(String("nitro"));
467
+ } else {
468
+ nitroModule = await import(String("nitropack"));
469
+ }
470
+ if (!nitroModule) {
471
+ return;
472
+ }
473
+ await nitroModule.build(prerenderer);
461
474
  const routes = [];
462
475
  if (options.debug)
463
476
  routes.push("/__sitemap__/debug.json");
@@ -859,11 +872,13 @@ declare module 'vue-router' {
859
872
  if (typeof config.runtimeCacheStorage === "object")
860
873
  routeRules.cache.base = "sitemap";
861
874
  }
862
- nuxt.options.nitro.routeRules["/sitemap.xsl"] = {
863
- headers: {
864
- "Content-Type": "application/xslt+xml"
865
- }
866
- };
875
+ if (config.xsl) {
876
+ nuxt.options.nitro.routeRules[config.xsl] = {
877
+ headers: {
878
+ "Content-Type": "application/xslt+xml"
879
+ }
880
+ };
881
+ }
867
882
  if (usingMultiSitemaps) {
868
883
  nuxt.options.nitro.routeRules["/sitemap.xml"] = { redirect: "/sitemap_index.xml" };
869
884
  nuxt.options.nitro.routeRules["/sitemap_index.xml"] = routeRules;
@@ -1,7 +1,7 @@
1
1
  import { createRouter as createRadixRouter, toRouteMatcher } from "radix3";
2
2
  import { defu } from "defu";
3
3
  import { parseURL, withoutBase, withoutTrailingSlash } from "ufo";
4
- import { useRuntimeConfig } from "#imports";
4
+ import { useRuntimeConfig } from "nitropack/runtime";
5
5
  export function withoutQuery(path) {
6
6
  return path.split("?")[0];
7
7
  }
@@ -1,2 +1,2 @@
1
- declare const _default: any;
1
+ declare const _default: import("nitropack/types").NitroAppPlugin;
2
2
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import { useCompressionStream } from "h3-compression";
2
- import { defineNitroPlugin } from "#imports";
2
+ import { defineNitroPlugin } from "nitropack/runtime";
3
3
  export default defineNitroPlugin((nitro) => {
4
4
  nitro.hooks.hook("beforeResponse", async (event, response) => {
5
5
  if (event.context._isSitemap)
@@ -1,2 +1,2 @@
1
- declare const _default: any;
1
+ declare const _default: import("nitropack/types").NitroAppPlugin;
2
2
  export default _default;
@@ -1,8 +1,8 @@
1
1
  import { defu } from "defu";
2
- import { useSimpleSitemapRuntimeConfig } from "../utils.js";
3
- import { defineNitroPlugin } from "#imports";
2
+ import { defineNitroPlugin } from "nitropack/runtime";
3
+ import { useSitemapRuntimeConfig } from "../utils.js";
4
4
  export default defineNitroPlugin((nitroApp) => {
5
- const { discoverImages, isNuxtContentDocumentDriven } = useSimpleSitemapRuntimeConfig();
5
+ const { discoverImages, isNuxtContentDocumentDriven } = useSitemapRuntimeConfig();
6
6
  nitroApp.hooks.hook("content:file:afterParse", async (content) => {
7
7
  const validExtensions = ["md", "mdx"];
8
8
  if (content.sitemap === false || content._draft || !validExtensions.includes(content._extension) || content._partial || content.robots === false)
@@ -1,2 +1,2 @@
1
- declare const _default: any;
1
+ declare const _default: import("nitropack/types").NitroAppPlugin;
2
2
  export default _default;
@@ -1,8 +1,8 @@
1
1
  import { withLeadingSlash } from "ufo";
2
- import { useSimpleSitemapRuntimeConfig } from "../utils.js";
3
- import { defineNitroPlugin } from "#imports";
2
+ import { defineNitroPlugin } from "nitropack/runtime";
3
+ import { useSitemapRuntimeConfig } from "../utils.js";
4
4
  export default defineNitroPlugin((nitroApp) => {
5
- const { sitemaps } = useSimpleSitemapRuntimeConfig();
5
+ const { sitemaps } = useSitemapRuntimeConfig();
6
6
  const queue = [];
7
7
  const sitemapsWithRoutes = Object.entries(sitemaps).filter(([, sitemap]) => sitemap._route);
8
8
  for (const [, sitemap] of sitemapsWithRoutes)
@@ -1,13 +1,13 @@
1
1
  import { defineEventHandler } from "h3";
2
- import { useSimpleSitemapRuntimeConfig } from "../../utils.js";
2
+ import { useSitemapRuntimeConfig } from "../../utils.js";
3
3
  import {
4
4
  childSitemapSources,
5
5
  globalSitemapSources,
6
6
  resolveSitemapSources
7
7
  } from "../../sitemap/urlset/sources.js";
8
- import { useNitroOrigin } from "#imports";
8
+ import { useNitroOrigin } from "#site-config/server/composables/useNitroOrigin";
9
9
  export default defineEventHandler(async (e) => {
10
- const _runtimeConfig = useSimpleSitemapRuntimeConfig();
10
+ const _runtimeConfig = useSitemapRuntimeConfig();
11
11
  const { sitemaps: _sitemaps } = _runtimeConfig;
12
12
  const runtimeConfig = { ..._runtimeConfig };
13
13
  delete runtimeConfig.sitemaps;
@@ -1,9 +1,9 @@
1
1
  import { createError, defineEventHandler, getRouterParam } from "h3";
2
2
  import { withoutLeadingSlash, withoutTrailingSlash } from "ufo";
3
- import { useSimpleSitemapRuntimeConfig } from "../../utils.js";
3
+ import { useSitemapRuntimeConfig } from "../../utils.js";
4
4
  import { createSitemap } from "../../sitemap/nitro.js";
5
5
  export default defineEventHandler(async (e) => {
6
- const runtimeConfig = useSimpleSitemapRuntimeConfig(e);
6
+ const runtimeConfig = useSitemapRuntimeConfig(e);
7
7
  const { sitemaps } = runtimeConfig;
8
8
  const sitemapName = withoutLeadingSlash(withoutTrailingSlash((getRouterParam(e, "sitemap") || e.path)?.replace(".xml", "").replace(runtimeConfig.sitemapsPathPrefix || "", "")));
9
9
  const isChunking = typeof sitemaps.chunks !== "undefined" && !Number.isNaN(Number(sitemapName));
@@ -1,10 +1,10 @@
1
1
  import { defineEventHandler, sendRedirect } from "h3";
2
2
  import { withBase } from "ufo";
3
- import { useSimpleSitemapRuntimeConfig } from "../utils.js";
3
+ import { useRuntimeConfig } from "nitropack/runtime";
4
+ import { useSitemapRuntimeConfig } from "../utils.js";
4
5
  import { createSitemap } from "../sitemap/nitro.js";
5
- import { useRuntimeConfig } from "#imports";
6
6
  export default defineEventHandler(async (e) => {
7
- const runtimeConfig = useSimpleSitemapRuntimeConfig();
7
+ const runtimeConfig = useSitemapRuntimeConfig();
8
8
  const { sitemaps } = runtimeConfig;
9
9
  if ("index" in sitemaps) {
10
10
  return sendRedirect(e, withBase("/sitemap_index.xml", useRuntimeConfig().app.baseURL), import.meta.dev ? 302 : 301);
@@ -1,10 +1,11 @@
1
1
  import { defineEventHandler, getHeader, setHeader } from "h3";
2
2
  import { getQuery, parseURL, withQuery } from "ufo";
3
- import { useSimpleSitemapRuntimeConfig } from "../utils.js";
4
- import { createSitePathResolver, useSiteConfig } from "#imports";
3
+ import { useSitemapRuntimeConfig } from "../utils.js";
4
+ import { useSiteConfig } from "#site-config/server/composables/useSiteConfig";
5
+ import { createSitePathResolver } from "#site-config/server/composables/utils";
5
6
  export default defineEventHandler(async (e) => {
6
7
  const fixPath = createSitePathResolver(e, { absolute: false, withBase: true });
7
- const { sitemapName: fallbackSitemapName, cacheMaxAgeSeconds, version, xslColumns, xslTips } = useSimpleSitemapRuntimeConfig();
8
+ const { sitemapName: fallbackSitemapName, cacheMaxAgeSeconds, version, xslColumns, xslTips } = useSitemapRuntimeConfig();
8
9
  setHeader(e, "Content-Type", "application/xslt+xml");
9
10
  if (cacheMaxAgeSeconds)
10
11
  setHeader(e, "Cache-Control", `public, max-age=${cacheMaxAgeSeconds}, must-revalidate`);
@@ -1,11 +1,11 @@
1
1
  import { appendHeader, defineEventHandler, setHeader } from "h3";
2
2
  import { joinURL } from "ufo";
3
- import { useSimpleSitemapRuntimeConfig } from "../utils.js";
3
+ import { useNitroApp } from "nitropack/runtime";
4
+ import { useSitemapRuntimeConfig } from "../utils.js";
4
5
  import { buildSitemapIndex, urlsToIndexXml } from "../sitemap/builder/sitemap-index.js";
5
6
  import { useNitroUrlResolvers } from "../sitemap/nitro.js";
6
- import { useNitroApp } from "#imports";
7
7
  export default defineEventHandler(async (e) => {
8
- const runtimeConfig = useSimpleSitemapRuntimeConfig();
8
+ const runtimeConfig = useSitemapRuntimeConfig();
9
9
  const nitro = useNitroApp();
10
10
  const resolvers = useNitroUrlResolvers(e);
11
11
  const sitemaps = await buildSitemapIndex(resolvers, runtimeConfig, nitro);
@@ -1,12 +1,15 @@
1
1
  import { getQuery, setHeader, createError } from "h3";
2
2
  import { fixSlashes } from "nuxt-site-config/urls";
3
3
  import { defu } from "defu";
4
+ import { useNitroApp } from "nitropack/runtime";
4
5
  import { logger, mergeOnKey, splitForLocales } from "../../utils-pure.js";
5
6
  import { createNitroRouteRuleMatcher } from "../kit.js";
6
7
  import { buildSitemapUrls, urlsToXml } from "./builder/sitemap.js";
7
8
  import { normaliseEntry, preNormalizeEntry } from "./urlset/normalise.js";
8
9
  import { sortSitemapUrls } from "./urlset/sort.js";
9
- import { useNitroApp, createSitePathResolver, getPathRobotConfig, useSiteConfig } from "#imports";
10
+ import { getPathRobotConfig } from "#imports";
11
+ import { useSiteConfig } from "#site-config/server/composables/useSiteConfig";
12
+ import { createSitePathResolver } from "#site-config/server/composables/utils";
10
13
  export function useNitroUrlResolvers(e) {
11
14
  const canonicalQuery = getQuery(e).canonical;
12
15
  const isShowingCanonical = typeof canonicalQuery !== "undefined" && canonicalQuery !== "false";
@@ -1,4 +1,4 @@
1
1
  import type { H3Event } from 'h3';
2
2
  import type { ModuleRuntimeConfig } from '../types.js';
3
3
  export * from '../utils-pure.js';
4
- export declare function useSimpleSitemapRuntimeConfig(e?: H3Event): ModuleRuntimeConfig;
4
+ export declare function useSitemapRuntimeConfig(e?: H3Event): ModuleRuntimeConfig;
@@ -1,7 +1,7 @@
1
+ import { useRuntimeConfig } from "nitropack/runtime";
1
2
  import { normalizeRuntimeFilters } from "../utils-pure.js";
2
- import { useRuntimeConfig } from "#imports";
3
3
  export * from "../utils-pure.js";
4
- export function useSimpleSitemapRuntimeConfig(e) {
4
+ export function useSitemapRuntimeConfig(e) {
5
5
  const clone = JSON.parse(JSON.stringify(useRuntimeConfig(e).sitemap));
6
6
  for (const k in clone.sitemaps) {
7
7
  const sitemap = clone.sitemaps[k];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxtjs/sitemap",
3
3
  "type": "module",
4
- "version": "7.2.3",
4
+ "version": "7.2.5",
5
5
  "description": "Powerfully flexible XML Sitemaps that integrate seamlessly, for Nuxt.",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",
@@ -48,36 +48,36 @@
48
48
  }
49
49
  },
50
50
  "dependencies": {
51
- "@nuxt/devtools-kit": "^2.0.0-beta.3",
52
- "@nuxt/kit": "^3.15.2",
51
+ "@nuxt/devtools-kit": "^2.1.0",
52
+ "@nuxt/kit": "^3.15.4",
53
53
  "chalk": "^5.4.1",
54
54
  "defu": "^6.1.4",
55
55
  "h3-compression": "^0.3.2",
56
56
  "nuxt-site-config": "^3.0.6",
57
57
  "ofetch": "^1.4.1",
58
- "pathe": "^2.0.2",
58
+ "pathe": "^2.0.3",
59
59
  "pkg-types": "^1.3.1",
60
60
  "radix3": "^1.1.2",
61
- "semver": "^7.6.3",
61
+ "semver": "^7.7.1",
62
62
  "sirv": "^3.0.0",
63
63
  "ufo": "^1.5.4"
64
64
  },
65
65
  "devDependencies": {
66
- "@nuxt/content": "^3.0.0",
67
- "@nuxt/eslint-config": "^0.7.5",
66
+ "@nuxt/content": "^3.1.1",
67
+ "@nuxt/eslint-config": "^1.0.1",
68
68
  "@nuxt/module-builder": "^0.8.4",
69
69
  "@nuxt/test-utils": "^3.15.4",
70
70
  "@nuxt/ui": "^2.21.0",
71
- "@nuxtjs/i18n": "^9.1.2",
71
+ "@nuxtjs/i18n": "^9.2.0",
72
72
  "@nuxtjs/robots": "^5.2.2",
73
- "bumpp": "^9.10.1",
74
- "eslint": "^9.18.0",
73
+ "bumpp": "^10.0.3",
74
+ "eslint": "^9.20.1",
75
75
  "eslint-plugin-n": "^17.15.1",
76
76
  "execa": "^9.5.2",
77
- "nuxt": "^3.15.2",
78
- "nuxt-i18n-micro": "^1.68.0",
77
+ "nuxt": "^3.15.4",
78
+ "nuxt-i18n-micro": "^1.74.0",
79
79
  "typescript": "5.6.3",
80
- "vitest": "^3.0.3"
80
+ "vitest": "^3.0.5"
81
81
  },
82
82
  "resolutions": {
83
83
  "postcss": "8.4.47",
@@ -1 +0,0 @@
1
- const a=Object.freeze(JSON.parse(`{"displayName":"Ara","fileTypes":["ara"],"name":"ara","patterns":[{"include":"#namespace"},{"include":"#named-arguments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#numbers"},{"include":"#operators"},{"include":"#type"},{"include":"#function-call"}],"repository":{"class-name":{"patterns":[{"begin":"\\\\b(?i)(?<!\\\\$)(?=[\\\\\\\\a-zA-Z_])","end":"(?i)([a-z_][a-z_0-9]*)?(?=[^a-z0-9_\\\\\\\\])\\\\b","endCaptures":{"1":{"name":"support.class.ara"}},"patterns":[{"include":"#namespace"}]}]},"comments":{"patterns":[{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.ara"}},"end":"\\\\*/","name":"comment.block.ara"},{"begin":"(^[ \\\\t]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ara"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.ara"}},"end":"\\\\n","name":"comment.line.double-slash.ara"}]}]},"function-call":{"patterns":[{"begin":"(?i)(?=\\\\\\\\?[a-z_0-9\\\\\\\\]+\\\\\\\\[a-z_][a-z0-9_]*\\\\s*(\\\\(|(::<)))","comment":"Functions in a user-defined namespace (overrides any built-ins)","end":"(?=\\\\s*(\\\\(|(::<)))","patterns":[{"include":"#user-function-call"}]},{"begin":"(?i)(\\\\\\\\)?(?=\\\\b[a-z_][a-z_0-9]*\\\\s*(\\\\(|(::<)))","beginCaptures":{"1":{"name":"punctuation.separator.inheritance.php"}},"comment":"Root namespace function calls (built-in or user)","end":"(?=\\\\s*(\\\\(|(::<)))","patterns":[{"include":"#user-function-call"}]}]},"interpolation":{"patterns":[{"comment":"Interpolating octal values e.g. \\\\01 or \\\\07.","match":"\\\\\\\\[0-7]{1,3}","name":"constant.numeric.octal.ara"},{"comment":"Interpolating hex values e.g. \\\\x1 or \\\\xFF.","match":"\\\\\\\\x[0-9A-Fa-f]{1,2}","name":"constant.numeric.hex.ara"},{"comment":"Escaped characters in double-quoted strings e.g. \\\\n or \\\\t.","match":"\\\\\\\\[nrt\\\\\\\\\\\\$\\\\\\"]","name":"constant.character.escape.ara"}]},"keywords":{"patterns":[{"match":"\\\\b(await|async|concurrently|break|continue|do|else|elseif|for|if|loop|while|foreach|match|return|try|yield|from|catch|finally|default|exit)\\\\b","name":"keyword.control.ara"},{"match":"\\\\b(const|enum|class|interface|trait|namespace|type|case|function|fn)\\\\b","name":"storage.decl.ara"},{"match":"\\\\b(final|abstract|static|readonly|public|private|protected)\\\\b","name":"storage.modifier.ara"},{"match":"\\\\b(as|is|extends|implements|use|where|clone|new)\\\\b","name":"keyword.other.ara"}]},"named-arguments":{"captures":{"1":{"name":"entity.name.variable.parameter.ara"},"2":{"name":"punctuation.separator.colon.ara"}},"match":"(?i)(?<=^|\\\\(|,)\\\\s*([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\\\\s*(:)(?!:)"},"namespace":{"begin":"(?i)((namespace)|[a-z0-9_]+)?(\\\\\\\\)(?=.*?[^a-z_0-9\\\\\\\\])","beginCaptures":{"1":{"name":"entity.name.type.namespace.php"},"3":{"name":"punctuation.separator.inheritance.php"}},"end":"(?i)(?=[a-z0-9_]*[^a-z0-9_\\\\\\\\])","name":"support.other.namespace.php","patterns":[{"match":"(?i)[a-z0-9_]+(?=\\\\\\\\)","name":"entity.name.type.namespace.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(?i)(\\\\\\\\)"}]},"numbers":{"patterns":[{"match":"0[xX][0-9a-fA-F]+(?:_[0-9a-fA-F]+)*","name":"constant.numeric.hex.ara"},{"match":"0[bB][01]+(?:_[01]+)*","name":"constant.numeric.binary.ara"},{"match":"0[oO][0-7]+(?:_[0-7]+)*","name":"constant.numeric.octal.ara"},{"match":"0(?:_?[0-7]+)+","name":"constant.numeric.octal.ara"},{"captures":{"1":{"name":"punctuation.separator.decimal.period.ara"},"2":{"name":"punctuation.separator.decimal.period.ara"}},"match":"(?:(?:[0-9]+(?:_[0-9]+)*)?(\\\\.)[0-9]+(?:_[0-9]+)*(?:[eE][+-]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*(\\\\.)(?:[0-9]+(?:_[0-9]+)*)?(?:[eE][+-]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*[eE][+-]?[0-9]+(?:_[0-9]+)*)","name":"constant.numeric.decimal.ara"},{"match":"0|[1-9](?:_?[0-9]+)*","name":"constant.numeric.decimal.ara"}]},"operators":{"patterns":[{"comment":"assignment operators","match":"(\\\\+=|-=|\\\\*=|/=|%=|\\\\^=|&&=|<=|>=|&=|\\\\|=|<<=|>>=|\\\\?\\\\?=)","name":"keyword.assignments.ara"},{"comment":"logical operators","match":"(\\\\^|\\\\||\\\\|\\\\||&&|>>|<<|&|~|<<|>>|>|<|<=>|\\\\?\\\\?|\\\\?|:|\\\\?:)(?!=)","name":"keyword.operators.ara"},{"comment":"comparison operators","match":"(==|===|!==|!=|<=|>=|<|>)(?!=)","name":"keyword.operator.comparison.ara"},{"comment":"math operators","match":"(([+%]|(\\\\*(?!\\\\w)))(?!=))|(-(?!>))|(/(?!/))","name":"keyword.operator.math.ara"},{"comment":"single equal assignment operator","match":"(?<![<>])=(?!=|>)","name":"keyword.operator.assignment.ara"},{"captures":{"1":{"name":"punctuation.brackets.round.ara"},"2":{"name":"punctuation.brackets.square.ara"},"3":{"name":"punctuation.brackets.curly.ara"},"4":{"name":"keyword.operator.comparison.ara"},"5":{"name":"punctuation.brackets.round.ara"},"6":{"name":"punctuation.brackets.square.ara"},"7":{"name":"punctuation.brackets.curly.ara"}},"comment":"less than, greater than (special case)","match":"(?:\\\\b|(?:(\\\\))|(\\\\])|(\\\\})))[ \\\\t]+([<>])[ \\\\t]+(?:\\\\b|(?:(\\\\()|(\\\\[)|(\\\\{)))"},{"comment":"arrow method call, arrow property access","match":"(?:->|\\\\?->)","name":"keyword.operator.arrow.ara"},{"comment":"double arrow key-value pair","match":"(?:=>)","name":"keyword.operator.double-arrow.ara"},{"comment":"static method call, static property access","match":"(?:::)","name":"keyword.operator.static.ara"},{"comment":"closure creation","match":"(?:\\\\(\\\\.\\\\.\\\\.\\\\))","name":"keyword.operator.closure.ara"},{"comment":"spread operator","match":"(?:\\\\.\\\\.\\\\.)","name":"keyword.operator.spread.ara"},{"comment":"namespace operator","match":"\\\\\\\\","name":"keyword.operator.namespace.ara"}]},"strings":{"patterns":[{"begin":"'","end":"'","name":"string.quoted.single.ara","patterns":[{"match":"\\\\\\\\[\\\\\\\\']","name":"constant.character.escape.ara"}]},{"begin":"\\"","end":"\\"","name":"string.quoted.double.ara","patterns":[{"include":"#interpolation"}]}]},"type":{"name":"support.type.php","patterns":[{"match":"\\\\b(?:void|true|false|null|never|float|bool|int|string|dict|vec|object|mixed|nonnull|resource|self|static|parent|iterable)\\\\b","name":"support.type.php"},{"begin":"([A-Za-z_][A-Za-z0-9_]*)<","beginCaptures":{"1":{"name":"support.class.php"}},"end":">","patterns":[{"include":"#type-annotation"}]},{"begin":"(shape\\\\()","end":"((,|\\\\.\\\\.\\\\.)?\\\\s*\\\\))","endCaptures":{"1":{"name":"keyword.operator.key.php"}},"name":"storage.type.shape.php","patterns":[{"include":"#type-annotation"},{"include":"#strings"},{"include":"#constants"}]},{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#type-annotation"}]},{"begin":"\\\\(fn\\\\(","end":"\\\\)","patterns":[{"include":"#type-annotation"}]},{"include":"#class-name"},{"include":"#comments"}]},"user-function-call":{"begin":"(?i)(?=[a-z_0-9\\\\\\\\]*[a-z_][a-z0-9_]*\\\\s*\\\\()","end":"(?i)[a-z_][a-z_0-9]*(?=\\\\s*\\\\()","endCaptures":{"0":{"name":"entity.name.function.php"}},"name":"meta.function-call.php","patterns":[{"include":"#namespace"}]}},"scopeName":"source.ara"}`)),e=[a];export{e as default};
@@ -1 +0,0 @@
1
- const e=Object.freeze(JSON.parse(`{"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":{"begin":"(?<!\\")(([\\"]{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"meta.string.quoted.triple.begin.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"},"3":{"name":"invalid.illegal.string.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*(\\\\2))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.triple.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":"#sigil-docstring"},{"include":"#sigil-string"},{"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-string-body":{"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"}]},"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"}]}]},"sigil-docstring":{"begin":"(~[bBsS]?)(([\\"]{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.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":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang"},"sigil-string":{"patterns":[{"include":"#sigil-string-parenthesis"},{"include":"#sigil-string-parenthesis-verbatim"},{"include":"#sigil-string-curly-brackets"},{"include":"#sigil-string-curly-brackets-verbatim"},{"include":"#sigil-string-square-brackets"},{"include":"#sigil-string-square-brackets-verbatim"},{"include":"#sigil-string-less-greater"},{"include":"#sigil-string-less-greater-verbatim"},{"include":"#sigil-string-single-character"},{"include":"#sigil-string-single-character-verbatim"},{"include":"#sigil-string-single-quote"},{"include":"#sigil-string-single-quote-verbatim"},{"include":"#sigil-string-double-quote"},{"include":"#sigil-string-double-quote-verbatim"}]},"sigil-string-curly-brackets":{"begin":"(~[bs]?)([{])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([}])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-curly-brackets-verbatim":{"begin":"(~[BS])([{])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([}])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang"},"sigil-string-double-quote":{"begin":"(~[bs]?)(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-double-quote-verbatim":{"begin":"(~[BS])(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang"},"sigil-string-less-greater":{"begin":"(~[bs]?)(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-less-greater-verbatim":{"begin":"(~[BS])(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang"},"sigil-string-parenthesis":{"begin":"(~[bs]?)([(])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([)])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-parenthesis-verbatim":{"begin":"(~[BS])([(])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([)])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang"},"sigil-string-single-character":{"begin":"(~[bs]?)([/\\\\|\`#])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-character-verbatim":{"begin":"(~[BS])([/\\\\|\`#])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang"},"sigil-string-single-quote":{"begin":"(~[bs]?)(')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-quote-verbatim":{"begin":"(~[BS])(')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang"},"sigil-string-square-brackets":{"begin":"(~[bs]?)([\\\\[])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([\\\\]])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-square-brackets-verbatim":{"begin":"(~[BS])([\\\\[])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"([\\\\]])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang"},"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":[{"include":"#internal-string-body"}]},"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"]}`)),n=[e];export{n as default};