nuxt-og-image 3.0.0-rc.55 → 3.0.0-rc.57

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 (74) hide show
  1. package/dist/client/200.html +43 -43
  2. package/dist/client/404.html +43 -43
  3. package/dist/client/_nuxt/{G-Jz5hiA.js → 0ooBkv16.js} +1 -1
  4. package/dist/client/_nuxt/{CNkYXcD4.js → 1rqFXsGc.js} +2 -2
  5. package/dist/client/_nuxt/{D0R5gFyj.js → B1CBnxK5.js} +1 -1
  6. package/dist/client/_nuxt/{BOnd8D4O.js → BB42E8aY.js} +3 -3
  7. package/dist/client/_nuxt/{GPY1wEXZ.js → BBBqETUW.js} +1 -1
  8. package/dist/client/_nuxt/{Buoqr_Oi.js → BMHPAh1U.js} +1 -1
  9. package/dist/client/_nuxt/BVLuctcA.js +1 -0
  10. package/dist/client/_nuxt/BVkeqZ59.js +1 -0
  11. package/dist/client/_nuxt/{DISxKEhY.js → Bdt_eLrj.js} +1 -1
  12. package/dist/client/_nuxt/{Dez-Qvcc.js → BeJnKnI_.js} +2 -2
  13. package/dist/client/_nuxt/{DG8tVHNj.js → Bi43K_FX.js} +1 -1
  14. package/dist/client/_nuxt/{BdfWgkoX.js → BnyYJeap.js} +1 -1
  15. package/dist/client/_nuxt/BokpyZuK.js +1 -0
  16. package/dist/client/_nuxt/{wKgfcFVx.js → C1yTBzia.js} +1 -1
  17. package/dist/client/_nuxt/{o-cPXEvd.js → CBWrHyXe.js} +89 -84
  18. package/dist/client/_nuxt/CCqFro8U.js +3 -0
  19. package/dist/client/_nuxt/CFF2d1j6.js +1 -0
  20. package/dist/client/_nuxt/{Lpdzc9s2.js → CJGKC1_q.js} +1 -1
  21. package/dist/client/_nuxt/{CcYwH0AH.js → CJIaz0BQ.js} +1 -1
  22. package/dist/client/_nuxt/CO7HdiM_.js +1 -0
  23. package/dist/client/_nuxt/Cb-F_BZP.js +1 -0
  24. package/dist/client/_nuxt/CgwOUXSn.js +1 -0
  25. package/dist/client/_nuxt/ChH25C4w.js +1 -0
  26. package/dist/client/_nuxt/{D4FSFK-1.js → D33OKbkv.js} +1 -1
  27. package/dist/client/_nuxt/{YdT6Gj0u.js → D7WeZTai.js} +1 -1
  28. package/dist/client/_nuxt/{DUdlC5k_.js → DJubGRtk.js} +1 -1
  29. package/dist/client/_nuxt/{C5gCGmDW.js → DK4oFTHQ.js} +1 -1
  30. package/dist/client/_nuxt/DM4HHECw.js +1 -0
  31. package/dist/client/_nuxt/DOqtC9FP.js +1 -0
  32. package/dist/client/_nuxt/DV9JwLIa.js +1 -0
  33. package/dist/client/_nuxt/Dr2DEQtO.js +1 -0
  34. package/dist/client/_nuxt/{zhgf4ixb.js → DrnZp123.js} +2 -2
  35. package/dist/client/_nuxt/{COIrKlfF.js → ECt0lbkd.js} +1 -1
  36. package/dist/client/_nuxt/IconCSS.CboQhcyB.css +1 -0
  37. package/dist/client/_nuxt/builds/latest.json +1 -1
  38. package/dist/client/_nuxt/builds/meta/1ddc85d4-8a17-4cb2-9672-a53a548f54b9.json +1 -0
  39. package/dist/client/_nuxt/cw46T5ID.js +61 -0
  40. package/dist/client/_nuxt/{entry.B6GrRE4Z.css → entry.hGdE2h7t.css} +1 -1
  41. package/dist/client/_nuxt/error-404.7_0S-gmt.css +1 -0
  42. package/dist/client/_nuxt/error-500.BvA2Ms0H.css +1 -0
  43. package/dist/client/_nuxt/{D_T9yQUo.js → kuh6G-Sk.js} +2 -2
  44. package/dist/client/_nuxt/qxoleWdb.js +1 -0
  45. package/dist/client/_nuxt/{CO_xte_X.js → vxRPoPjH.js} +51 -51
  46. package/dist/client/_nuxt/{xtV5iK4E.js → yX2IItqj.js} +1 -1
  47. package/dist/module.json +1 -1
  48. package/dist/module.mjs +10 -8
  49. package/dist/runtime/nitro/og-image/bindings/css-inline/node.d.ts +1 -2
  50. package/dist/runtime/nitro/og-image/satori/instances.d.ts +1 -1
  51. package/dist/runtime/nitro/og-image/satori/transforms/inlineCss.d.ts +1 -1
  52. package/dist/runtime/nitro/og-image/satori/transforms/inlineCss.js +37 -36
  53. package/dist/runtime/nitro/og-image/satori/vnodes.js +3 -0
  54. package/dist/runtime/nuxt/composables/defineOgImage.js +1 -1
  55. package/package.json +20 -22
  56. package/dist/client/_nuxt/B2BuIiKK.js +0 -1
  57. package/dist/client/_nuxt/B474tPdy.js +0 -66
  58. package/dist/client/_nuxt/BJn7Ek5W.js +0 -1
  59. package/dist/client/_nuxt/Bfj2ThZ4.js +0 -3
  60. package/dist/client/_nuxt/BmSZh3NL.js +0 -1
  61. package/dist/client/_nuxt/BrGg7AAd.js +0 -1
  62. package/dist/client/_nuxt/C2WjX3hy.js +0 -1
  63. package/dist/client/_nuxt/CBL0qBdF.js +0 -1
  64. package/dist/client/_nuxt/CHCTrc3a.js +0 -1
  65. package/dist/client/_nuxt/CIekO_uJ.js +0 -1
  66. package/dist/client/_nuxt/D7gg1Usp.js +0 -1
  67. package/dist/client/_nuxt/DDRuGeQH.js +0 -1
  68. package/dist/client/_nuxt/DDTaAggl.js +0 -1
  69. package/dist/client/_nuxt/Djqq6n-7.js +0 -1
  70. package/dist/client/_nuxt/Dkb1Nx48.js +0 -1
  71. package/dist/client/_nuxt/IconCSS.ml_PwIMm.css +0 -1
  72. package/dist/client/_nuxt/builds/meta/9c44c5bc-d169-48e8-9ee0-e1d453302bef.json +0 -1
  73. package/dist/client/_nuxt/error-404.23TGmWF7.css +0 -1
  74. package/dist/client/_nuxt/error-500.DAazy6YX.css +0 -1
@@ -1 +1 @@
1
- const e=Object.freeze({displayName:"Zig",fileTypes:["zig","zon"],name:"zig",patterns:[{include:"#comments"},{include:"#strings"},{include:"#keywords"},{include:"#operators"},{include:"#punctuation"},{include:"#numbers"},{include:"#support"},{include:"#variables"}],repository:{commentContents:{patterns:[{match:"\\b(TODO|FIXME|XXX|NOTE)\\b:?",name:"keyword.todo.zig"}]},comments:{patterns:[{begin:"//[!/](?=[^/])",end:"$",name:"comment.line.documentation.zig",patterns:[{include:"#commentContents"}]},{begin:"//",end:"$",name:"comment.line.double-slash.zig",patterns:[{include:"#commentContents"}]}]},keywords:{patterns:[{match:"\\binline\\b(?!\\s*\\bfn\\b)",name:"keyword.control.repeat.zig"},{match:"\\b(while|for)\\b",name:"keyword.control.repeat.zig"},{match:"\\b(extern|packed|export|pub|noalias|inline|comptime|volatile|align|linksection|threadlocal|allowzero|noinline|callconv)\\b",name:"keyword.storage.zig"},{match:"\\b(struct|enum|union|opaque)\\b",name:"keyword.structure.zig"},{match:"\\b(asm|unreachable)\\b",name:"keyword.statement.zig"},{match:"\\b(break|return|continue|defer|errdefer)\\b",name:"keyword.control.flow.zig"},{match:"\\b(await|resume|suspend|async|nosuspend)\\b",name:"keyword.control.async.zig"},{match:"\\b(try|catch)\\b",name:"keyword.control.trycatch.zig"},{match:"\\b(if|else|switch|orelse)\\b",name:"keyword.control.conditional.zig"},{match:"\\b(null|undefined)\\b",name:"keyword.constant.default.zig"},{match:"\\b(true|false)\\b",name:"keyword.constant.bool.zig"},{match:"\\b(usingnamespace|test|and|or)\\b",name:"keyword.default.zig"},{match:"\\b(bool|void|noreturn|type|error|anyerror|anyframe|anytype|anyopaque)\\b",name:"keyword.type.zig"},{match:"\\b(f16|f32|f64|f80|f128|u\\d+|i\\d+|isize|usize|comptime_int|comptime_float)\\b",name:"keyword.type.integer.zig"},{match:"\\b(c_char|c_short|c_ushort|c_int|c_uint|c_long|c_ulong|c_longlong|c_ulonglong|c_longdouble)\\b",name:"keyword.type.c.zig"}]},numbers:{patterns:[{match:"\\b0x[0-9a-fA-F][0-9a-fA-F_]*(\\.[0-9a-fA-F][0-9a-fA-F_]*)?([pP][+-]?[0-9a-fA-F_]+)?\\b",name:"constant.numeric.hexfloat.zig"},{match:"\\b[0-9][0-9_]*(\\.[0-9][0-9_]*)?([eE][+-]?[0-9_]+)?\\b",name:"constant.numeric.float.zig"},{match:"\\b[0-9][0-9_]*\\b",name:"constant.numeric.decimal.zig"},{match:"\\b0x[a-fA-F0-9_]+\\b",name:"constant.numeric.hexadecimal.zig"},{match:"\\b0o[0-7_]+\\b",name:"constant.numeric.octal.zig"},{match:"\\b0b[01_]+\\b",name:"constant.numeric.binary.zig"},{match:"\\b[0-9](([eEpP][+-])|[0-9a-zA-Z_])*(\\.(([eEpP][+-])|[0-9a-zA-Z_])*)?([eEpP][+-])?[0-9a-zA-Z_]*\\b",name:"constant.numeric.invalid.zig"}]},operators:{patterns:[{match:"(?<=\\[)\\*c(?=\\])",name:"keyword.operator.c-pointer.zig"},{match:"(\\b(and|or)\\b)|(==|!=|<=|>=|<|>)",name:"keyword.operator.comparison.zig"},{match:"(-%?|\\+%?|\\*%?|/|%)=?",name:"keyword.operator.arithmetic.zig"},{match:"(<<%?|>>|!|&|\\^|\\|)=?",name:"keyword.operator.bitwise.zig"},{match:"(==|\\+\\+|\\*\\*|->)",name:"keyword.operator.special.zig"},{match:"=",name:"keyword.operator.assignment.zig"},{match:"\\?",name:"keyword.operator.question.zig"}]},punctuation:{patterns:[{match:"\\.",name:"punctuation.accessor.zig"},{match:",",name:"punctuation.comma.zig"},{match:":",name:"punctuation.separator.key-value.zig"},{match:";",name:"punctuation.terminator.statement.zig"}]},stringcontent:{patterns:[{match:`\\\\([nrt'"\\\\]|(x[0-9a-fA-F]{2})|(u\\{[0-9a-fA-F]+\\}))`,name:"constant.character.escape.zig"},{match:"\\\\.",name:"invalid.illegal.unrecognized-string-escape.zig"}]},strings:{patterns:[{begin:'"',end:'"',name:"string.quoted.double.zig",patterns:[{include:"#stringcontent"}]},{begin:"\\\\\\\\",end:"$",name:"string.multiline.zig"},{match:"'([^'\\\\]|\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.))'",name:"string.quoted.single.zig"}]},support:{patterns:[{comment:"Built-in functions",match:"@[_a-zA-Z][_a-zA-Z0-9]*",name:"support.function.builtin.zig"}]},variables:{patterns:[{name:"meta.function.declaration.zig",patterns:[{captures:{1:{name:"storage.type.function.zig"},2:{name:"entity.name.type.zig"}},match:"\\b(fn)\\s+([A-Z][a-zA-Z0-9]*)\\b"},{captures:{1:{name:"storage.type.function.zig"},2:{name:"entity.name.function.zig"}},match:"\\b(fn)\\s+([_a-zA-Z][_a-zA-Z0-9]*)\\b"},{begin:'\\b(fn)\\s+@"',beginCaptures:{1:{name:"storage.type.function.zig"}},end:'"',name:"entity.name.function.string.zig",patterns:[{include:"#stringcontent"}]},{match:"\\b(const|var|fn)\\b",name:"keyword.default.zig"}]},{name:"meta.function.call.zig",patterns:[{match:"([A-Z][a-zA-Z0-9]*)(?=\\s*\\()",name:"entity.name.type.zig"},{match:"([_a-zA-Z][_a-zA-Z0-9]*)(?=\\s*\\()",name:"entity.name.function.zig"}]},{name:"meta.variable.zig",patterns:[{match:"\\b[_a-zA-Z][_a-zA-Z0-9]*\\b",name:"variable.zig"},{begin:'@"',end:'"',name:"variable.string.zig",patterns:[{include:"#stringcontent"}]}]}]}},scopeName:"source.zig"});var n=[e];export{n as default};
1
+ const e=Object.freeze({displayName:"Zig",fileTypes:["zig","zon"],name:"zig",patterns:[{include:"#comments"},{include:"#strings"},{include:"#keywords"},{include:"#operators"},{include:"#punctuation"},{include:"#numbers"},{include:"#support"},{include:"#variables"}],repository:{commentContents:{patterns:[{match:"\\b(TODO|FIXME|XXX|NOTE)\\b:?",name:"keyword.todo.zig"}]},comments:{patterns:[{begin:"//[!/](?=[^/])",end:"$",name:"comment.line.documentation.zig",patterns:[{include:"#commentContents"}]},{begin:"//",end:"$",name:"comment.line.double-slash.zig",patterns:[{include:"#commentContents"}]}]},keywords:{patterns:[{match:"\\binline\\b(?!\\s*\\bfn\\b)",name:"keyword.control.repeat.zig"},{match:"\\b(while|for)\\b",name:"keyword.control.repeat.zig"},{match:"\\b(extern|packed|export|pub|noalias|inline|comptime|volatile|align|linksection|threadlocal|allowzero|noinline|callconv)\\b",name:"keyword.storage.zig"},{match:"\\b(struct|enum|union|opaque)\\b",name:"keyword.structure.zig"},{match:"\\b(asm|unreachable)\\b",name:"keyword.statement.zig"},{match:"\\b(break|return|continue|defer|errdefer)\\b",name:"keyword.control.flow.zig"},{match:"\\b(await|resume|suspend|async|nosuspend)\\b",name:"keyword.control.async.zig"},{match:"\\b(try|catch)\\b",name:"keyword.control.trycatch.zig"},{match:"\\b(if|else|switch|orelse)\\b",name:"keyword.control.conditional.zig"},{match:"\\b(null|undefined)\\b",name:"keyword.constant.default.zig"},{match:"\\b(true|false)\\b",name:"keyword.constant.bool.zig"},{match:"\\b(usingnamespace|test|and|or)\\b",name:"keyword.default.zig"},{match:"\\b(bool|void|noreturn|type|error|anyerror|anyframe|anytype|anyopaque)\\b",name:"keyword.type.zig"},{match:"\\b(f16|f32|f64|f80|f128|u\\d+|i\\d+|isize|usize|comptime_int|comptime_float)\\b",name:"keyword.type.integer.zig"},{match:"\\b(c_char|c_short|c_ushort|c_int|c_uint|c_long|c_ulong|c_longlong|c_ulonglong|c_longdouble)\\b",name:"keyword.type.c.zig"}]},numbers:{patterns:[{match:"\\b0x[0-9a-fA-F][0-9a-fA-F_]*(\\.[0-9a-fA-F][0-9a-fA-F_]*)?([pP][+-]?[0-9a-fA-F_]+)?\\b",name:"constant.numeric.hexfloat.zig"},{match:"\\b[0-9][0-9_]*(\\.[0-9][0-9_]*)?([eE][+-]?[0-9_]+)?\\b",name:"constant.numeric.float.zig"},{match:"\\b[0-9][0-9_]*\\b",name:"constant.numeric.decimal.zig"},{match:"\\b0x[a-fA-F0-9_]+\\b",name:"constant.numeric.hexadecimal.zig"},{match:"\\b0o[0-7_]+\\b",name:"constant.numeric.octal.zig"},{match:"\\b0b[01_]+\\b",name:"constant.numeric.binary.zig"},{match:"\\b[0-9](([eEpP][+-])|[0-9a-zA-Z_])*(\\.(([eEpP][+-])|[0-9a-zA-Z_])*)?([eEpP][+-])?[0-9a-zA-Z_]*\\b",name:"constant.numeric.invalid.zig"}]},operators:{patterns:[{match:"(?<=\\[)\\*c(?=\\])",name:"keyword.operator.c-pointer.zig"},{match:"(\\b(and|or)\\b)|(==|!=|<=|>=|<|>)",name:"keyword.operator.comparison.zig"},{match:"(-%?|\\+%?|\\*%?|/|%)=?",name:"keyword.operator.arithmetic.zig"},{match:"(<<%?|>>|!|~|&|\\^|\\|)=?",name:"keyword.operator.bitwise.zig"},{match:"(==|\\+\\+|\\*\\*|->)",name:"keyword.operator.special.zig"},{match:"=",name:"keyword.operator.assignment.zig"},{match:"\\?",name:"keyword.operator.question.zig"}]},punctuation:{patterns:[{match:"\\.",name:"punctuation.accessor.zig"},{match:",",name:"punctuation.comma.zig"},{match:":",name:"punctuation.separator.key-value.zig"},{match:";",name:"punctuation.terminator.statement.zig"}]},stringcontent:{patterns:[{match:`\\\\([nrt'"\\\\]|(x[0-9a-fA-F]{2})|(u\\{[0-9a-fA-F]+\\}))`,name:"constant.character.escape.zig"},{match:"\\\\.",name:"invalid.illegal.unrecognized-string-escape.zig"}]},strings:{patterns:[{begin:'"',end:'"',name:"string.quoted.double.zig",patterns:[{include:"#stringcontent"}]},{begin:"\\\\\\\\",end:"$",name:"string.multiline.zig"},{match:"'([^'\\\\]|\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.))'",name:"string.quoted.single.zig"}]},support:{patterns:[{comment:"Built-in functions",match:"@[_a-zA-Z][_a-zA-Z0-9]*",name:"support.function.builtin.zig"}]},variables:{patterns:[{name:"meta.function.declaration.zig",patterns:[{captures:{1:{name:"storage.type.function.zig"},2:{name:"entity.name.type.zig"}},match:"\\b(fn)\\s+([A-Z][a-zA-Z0-9]*)\\b"},{captures:{1:{name:"storage.type.function.zig"},2:{name:"entity.name.function.zig"}},match:"\\b(fn)\\s+([_a-zA-Z][_a-zA-Z0-9]*)\\b"},{begin:'\\b(fn)\\s+@"',beginCaptures:{1:{name:"storage.type.function.zig"}},end:'"',name:"entity.name.function.string.zig",patterns:[{include:"#stringcontent"}]},{match:"\\b(const|var|fn)\\b",name:"keyword.default.zig"}]},{name:"meta.function.call.zig",patterns:[{match:"([A-Z][a-zA-Z0-9]*)(?=\\s*\\()",name:"entity.name.type.zig"},{match:"([_a-zA-Z][_a-zA-Z0-9]*)(?=\\s*\\()",name:"entity.name.function.zig"}]},{name:"meta.variable.zig",patterns:[{match:"\\b[_a-zA-Z][_a-zA-Z0-9]*\\b",name:"variable.zig"},{begin:'@"',end:'"',name:"variable.string.zig",patterns:[{include:"#stringcontent"}]}]}]}},scopeName:"source.zig"});var n=[e];export{n as default};
package/dist/module.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "bridge": false
6
6
  },
7
7
  "configKey": "ogImage",
8
- "version": "3.0.0-rc.54",
8
+ "version": "3.0.0-rc.56",
9
9
  "builder": {
10
10
  "@nuxt/module-builder": "0.8.1",
11
11
  "unbuild": "2.0.0"
package/dist/module.mjs CHANGED
@@ -35,7 +35,7 @@ const NodeRuntime = {
35
35
  // node-server runtime
36
36
  "chromium": "on-demand",
37
37
  // this gets changed build start
38
- "css-inline": "node",
38
+ "css-inline": "wasm",
39
39
  "resvg": "node",
40
40
  "satori": "node",
41
41
  "sharp": "node"
@@ -54,7 +54,7 @@ const cloudflare = {
54
54
  };
55
55
  const awsLambda = {
56
56
  "chromium": false,
57
- "css-inline": "node",
57
+ "css-inline": "wasm",
58
58
  "resvg": "node",
59
59
  "satori": "node",
60
60
  "sharp": false
@@ -325,11 +325,13 @@ function setupPrerenderHandler(options, resolve, nuxt = useNuxt()) {
325
325
  nitroConfig.wasm = nitroConfig.wasm || {};
326
326
  nitroConfig.wasm.esmImport = false;
327
327
  const prerenderingPages = (nuxt.options.nitro.prerender?.routes || []).some((r) => r && (!r.includes(".") || r.includes("*")));
328
- prerenderingPages && assertSiteConfig("nuxt-og-image", {
329
- url: "OG Image tags are required to be absolute URLs."
330
- }, {
331
- throwError: false
332
- });
328
+ if (prerenderingPages) {
329
+ assertSiteConfig("nuxt-og-image", {
330
+ url: "OG Image tags are required to be absolute URLs."
331
+ }, {
332
+ throwError: false
333
+ });
334
+ }
333
335
  });
334
336
  });
335
337
  }
@@ -731,7 +733,7 @@ declare module '#nuxt-og-image/unocss-config' {
731
733
  });
732
734
  const cacheEnabled = typeof config.runtimeCacheStorage !== "undefined" && config.runtimeCacheStorage !== false;
733
735
  const runtimeCacheStorage = typeof config.runtimeCacheStorage === "boolean" ? "default" : config.runtimeCacheStorage.driver;
734
- let baseCacheKey = runtimeCacheStorage === "default" ? `/cache/nuxt-og-image@${version}` : `/nuxt-og-image/${version}`;
736
+ let baseCacheKey = runtimeCacheStorage === "default" ? `/cache/nuxt-og-image/${version}` : `/nuxt-og-image/${version}`;
735
737
  if (!cacheEnabled)
736
738
  baseCacheKey = false;
737
739
  if (!nuxt.options.dev && config.runtimeCacheStorage && typeof config.runtimeCacheStorage === "object") {
@@ -1,8 +1,7 @@
1
- import { inline } from '@css-inline/css-inline';
2
1
  declare const _default: {
3
2
  initWasmPromise: Promise<void>;
4
3
  cssInline: {
5
- inline: typeof inline;
4
+ inline: any;
6
5
  };
7
6
  };
8
7
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import type _sharp from 'sharp';
2
2
  import type _satori from 'satori';
3
- import type _cssInline from '@css-inline/css-inline';
3
+ import type _cssInline from '@css-inline/css-inline-wasm';
4
4
  export declare function useResvg(): Promise<new (svg: Uint8Array | string, options?: import("@resvg/resvg-wasm").ResvgRenderOptions) => {
5
5
  free(): void;
6
6
  render(): {
@@ -1,3 +1,3 @@
1
1
  import type { NuxtIslandResponse } from 'nuxt/dist/core/runtime/nitro/renderer';
2
2
  import type { OgImageRenderEventContext } from '../../../../types.js';
3
- export declare function applyInlineCss({ e }: OgImageRenderEventContext, island: NuxtIslandResponse): Promise<boolean>;
3
+ export declare function applyInlineCss(ctx: OgImageRenderEventContext, island: NuxtIslandResponse): Promise<boolean>;
@@ -1,41 +1,42 @@
1
1
  import { useCssInline } from "../instances.js";
2
2
  import { useNitroOrigin } from "#imports";
3
- import cssInline from "#nuxt-og-image/bindings/css-inline";
4
- export async function applyInlineCss({ e }, island) {
3
+ export async function applyInlineCss(ctx, island) {
4
+ const { e } = ctx;
5
5
  let html = island.html;
6
- if (!cssInline.__unenv__) {
7
- let css = island.head.style.map((s) => s.innerHTML).join("\n");
8
- const componentInlineStyles = island.head.link.filter((l) => l.href.startsWith("/_nuxt/components"));
9
- if (process.dev) {
10
- const linksToCss = componentInlineStyles.length ? (await Promise.all(
11
- componentInlineStyles.map((l) => {
12
- const url = l.href.endsWith("lang.css") ? `${l.href}&hmr=false` : l.href;
13
- return e.$fetch(url, {
14
- responseType: "text",
15
- baseURL: useNitroOrigin(e)
16
- }).then((res) => {
17
- if (res.includes("__vite__css"))
18
- return res.match(/__vite__css = "([^"]+)"/)?.[1];
19
- return res.trim().split("\n").filter((l2) => !l2.startsWith("//")).join("\n").trim();
20
- }).catch(() => {
21
- return "";
22
- });
23
- })
24
- )).join("\n") : "";
25
- css = `${linksToCss}${css}`;
26
- }
27
- if (!css.trim().length)
28
- return false;
29
- const cssInline2 = await useCssInline();
30
- html = cssInline2.inline(island.html, {
31
- loadRemoteStylesheets: false,
32
- extraCss: css
33
- });
34
- const classes = css.match(/\.([\w-]+)/g)?.map((c) => c.replace(".", ""));
35
- if (classes)
36
- html = html.replace(new RegExp(`class="(${classes.join("|")})"`, "g"), "");
37
- island.html = html;
38
- return true;
6
+ let css = island.head.style.map((s) => s.innerHTML).filter(Boolean).join("\n");
7
+ const componentInlineStyles = island.head.link.filter((l) => l.href.startsWith("/_nuxt/components") && l.href.replaceAll("/", "").includes(ctx.options.component));
8
+ if (!import.meta.prerender && !componentInlineStyles.length) {
9
+ return false;
39
10
  }
40
- return false;
11
+ let linksToCss = [];
12
+ if (import.meta.dev) {
13
+ linksToCss = componentInlineStyles.length ? (await Promise.all(
14
+ componentInlineStyles.map((l) => {
15
+ const url = l.href.endsWith("lang.css") ? `${l.href}&hmr=false` : l.href;
16
+ return e.$fetch(url, {
17
+ responseType: "text",
18
+ baseURL: useNitroOrigin(e)
19
+ }).then((res) => {
20
+ if (res.includes("__vite__css"))
21
+ return res.match(/__vite__css = "([^"]+)"/)?.[1];
22
+ return res.trim().split("\n").filter((l2) => !l2.startsWith("//")).join("\n").trim();
23
+ }).catch(() => {
24
+ return "";
25
+ });
26
+ })
27
+ )).join("\n") : "";
28
+ css = [linksToCss, css].join("\n");
29
+ }
30
+ if (!css.trim().length)
31
+ return false;
32
+ const cssInline = await useCssInline();
33
+ html = cssInline.inline(island.html, {
34
+ loadRemoteStylesheets: false,
35
+ extraCss: css
36
+ });
37
+ const classes = css.match(/\.([\w-]+)/g)?.map((c) => c.replace(".", ""));
38
+ if (classes)
39
+ html = html.replace(new RegExp(`class="(${classes.join("|")})"`, "g"), "");
40
+ island.html = html;
41
+ return true;
41
42
  }
@@ -18,6 +18,9 @@ export async function createVNodes(ctx) {
18
18
  await applyInlineCss(ctx, island);
19
19
  await applyEmojis(ctx, island);
20
20
  html = island.html;
21
+ if (html?.includes("<body>")) {
22
+ html = html.match(/<body>([\s\S]*)<\/body>/)?.[1] || "";
23
+ }
21
24
  }
22
25
  const template = `<div style="position: relative; display: flex; margin: 0 auto; width: ${ctx.options.width}px; height: ${ctx.options.height}px; overflow: hidden;">${html}</div>`;
23
26
  const satoriTree = convertHtmlToSatori(template);
@@ -27,7 +27,7 @@ export function defineOgImage(_options = {}) {
27
27
  options._query = route.query;
28
28
  const { defaults } = useOgImageRuntimeConfig();
29
29
  const resolvedOptions = normaliseOptions(defu(separateProps(_options), separateProps(routeRules), defaults));
30
- if (_options.url) {
30
+ if (resolvedOptions.url) {
31
31
  createOgImageMeta(null, options, resolvedOptions, nuxtApp.ssrContext);
32
32
  } else {
33
33
  const path = getOgImagePath(basePath, resolvedOptions);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nuxt-og-image",
3
3
  "type": "module",
4
- "version": "3.0.0-rc.55",
4
+ "version": "3.0.0-rc.57",
5
5
  "description": "Enlightened OG Image generation for Nuxt.",
6
6
  "author": {
7
7
  "website": "https://harlanzw.com",
@@ -35,14 +35,13 @@
35
35
  "node": ">=18.0.0"
36
36
  },
37
37
  "dependencies": {
38
- "@css-inline/css-inline": "0.14.1",
39
38
  "@css-inline/css-inline-wasm": "0.14.1",
40
39
  "@nuxt/devtools-kit": "^1.3.9",
41
40
  "@nuxt/kit": "^3.12.3",
42
41
  "@resvg/resvg-js": "^2.6.2",
43
42
  "@resvg/resvg-wasm": "^2.6.2",
44
- "@unocss/core": "0.61.0",
45
- "@unocss/preset-wind": "0.61.0",
43
+ "@unocss/core": "0.61.3",
44
+ "@unocss/preset-wind": "0.61.3",
46
45
  "@vueuse/core": "^10.11.0",
47
46
  "chrome-launcher": "^1.1.2",
48
47
  "defu": "^6.1.4",
@@ -51,9 +50,8 @@
51
50
  "floating-vue": "5.2.2",
52
51
  "image-size": "^1.1.1",
53
52
  "json-editor-vue": "^0.15.1",
54
- "nuxt-icon": "^0.6.10",
55
- "nuxt-site-config": "^2.2.12",
56
- "nuxt-site-config-kit": "^2.2.12",
53
+ "nuxt-site-config": "^2.2.14",
54
+ "nuxt-site-config-kit": "^2.2.14",
57
55
  "nypm": "^0.3.9",
58
56
  "ofetch": "^1.3.4",
59
57
  "ohash": "^1.1.3",
@@ -61,9 +59,9 @@
61
59
  "pkg-types": "^1.1.3",
62
60
  "playwright-core": "^1.45.1",
63
61
  "radix3": "^1.1.2",
64
- "satori": "0.10.13",
62
+ "satori": "0.10.14",
65
63
  "satori-html": "^0.3.2",
66
- "shiki": "^1.10.1",
64
+ "shiki": "^1.10.3",
67
65
  "sirv": "^2.0.4",
68
66
  "splitpanes": "^3.1.5",
69
67
  "std-env": "^3.7.0",
@@ -73,17 +71,18 @@
73
71
  "yoga-wasm-web": "^0.3.3"
74
72
  },
75
73
  "devDependencies": {
76
- "@antfu/eslint-config": "^2.21.2",
74
+ "@antfu/eslint-config": "^2.22.0",
77
75
  "@headlessui/vue": "^1.7.22",
78
76
  "@iconify-json/carbon": "^1.1.36",
79
77
  "@iconify-json/logos": "^1.1.43",
80
78
  "@iconify-json/noto": "^1.1.18",
81
79
  "@iconify-json/ri": "^1.1.21",
82
- "@iconify-json/tabler": "^1.1.115",
80
+ "@iconify-json/tabler": "^1.1.117",
83
81
  "@img/sharp-linux-x64": "0.33.4",
84
- "@nuxt/content": "^2.13.0",
85
- "@nuxt/devtools": "1.3.3",
82
+ "@nuxt/content": "^2.13.1",
83
+ "@nuxt/devtools": "1.3.9",
86
84
  "@nuxt/devtools-ui-kit": "^1.3.9",
85
+ "@nuxt/icon": "^1.0.0",
87
86
  "@nuxt/image": "^1.7.0",
88
87
  "@nuxt/module-builder": "^0.8.1",
89
88
  "@nuxt/test-utils": "3.13.1",
@@ -92,22 +91,21 @@
92
91
  "@nuxtjs/eslint-config-typescript": "^12.1.0",
93
92
  "@nuxtjs/i18n": "^8.3.1",
94
93
  "@nuxtjs/tailwindcss": "^6.12.0",
95
- "@unocss/nuxt": "0.61.0",
96
- "@unocss/preset-icons": "0.61.0",
97
- "@unocss/preset-uno": "0.61.0",
98
- "@unocss/runtime": "0.61.0",
94
+ "@unocss/nuxt": "0.61.3",
95
+ "@unocss/preset-icons": "0.61.3",
96
+ "@unocss/preset-uno": "0.61.3",
97
+ "@unocss/runtime": "0.61.3",
99
98
  "@vueuse/nuxt": "^10.11.0",
100
99
  "bumpp": "^9.4.1",
101
- "eslint": "9.5.0",
100
+ "eslint": "9.6.0",
102
101
  "jest-image-snapshot": "^6.4.0",
103
102
  "nuxt": "^3.12.3",
104
- "nuxt-icon": "0.6.10",
105
103
  "playwright": "^1.45.1",
106
- "sass": "^1.77.6",
104
+ "sass": "^1.77.7",
107
105
  "sharp": "^0.33.4",
108
106
  "typescript": "^5.5.3",
109
- "unocss": "0.61.0",
110
- "vitest": "^1.6.0"
107
+ "unocss": "0.61.3",
108
+ "vitest": "^2.0.2"
111
109
  },
112
110
  "build": {
113
111
  "externals": [
@@ -1 +0,0 @@
1
- var e=Object.freeze({colors:{"activityBar.activeBorder":"#80CBC4","activityBar.background":"#263238","activityBar.border":"#26323860","activityBar.dropBackground":"#f0717880","activityBar.foreground":"#EEFFFF","activityBarBadge.background":"#80CBC4","activityBarBadge.foreground":"#000000","badge.background":"#00000030","badge.foreground":"#546E7A","breadcrumb.activeSelectionForeground":"#80CBC4","breadcrumb.background":"#263238","breadcrumb.focusForeground":"#EEFFFF","breadcrumb.foreground":"#6c8692","breadcrumbPicker.background":"#263238","button.background":"#80CBC420","button.foreground":"#ffffff","debugConsole.errorForeground":"#f07178","debugConsole.infoForeground":"#89DDFF","debugConsole.warningForeground":"#FFCB6B","debugToolBar.background":"#263238","diffEditor.insertedTextBackground":"#89DDFF20","diffEditor.removedTextBackground":"#ff9cac20","dropdown.background":"#263238","dropdown.border":"#FFFFFF10","editor.background":"#263238","editor.findMatchBackground":"#000000","editor.findMatchBorder":"#80CBC4","editor.findMatchHighlight":"#EEFFFF","editor.findMatchHighlightBackground":"#00000050","editor.findMatchHighlightBorder":"#ffffff30","editor.findRangeHighlightBackground":"#FFCB6B30","editor.foreground":"#EEFFFF","editor.lineHighlightBackground":"#00000050","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#FFFFFF0d","editor.selectionBackground":"#80CBC420","editor.selectionHighlightBackground":"#FFCC0020","editor.wordHighlightBackground":"#ff9cac30","editor.wordHighlightStrongBackground":"#C3E88D30","editorBracketMatch.background":"#263238","editorBracketMatch.border":"#FFCC0050","editorCursor.foreground":"#FFCC00","editorError.foreground":"#f0717870","editorGroup.border":"#00000030","editorGroup.dropBackground":"#f0717880","editorGroup.focusedEmptyBorder":"#f07178","editorGroupHeader.tabsBackground":"#263238","editorGutter.addedBackground":"#C3E88D60","editorGutter.deletedBackground":"#f0717860","editorGutter.modifiedBackground":"#82AAFF60","editorHoverWidget.background":"#263238","editorHoverWidget.border":"#FFFFFF10","editorIndentGuide.activeBackground":"#37474F","editorIndentGuide.background":"#37474F70","editorInfo.foreground":"#82AAFF70","editorLineNumber.activeForeground":"#6c8692","editorLineNumber.foreground":"#465A64","editorLink.activeForeground":"#EEFFFF","editorMarkerNavigation.background":"#EEFFFF05","editorOverviewRuler.border":"#263238","editorOverviewRuler.errorForeground":"#f0717840","editorOverviewRuler.findMatchForeground":"#80CBC4","editorOverviewRuler.infoForeground":"#82AAFF40","editorOverviewRuler.warningForeground":"#FFCB6B40","editorRuler.foreground":"#37474F","editorSuggestWidget.background":"#263238","editorSuggestWidget.border":"#FFFFFF10","editorSuggestWidget.foreground":"#EEFFFF","editorSuggestWidget.highlightForeground":"#80CBC4","editorSuggestWidget.selectedBackground":"#00000050","editorWarning.foreground":"#FFCB6B70","editorWhitespace.foreground":"#EEFFFF40","editorWidget.background":"#263238","editorWidget.border":"#80CBC4","editorWidget.resizeBorder":"#80CBC4","extensionBadge.remoteForeground":"#EEFFFF","extensionButton.prominentBackground":"#C3E88D90","extensionButton.prominentForeground":"#EEFFFF","extensionButton.prominentHoverBackground":"#C3E88D",focusBorder:"#FFFFFF00",foreground:"#EEFFFF","gitDecoration.conflictingResourceForeground":"#FFCB6B90","gitDecoration.deletedResourceForeground":"#f0717890","gitDecoration.ignoredResourceForeground":"#6c869290","gitDecoration.modifiedResourceForeground":"#82AAFF90","gitDecoration.untrackedResourceForeground":"#C3E88D90","input.background":"#303C41","input.border":"#FFFFFF10","input.foreground":"#EEFFFF","input.placeholderForeground":"#EEFFFF60","inputOption.activeBackground":"#EEFFFF30","inputOption.activeBorder":"#EEFFFF30","inputValidation.errorBorder":"#f07178","inputValidation.infoBorder":"#82AAFF","inputValidation.warningBorder":"#FFCB6B","list.activeSelectionBackground":"#263238","list.activeSelectionForeground":"#80CBC4","list.dropBackground":"#f0717880","list.focusBackground":"#EEFFFF20","list.focusForeground":"#EEFFFF","list.highlightForeground":"#80CBC4","list.hoverBackground":"#263238","list.hoverForeground":"#FFFFFF","list.inactiveSelectionBackground":"#00000030","list.inactiveSelectionForeground":"#80CBC4","listFilterWidget.background":"#00000030","listFilterWidget.noMatchesOutline":"#00000030","listFilterWidget.outline":"#00000030","menu.background":"#263238","menu.foreground":"#EEFFFF","menu.selectionBackground":"#00000050","menu.selectionBorder":"#00000030","menu.selectionForeground":"#80CBC4","menu.separatorBackground":"#EEFFFF","menubar.selectionBackground":"#00000030","menubar.selectionBorder":"#00000030","menubar.selectionForeground":"#80CBC4","notebook.focusedCellBorder":"#80CBC4","notebook.inactiveFocusedCellBorder":"#80CBC450","notificationLink.foreground":"#80CBC4","notifications.background":"#263238","notifications.foreground":"#EEFFFF","panel.background":"#263238","panel.border":"#26323860","panel.dropBackground":"#EEFFFF","panelTitle.activeBorder":"#80CBC4","panelTitle.activeForeground":"#FFFFFF","panelTitle.inactiveForeground":"#EEFFFF","peekView.border":"#00000030","peekViewEditor.background":"#EEFFFF05","peekViewEditor.matchHighlightBackground":"#80CBC420","peekViewEditorGutter.background":"#EEFFFF05","peekViewResult.background":"#EEFFFF05","peekViewResult.matchHighlightBackground":"#80CBC420","peekViewResult.selectionBackground":"#6c869270","peekViewTitle.background":"#EEFFFF05","peekViewTitleDescription.foreground":"#EEFFFF60","pickerGroup.border":"#FFFFFF1a","pickerGroup.foreground":"#80CBC4","progressBar.background":"#80CBC4","quickInput.background":"#263238","quickInput.foreground":"#6c8692","quickInput.list.focusBackground":"#EEFFFF20","sash.hoverBorder":"#80CBC450","scrollbar.shadow":"#00000030","scrollbarSlider.activeBackground":"#80CBC4","scrollbarSlider.background":"#EEFFFF20","scrollbarSlider.hoverBackground":"#EEFFFF10","selection.background":"#00000080","settings.checkboxBackground":"#263238","settings.checkboxForeground":"#EEFFFF","settings.dropdownBackground":"#263238","settings.dropdownForeground":"#EEFFFF","settings.headerForeground":"#80CBC4","settings.modifiedItemIndicator":"#80CBC4","settings.numberInputBackground":"#263238","settings.numberInputForeground":"#EEFFFF","settings.textInputBackground":"#263238","settings.textInputForeground":"#EEFFFF","sideBar.background":"#263238","sideBar.border":"#26323860","sideBar.foreground":"#6c8692","sideBarSectionHeader.background":"#263238","sideBarSectionHeader.border":"#26323860","sideBarTitle.foreground":"#EEFFFF","statusBar.background":"#263238","statusBar.border":"#26323860","statusBar.debuggingBackground":"#C792EA","statusBar.debuggingForeground":"#ffffff","statusBar.foreground":"#546E7A","statusBar.noFolderBackground":"#263238","statusBarItem.activeBackground":"#f0717880","statusBarItem.hoverBackground":"#546E7A20","statusBarItem.remoteBackground":"#80CBC4","statusBarItem.remoteForeground":"#000000","tab.activeBackground":"#263238","tab.activeBorder":"#80CBC4","tab.activeForeground":"#FFFFFF","tab.activeModifiedBorder":"#6c8692","tab.border":"#263238","tab.inactiveBackground":"#263238","tab.inactiveForeground":"#6c8692","tab.inactiveModifiedBorder":"#904348","tab.unfocusedActiveBorder":"#546E7A","tab.unfocusedActiveForeground":"#EEFFFF","tab.unfocusedActiveModifiedBorder":"#c05a60","tab.unfocusedInactiveModifiedBorder":"#904348","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#82AAFF","terminal.ansiBrightBlack":"#546E7A","terminal.ansiBrightBlue":"#82AAFF","terminal.ansiBrightCyan":"#89DDFF","terminal.ansiBrightGreen":"#C3E88D","terminal.ansiBrightMagenta":"#C792EA","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#FFCB6B","terminal.ansiCyan":"#89DDFF","terminal.ansiGreen":"#C3E88D","terminal.ansiMagenta":"#C792EA","terminal.ansiRed":"#f07178","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#FFCB6B","terminalCursor.background":"#000000","terminalCursor.foreground":"#FFCB6B","textLink.activeForeground":"#EEFFFF","textLink.foreground":"#80CBC4","titleBar.activeBackground":"#263238","titleBar.activeForeground":"#EEFFFF","titleBar.border":"#26323860","titleBar.inactiveBackground":"#263238","titleBar.inactiveForeground":"#6c8692","tree.indentGuidesStroke":"#37474F","widget.shadow":"#00000030"},displayName:"Material Theme",name:"material-theme",semanticHighlighting:!0,tokenColors:[{settings:{background:"#263238",foreground:"#EEFFFF"}},{scope:"string",settings:{foreground:"#C3E88D"}},{scope:"punctuation, constant.other.symbol",settings:{foreground:"#89DDFF"}},{scope:"constant.character.escape, text.html constant.character.entity.named",settings:{foreground:"#EEFFFF"}},{scope:"constant.language.boolean",settings:{foreground:"#ff9cac"}},{scope:"constant.numeric",settings:{foreground:"#F78C6C"}},{scope:"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments",settings:{foreground:"#EEFFFF"}},{scope:"keyword.other",settings:{foreground:"#F78C6C"}},{scope:"keyword, modifier, variable.language.this, support.type.object, constant.language",settings:{foreground:"#89DDFF"}},{scope:"entity.name.function, support.function",settings:{foreground:"#82AAFF"}},{scope:"storage.type, storage.modifier, storage.control",settings:{foreground:"#C792EA"}},{scope:"support.module, support.node",settings:{fontStyle:"italic",foreground:"#f07178"}},{scope:"support.type, constant.other.key",settings:{foreground:"#FFCB6B"}},{scope:"entity.name.type, entity.other.inherited-class, entity.other",settings:{foreground:"#FFCB6B"}},{scope:"comment",settings:{fontStyle:"italic",foreground:"#546E7A"}},{scope:"comment punctuation.definition.comment, string.quoted.docstring",settings:{fontStyle:"italic",foreground:"#546E7A"}},{scope:"punctuation",settings:{foreground:"#89DDFF"}},{scope:"entity.name, entity.name.type.class, support.type, support.class, meta.use",settings:{foreground:"#FFCB6B"}},{scope:"variable.object.property, meta.field.declaration entity.name.function",settings:{foreground:"#f07178"}},{scope:"meta.definition.method entity.name.function",settings:{foreground:"#f07178"}},{scope:"meta.function entity.name.function",settings:{foreground:"#82AAFF"}},{scope:"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end",settings:{foreground:"#89DDFF"}},{scope:"meta.embedded, source.groovy.embedded, meta.template.expression",settings:{foreground:"#EEFFFF"}},{scope:"entity.name.tag.yaml",settings:{foreground:"#f07178"}},{scope:"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json",settings:{foreground:"#f07178"}},{scope:"constant.language.json",settings:{foreground:"#89DDFF"}},{scope:"entity.other.attribute-name.class",settings:{foreground:"#FFCB6B"}},{scope:"entity.other.attribute-name.id",settings:{foreground:"#F78C6C"}},{scope:"source.css entity.name.tag",settings:{foreground:"#FFCB6B"}},{scope:"support.type.property-name.css",settings:{foreground:"#B2CCD6"}},{scope:"meta.tag, punctuation.definition.tag",settings:{foreground:"#89DDFF"}},{scope:"entity.name.tag",settings:{foreground:"#f07178"}},{scope:"entity.other.attribute-name",settings:{foreground:"#C792EA"}},{scope:"punctuation.definition.entity.html",settings:{foreground:"#EEFFFF"}},{scope:"markup.heading",settings:{foreground:"#89DDFF"}},{scope:"text.html.markdown meta.link.inline, meta.link.reference",settings:{foreground:"#f07178"}},{scope:"text.html.markdown beginning.punctuation.definition.list",settings:{foreground:"#89DDFF"}},{scope:"markup.italic",settings:{fontStyle:"italic",foreground:"#f07178"}},{scope:"markup.bold",settings:{fontStyle:"bold",foreground:"#f07178"}},{scope:"markup.bold markup.italic, markup.italic markup.bold",settings:{fontStyle:"italic bold",foreground:"#f07178"}},{scope:"markup.fenced_code.block.markdown punctuation.definition.markdown",settings:{foreground:"#C3E88D"}},{scope:"markup.inline.raw.string.markdown",settings:{foreground:"#C3E88D"}},{scope:"keyword.other.definition.ini",settings:{foreground:"#f07178"}},{scope:"entity.name.section.group-title.ini",settings:{foreground:"#89DDFF"}},{scope:"source.cs meta.class.identifier storage.type",settings:{foreground:"#FFCB6B"}},{scope:"source.cs meta.method.identifier entity.name.function",settings:{foreground:"#f07178"}},{scope:"source.cs meta.method-call meta.method, source.cs entity.name.function",settings:{foreground:"#82AAFF"}},{scope:"source.cs storage.type",settings:{foreground:"#FFCB6B"}},{scope:"source.cs meta.method.return-type",settings:{foreground:"#FFCB6B"}},{scope:"source.cs meta.preprocessor",settings:{foreground:"#546E7A"}},{scope:"source.cs entity.name.type.namespace",settings:{foreground:"#EEFFFF"}},{scope:"meta.jsx.children, SXNested",settings:{foreground:"#EEFFFF"}},{scope:"support.class.component",settings:{foreground:"#FFCB6B"}},{scope:"source.cpp meta.block variable.other",settings:{foreground:"#EEFFFF"}},{scope:"source.python meta.member.access.python",settings:{foreground:"#f07178"}},{scope:"source.python meta.function-call.python, meta.function-call.arguments",settings:{foreground:"#82AAFF"}},{scope:"meta.block",settings:{foreground:"#f07178"}},{scope:"entity.name.function.call",settings:{foreground:"#82AAFF"}},{scope:"source.php support.other.namespace, source.php meta.use support.class",settings:{foreground:"#EEFFFF"}},{scope:"constant.keyword",settings:{fontStyle:"italic",foreground:"#89DDFF"}},{scope:"entity.name.function",settings:{foreground:"#82AAFF"}},{settings:{background:"#263238",foreground:"#EEFFFF"}},{scope:["constant.other.placeholder"],settings:{foreground:"#f07178"}},{scope:["markup.deleted"],settings:{foreground:"#f07178"}},{scope:["markup.inserted"],settings:{foreground:"#C3E88D"}},{scope:["markup.underline"],settings:{fontStyle:"underline"}},{scope:["keyword.control"],settings:{fontStyle:"italic",foreground:"#89DDFF"}},{scope:["variable.parameter"],settings:{fontStyle:"italic"}},{scope:["variable.parameter.function.language.special.self.python"],settings:{fontStyle:"italic",foreground:"#f07178"}},{scope:["constant.character.format.placeholder.other.python"],settings:{foreground:"#F78C6C"}},{scope:["markup.quote"],settings:{fontStyle:"italic",foreground:"#89DDFF"}},{scope:["markup.fenced_code.block"],settings:{foreground:"#EEFFFF90"}},{scope:["punctuation.definition.quote"],settings:{foreground:"#ff9cac"}},{scope:["meta.structure.dictionary.json support.type.property-name.json"],settings:{foreground:"#C792EA"}},{scope:["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],settings:{foreground:"#FFCB6B"}},{scope:["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],settings:{foreground:"#F78C6C"}},{scope:["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],settings:{foreground:"#f07178"}},{scope:["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],settings:{foreground:"#916b53"}},{scope:["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],settings:{foreground:"#82AAFF"}},{scope:["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],settings:{foreground:"#ff9cac"}},{scope:["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],settings:{foreground:"#C792EA"}},{scope:["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],settings:{foreground:"#C3E88D"}}],type:"dark"});export{e as default};
@@ -1,66 +0,0 @@
1
- const e=Object.freeze({displayName:"GDScript",fileTypes:["gd"],name:"gdscript",patterns:[{include:"#statement"},{include:"#expression"}],repository:{annotated_parameter:{begin:`(?x)
2
- \\s* ([a-zA-Z_]\\w*) \\s* (:)\\s* ([a-zA-Z_]\\w*)?
3
- `,beginCaptures:{1:{name:"variable.parameter.function.language.gdscript"},2:{name:"punctuation.separator.annotation.gdscript"},3:{name:"entity.name.type.class.gdscript"}},end:"(,)|(?=\\))",endCaptures:{1:{name:"punctuation.separator.parameters.gdscript"}},patterns:[{include:"#base_expression"},{match:"=(?!=)",name:"keyword.operator.assignment.gdscript"}]},annotations:{captures:{1:{name:"entity.name.function.decorator.gdscript"},2:{name:"entity.name.function.decorator.gdscript"}},match:"(@)(export|export_color_no_alpha|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|icon|onready|rpc|tool|warning_ignore|abstract)\\b"},any_method:{match:"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))",name:"support.function.any-method.gdscript"},any_property:{captures:{1:{name:"punctuation.accessor.gdscript"},2:{name:"constant.language.gdscript"},3:{name:"variable.other.property.gdscript"}},match:"\\b(\\.)\\s*(?<![@\\$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\w*))\\b(?![(])"},any_variable:{match:"\\b(?<![@\\$#%])([A-Za-z_]\\w*)\\b(?![(])",name:"variable.other.gdscript"},arithmetic_operator:{match:"->|\\+=|-=|\\*=|\\^=|/=|%=|&=|~=|\\|=|\\*\\*|\\*|/|%|\\+|-",name:"keyword.operator.arithmetic.gdscript"},assignment_operator:{match:"=",name:"keyword.operator.assignment.gdscript"},base_expression:{patterns:[{include:"#builtin_get_node_shorthand"},{include:"#nodepath_object"},{include:"#nodepath_function"},{include:"#strings"},{include:"#builtin_classes"},{include:"#const_vars"},{include:"#keywords"},{include:"#operators"},{include:"#lambda_declaration"},{include:"#class_declaration"},{include:"#variable_declaration"},{include:"#signal_declaration_bare"},{include:"#signal_declaration"},{include:"#function_declaration"},{include:"#statement_keyword"},{include:"#assignment_operator"},{include:"#in_keyword"},{include:"#control_flow"},{include:"#round_braces"},{include:"#function_call"},{include:"#comment"},{include:"#self"},{include:"#func"},{include:"#letter"},{include:"#numbers"},{include:"#pascal_case_class"},{include:"#line_continuation"}]},bitwise_operator:{match:"&|\\||<<=|>>=|<<|>>|\\^|~",name:"keyword.operator.bitwise.gdscript"},boolean_operator:{match:"(&&|\\|\\|)",name:"keyword.operator.boolean.gdscript"},builtin_classes:{match:"(?<![^.]\\.|:)\\b(OS|GDScript|Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray|super)\\b",name:"entity.name.type.class.builtin.gdscript"},builtin_get_node_shorthand:{patterns:[{include:"#builtin_get_node_shorthand_quoted"},{include:"#builtin_get_node_shorthand_bare"},{include:"#builtin_get_node_shorthand_bare_multi"}]},builtin_get_node_shorthand_bare:{captures:{1:{name:"keyword.control.flow.gdscript"},2:{name:"constant.character.escape.gdscript"},3:{name:"constant.character.escape.gdscript"}},match:"(?<!/\\s*)(\\$|%|\\$%)([a-zA-Z_]\\w*)\\b(?!\\s*/)",name:"meta.literal.nodepath.gdscript"},builtin_get_node_shorthand_bare_multi:{begin:"(\\$|%|\\$%)([a-zA-Z_]\\w*)",beginCaptures:{1:{name:"keyword.control.flow.gdscript"},2:{name:"constant.character.escape.gdscript"}},end:"(?!\\s*/\\s*%?\\s*[a-zA-Z_]\\w*)",name:"meta.literal.nodepath.gdscript",patterns:[{captures:{1:{name:"constant.character.escape.gdscript"},2:{name:"keyword.control.flow.gdscript"},3:{name:"constant.character.escape.gdscript"}},match:"(/)\\s*(%)?\\s*([a-zA-Z_]\\w*)\\s*"}]},builtin_get_node_shorthand_quoted:{begin:`(?:(\\$)|(&|\\^|@))("|')`,beginCaptures:{1:{name:"keyword.control.flow.gdscript"},2:{name:"variable.other.enummember.gdscript"}},end:"(\\3)",name:"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript",patterns:[{match:"%",name:"keyword.control.flow"}]},class_declaration:{captures:{1:{name:"entity.name.type.class.gdscript"},2:{name:"class.other.gdscript"}},match:"(?<=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)"},class_enum:{captures:{1:{name:"entity.name.type.class.gdscript"},2:{name:"constant.language.gdscript"}},match:"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)"},class_is:{captures:{1:{name:"storage.type.is.gdscript"},2:{name:"entity.name.type.class.gdscript"}},match:"\\s+(is)\\s+([a-zA-Z_]\\w*)"},class_name:{captures:{1:{name:"entity.name.type.class.gdscript"},2:{name:"class.other.gdscript"}},match:"(?<=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)"},class_new:{captures:{1:{name:"entity.name.type.class.gdscript"},2:{name:"storage.type.new.gdscript"},3:{name:"punctuation.parenthesis.begin.gdscript"}},match:"\\b([a-zA-Z_]\\w*).(new)\\("},comment:{captures:{1:{name:"punctuation.definition.comment.number-sign.gdscript"}},match:"(##|#).*$\\n?",name:"comment.line.number-sign.gdscript"},compare_operator:{match:"<=|>=|==|<|>|!=|!",name:"keyword.operator.comparison.gdscript"},const_vars:{match:"\\b([A-Z_][A-Z_0-9]*)\\b",name:"constant.language.gdscript"},control_flow:{match:"\\b(?:if|elif|else|while|break|continue|pass|return|match|when|yield|await)\\b",name:"keyword.control.gdscript"},expression:{patterns:[{include:"#base_expression"},{include:"#getter_setter_godot4"},{include:"#assignment_operator"},{include:"#annotations"},{include:"#class_name"},{include:"#builtin_classes"},{include:"#class_new"},{include:"#class_is"},{include:"#class_enum"},{include:"#any_method"},{include:"#any_variable"},{include:"#any_property"}]},extends_statement:{captures:{1:{name:"keyword.language.gdscript"},2:{name:"entity.other.inherited-class.gdscript"}},match:"(extends)\\s+([a-zA-Z_]\\w*\\.[a-zA-Z_]\\w*)?"},func:{match:"\\bfunc\\b",name:"keyword.language.gdscript"},function_arguments:{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.arguments.begin.gdscript"}},contentName:"meta.function.parameters.gdscript",end:"(?=\\))(?!\\)\\s*\\()",patterns:[{match:"(,)",name:"punctuation.separator.arguments.gdscript"},{captures:{1:{name:"variable.parameter.function-call.gdscript"},2:{name:"keyword.operator.assignment.gdscript"}},match:"\\b([a-zA-Z_]\\w*)\\s*(=)(?!=)"},{match:"=(?!=)",name:"keyword.operator.assignment.gdscript"},{include:"#base_expression"},{captures:{1:{name:"punctuation.definition.arguments.end.gdscript"},2:{name:"punctuation.definition.arguments.begin.gdscript"}},match:"\\s*(\\))\\s*(\\()"},{include:"#letter"},{include:"#any_variable"},{include:"#any_property"},{include:"#keywords"}]},function_call:{begin:`(?x)
4
- \\b(?=
5
- ([a-zA-Z_]\\w*) \\s* (\\()
6
- )
7
- `,beginCaptures:{2:{name:"punctuation.definition.arguments.begin.gdscript"}},comment:'Regular function call of the type "name(args)"',end:"(\\))",endCaptures:{1:{name:"punctuation.definition.arguments.end.gdscript"}},name:"meta.function-call.gdscript",patterns:[{include:"#function_name"},{include:"#function_arguments"}]},function_declaration:{begin:`(?x) \\s*
8
- (func) \\s+
9
- ([a-zA-Z_]\\w*) \\s*
10
- (?=\\()`,beginCaptures:{1:{name:"keyword.language.gdscript storage.type.function.gdscript"},2:{name:"entity.name.function.gdscript"}},end:`(:|(?=[#'"\\n]))`,end2:"(\\s*(\\-\\>)\\s*(void\\w*)|([a-zA-Z_]\\w*)\\s*\\:)",endCaptures2:{1:{name:"punctuation.separator.annotation.result.gdscript"},2:{name:"keyword.language.void.gdscript"},3:{name:"entity.name.type.class.gdscript markup.italic"}},name:"meta.function.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"},{include:"#base_expression"}]},function_name:{patterns:[{include:"#builtin_classes"},{comment:"Some color schemas support meta.function-call.generic scope",match:`(?x)
11
- \\b ([a-zA-Z_]\\w*) \\b
12
- `,name:"support.function.any-method.gdscript"}]},getter_setter_godot4:{patterns:[{captures:{1:{name:"entity.name.function.gdscript"}},match:"\\b(get):"},{begin:`(?x) \\s+
13
- (set) \\s*
14
- (?=\\()`,beginCaptures:{1:{name:"entity.name.function.gdscript"}},end:`(:|(?=[#'"\\n]))`,name:"meta.function.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"}]}]},in_keyword:{patterns:[{begin:"\\b(for)\\b",captures:{1:{name:"keyword.control.gdscript"}},end:":",patterns:[{match:"\\bin\\b",name:"keyword.control.gdscript"},{include:"#base_expression"},{include:"#any_variable"},{include:"#any_property"}]},{match:"\\bin\\b",name:"keyword.operator.wordlike.gdscript"}]},keywords:{match:"\\b(?:class|class_name|is|onready|tool|static|export|as|void|enum|preload|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b",name:"keyword.language.gdscript"},lambda_declaration:{begin:"(func)\\s?(?=\\()",beginCaptures:{1:{name:"keyword.language.gdscript storage.type.function.gdscript"},2:{name:"entity.name.function.gdscript"}},end:`(:|(?=[#'"\\n]))`,end2:"(\\s*(\\-\\>)\\s*(void\\w*)|([a-zA-Z_]\\w*)\\s*\\:)",endCaptures2:{1:{name:"punctuation.separator.annotation.result.gdscript"},2:{name:"keyword.language.void.gdscript"},3:{name:"entity.name.type.class.gdscript markup.italic"}},name:"meta.function.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"},{include:"#base_expression"},{include:"#any_variable"},{include:"#any_property"}]},letter:{match:"\\b(?:true|false|null)\\b",name:"constant.language.gdscript"},line_continuation:{patterns:[{captures:{1:{name:"punctuation.separator.continuation.line.gdscript"},2:{name:"invalid.illegal.line.continuation.gdscript"}},match:"(\\\\)\\s*(\\S.*$\\n?)"},{begin:"(\\\\)\\s*$\\n?",beginCaptures:{1:{name:"punctuation.separator.continuation.line.gdscript"}},end:`(?x)
15
- (?=^\\s*$)
16
- |
17
- (?! (\\s* [rR]? (\\'\\'\\'|\\"\\"\\"|\\'|\\"))
18
- |
19
- (\\G $) (?# '\\G' is necessary for ST)
20
- )
21
- `,patterns:[{include:"#base_expression"}]}]},loose_default:{begin:"(=)",beginCaptures:{1:{name:"keyword.operator.gdscript"}},end:"(,)|(?=\\))",endCaptures:{1:{name:"punctuation.separator.parameters.gdscript"}},patterns:[{include:"#base_expression"}]},nodepath_function:{begin:"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(\\()",beginCaptures:{1:{name:"entity.name.function.gdscript"},2:{name:"punctuation.definition.parameters.begin.gdscript"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.parameters.end.gdscript"}},patterns:[{begin:`("|')`,end:"\\1",name:"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape",patterns:[{match:"%",name:"keyword.control.flow"}]}]},nodepath_object:{begin:"(NodePath)\\s*(?:\\()",beginCaptures:{1:{name:"support.class.library.gdscript"}},end:"(?:\\))",name:"meta.literal.nodepath.gdscript",patterns:[{begin:`("|')`,end:"\\1",name:"string.quoted.gdscript constant.character.escape.gdscript",patterns:[{match:"%",name:"keyword.control.flow.gdscript"}]}]},numbers:{patterns:[{match:"0b[01_]+",name:"constant.numeric.integer.binary.gdscript"},{match:"0x[0-9A-Fa-f_]+",name:"constant.numeric.integer.hexadecimal.gdscript"},{match:"[-]?([0-9][0-9_]+\\.[0-9_]*(e[\\-\\+]?[0-9_]+)?)",name:"constant.numeric.float.gdscript"},{match:"[-]?(\\.[0-9][0-9_]*(e[\\-\\+]?[0-9_]+)?)",name:"constant.numeric.float.gdscript"},{match:"[-]?([0-9][0-9_]*e[\\-\\+]?\\[0-9_])",name:"constant.numeric.float.gdscript"},{match:"[-]?[0-9][0-9_]*",name:"constant.numeric.integer.gdscript"}]},operators:{patterns:[{include:"#wordlike_operator"},{include:"#boolean_operator"},{include:"#arithmetic_operator"},{include:"#bitwise_operator"},{include:"#compare_operator"}]},parameters:{begin:"(\\()",beginCaptures:{1:{name:"punctuation.definition.parameters.begin.gdscript"}},end:"(\\))",endCaptures:{1:{name:"punctuation.definition.parameters.end.gdscript"}},name:"meta.function.parameters.gdscript",patterns:[{include:"#annotated_parameter"},{captures:{1:{name:"variable.parameter.function.language.gdscript"},2:{name:"punctuation.separator.parameters.gdscript"}},match:`(?x)
22
- ([a-zA-Z_]\\w*)
23
- \\s* (?: (,) | (?=[)#\\n=]))
24
- `},{include:"#comment"},{include:"#loose_default"}]},pascal_case_class:{match:"\\b([A-Z]+[a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b",name:"entity.name.type.class.gdscript"},round_braces:{begin:"\\(",beginCaptures:{0:{name:"punctuation.parenthesis.begin.gdscript"}},end:"\\)",endCaptures:{0:{name:"punctuation.parenthesis.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},self:{match:"\\bself\\b",name:"variable.language.gdscript"},signal_declaration:{begin:`(?x) \\s*
25
- (signal) \\s+
26
- ([a-zA-Z_]\\w*) \\s*
27
- (?=\\()`,beginCaptures:{1:{name:"keyword.language.gdscript storage.type.function.gdscript"},2:{name:"entity.name.function.gdscript"}},end:`((?=[#'"\\n]))`,name:"meta.signal.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"}]},signal_declaration_bare:{captures:{1:{name:"keyword.language.gdscript storage.type.function.gdscript"},2:{name:"entity.name.function.gdscript"}},match:`(?x) \\s*
28
- (signal) \\s+
29
- ([a-zA-Z_]\\w*)(?=[\\n\\s])`,name:"meta.signal.gdscript"},statement:{patterns:[{include:"#extends_statement"}]},statement_keyword:{patterns:[{match:`(?x)
30
- \\b(?<!\\.)(
31
- continue | assert | break | elif | else | if | pass | return | while )\\b
32
- `,name:"keyword.control.flow.gdscript"},{match:"\\b(?<!\\.)(class)\\b",name:"storage.type.class.gdscript"},{captures:{1:{name:"keyword.control.flow.gdscript"}},match:`(?x)
33
- ^\\s*(
34
- case | match
35
- )(?=\\s*([-+\\w\\d(\\[{'":#]|$))\\b
36
- `}]},string_bracket_placeholders:{patterns:[{captures:{1:{name:"constant.character.format.placeholder.other.gdscript"},3:{name:"storage.type.format.gdscript"},4:{name:"storage.type.format.gdscript"}},match:`(?x)
37
- (
38
- {{ | }}
39
- | (?:
40
- {
41
- \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'"]+\\])*
42
- (![rsa])?
43
- ( : \\w? [<>=^]? [-+ ]? \\#?
44
- \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?
45
- })
46
- )
47
- `,name:"meta.format.brace.gdscript"},{captures:{1:{name:"constant.character.format.placeholder.other.gdscript"},3:{name:"storage.type.format.gdscript"},4:{name:"storage.type.format.gdscript"}},match:`(?x)
48
- (
49
- {
50
- \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'"]+\\])*
51
- (![rsa])?
52
- (:)
53
- [^'"{}\\n]* (?:
54
- \\{ [^'"}\\n]*? \\} [^'"{}\\n]*
55
- )*
56
- }
57
- )
58
- `,name:"meta.format.brace.gdscript"}]},string_percent_placeholders:{captures:{1:{name:"constant.character.format.placeholder.other.gdscript"}},match:`(?x)
59
- (
60
- % (\\([\\w\\s]*\\))?
61
- [-+#0 ]*
62
- (\\d+|\\*)? (\\.(\\d+|\\*))?
63
- ([hlL])?
64
- [diouxXeEfFgGcrsab%]
65
- )
66
- `,name:"meta.format.percent.gdscript"},strings:{begin:`(r)?("""|'''|"|')`,beginCaptures:{1:{name:"constant.character.escape.gdscript"}},end:"\\2",name:"string.quoted.gdscript",patterns:[{match:"\\\\.",name:"constant.character.escape.gdscript"},{include:"#string_percent_placeholders"},{include:"#string_bracket_placeholders"}]},variable_declaration:{begin:"\\b(?:(var)|(const))\\s+(?:(\\b[A-Z_][A-Z_0-9]*\\b)|([A-Za-z_]\\w*))\\s*",beginCaptures:{1:{name:"keyword.language.gdscript storage.type.var.gdscript"},2:{name:"keyword.language.gdscript storage.type.const.gdscript"},3:{name:"constant.language.gdscript"},4:{name:"variable.other.gdscript"}},end:"$|;",name:"meta.variable.gdscript",patterns:[{captures:{1:{name:"punctuation.separator.annotation.gdscript"},2:{name:"keyword.language.gdscript storage.type.const.gdscript"},3:{name:"entity.name.function.gdscript"}},match:"(:)?\\s*(set|get)\\s+=\\s+([a-zA-Z_]\\w*)"},{match:":=|=(?!=)",name:"keyword.operator.assignment.gdscript"},{captures:{1:{name:"punctuation.separator.annotation.gdscript"},2:{name:"entity.name.type.class.gdscript"}},match:"(:)\\s*([a-zA-Z_]\\w*)?"},{captures:{1:{name:"keyword.language.gdscript storage.type.const.gdscript"},2:{name:"entity.name.function.gdscript"},3:{name:"entity.name.function.gdscript"}},match:"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?"},{include:"#expression"},{include:"#letter"},{include:"#any_variable"},{include:"#any_property"},{include:"#keywords"}]},wordlike_operator:{match:"\\b(and|or|not)\\b",name:"keyword.operator.wordlike.gdscript"}},scopeName:"source.gdscript"});var t=[e];export{t as default};
@@ -1 +0,0 @@
1
- const e=Object.freeze({displayName:"Go",name:"go",patterns:[{include:"#statements"}],repository:{after_control_variables:{captures:{1:{patterns:[{include:"#type-declarations-without-brackets"},{match:"\\[",name:"punctuation.definition.begin.bracket.square.go"},{match:"\\]",name:"punctuation.definition.end.bracket.square.go"},{match:"(?:\\w+)",name:"variable.other.go"}]}},comment:"After control variables, to not highlight as a struct/interface (before formatting with gofmt)",match:"(?:(?<=\\brange\\b|\\bswitch\\b|\\;|\\bif\\b|\\bfor\\b|\\<|\\>|\\<\\=|\\>\\=|\\=\\=|\\!\\=|\\w(?:\\+|/|\\-|\\*|\\%)|\\w(?:\\+|/|\\-|\\*|\\%)\\=|\\|\\||\\&\\&)(?:\\s*)((?![\\[\\]]+)[[:alnum:]\\-\\_\\!\\.\\[\\]\\<\\>\\=\\*/\\+\\%\\:]+)(?:\\s*)(?=\\{))"},brackets:{patterns:[{begin:"\\{",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.curly.go"}},end:"\\}",endCaptures:{0:{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"$self"}]},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.go"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"$self"}]},{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.square.go"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"$self"}]}]},built_in_functions:{comment:"Built-in functions",patterns:[{match:"\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\b(?=\\()",name:"entity.name.function.support.builtin.go"},{begin:"(?:(\\bnew\\b)(\\())",beginCaptures:{1:{name:"entity.name.function.support.builtin.go"},2:{name:"punctuation.definition.begin.bracket.round.go"}},comment:"new keyword",end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#functions"},{include:"#struct_variables_types"},{include:"#type-declarations"},{include:"#generic_types"},{match:"(?:\\w+)",name:"entity.name.type.go"},{include:"$self"}]},{begin:"(?:(\\bmake\\b)(?:(\\()((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?:[\\[\\]\\*]+)?(?:(?!\\bmap\\b)(?:[\\w\\.]+))?(\\[(?:(?:[\\S]+)(?:(?:\\,\\s*(?:[\\S]+))*))?\\])?(?:\\,)?)?))",beginCaptures:{1:{name:"entity.name.function.support.builtin.go"},2:{name:"punctuation.definition.begin.bracket.round.go"},3:{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:"\\w+",name:"entity.name.type.go"}]}},comment:"make keyword",end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"$self"}]}]},comments:{patterns:[{begin:"(\\/\\*)",beginCaptures:{1:{name:"punctuation.definition.comment.go"}},end:"(\\*\\/)",endCaptures:{1:{name:"punctuation.definition.comment.go"}},name:"comment.block.go"},{begin:"(\\/\\/)",beginCaptures:{1:{name:"punctuation.definition.comment.go"}},end:"(?:\\n|$)",name:"comment.line.double-slash.go"}]},delimiters:{patterns:[{match:"\\,",name:"punctuation.other.comma.go"},{match:"\\.(?!\\.\\.)",name:"punctuation.other.period.go"},{match:":(?!=)",name:"punctuation.other.colon.go"}]},double_parentheses_types:{captures:{1:{patterns:[{include:"#type-declarations-without-brackets"},{match:"\\(",name:"punctuation.definition.begin.bracket.round.go"},{match:"\\)",name:"punctuation.definition.end.bracket.round.go"},{match:"\\[",name:"punctuation.definition.begin.bracket.square.go"},{match:"\\]",name:"punctuation.definition.end.bracket.square.go"},{match:"\\w+",name:"entity.name.type.go"}]}},comment:"double parentheses types",match:"(?:(?<!\\w)(\\((?:[\\w\\.\\[\\]\\*\\&]+)\\))(?=\\())"},field_hover:{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.other.property.go"}]},2:{patterns:[{include:"#type-declarations"},{match:"\\binvalid\\b\\s+\\btype\\b",name:"invalid.field.go"},{match:"\\w+",name:"entity.name.type.go"}]}},comment:"struct field property and types when hovering with the mouse",match:"(?:(?<=^\\bfield\\b)\\s+([\\w\\*\\.]+)\\s+([\\s\\S]+))"},function_declaration:{begin:"(?:^(\\bfunc\\b)(?:\\s*(\\([^\\)]+\\)\\s*)?(?:(\\w+)(?=\\(|\\[))?))",beginCaptures:{1:{name:"keyword.function.go"},2:{patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.go"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{1:{name:"variable.parameter.go"},2:{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},match:"(?:(\\w+(?:\\s+))?((?:[\\w\\.\\*]+)(?:\\[(?:(?:(?:[\\w\\.\\*]+)(?:\\,\\s+)?)+)?\\])?))"},{include:"$self"}]}]},3:{patterns:[{match:"\\d\\w*",name:"invalid.illegal.identifier.go"},{match:"\\w+",name:"entity.name.function.go"}]}},comment:"Function declarations",end:"(?:(?<=\\))\\s*((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?!(?:[\\[\\]\\*]+)?(?:\\bstruct\\b|\\binterface\\b))[\\w\\.\\-\\*\\[\\]]+)?\\s*(?=\\{))",endCaptures:{1:{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.go"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{begin:"(?:([\\w\\.\\*]+)?(\\[))",beginCaptures:{1:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"entity.name.type.go"}]},2:{name:"punctuation.definition.begin.bracket.square.go"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{captures:{1:{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:"\\w+",name:"entity.name.type.go"}]}},comment:"single function as a type returned type(s) declaration",match:"(?:(?<=\\))(?:\\s*)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?[\\w\\*\\.\\[\\]\\<\\>\\-]+(?:\\s*)(?:\\/(?:\\/|\\*).*)?)$)"},{include:"$self"}]},function_param_types:{comment:"function parameter variables and types",patterns:[{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#type-declarations-without-brackets"},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.parameter.go"}]}},comment:"struct/interface type declaration",match:"((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)\\s+(?=(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\[\\]\\*]+)?\\b(?:struct|interface)\\b\\s*\\{)"},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.parameter.go"}]}},comment:"multiple parameters one type -with multilines",match:"(?:(?:(?<=\\()|^\\s*)((?:(?:\\b\\w+\\,\\s*)+)(?:/(?:/|\\*).*)?)$)"},{captures:{1:{patterns:[{include:"#delimiters"},{match:"\\w+",name:"variable.parameter.go"}]},2:{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},comment:"multiple params and types | multiple params one type | one param one type",match:"(?:((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)(?:\\s+)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:(?:(?:[\\w\\[\\]\\.\\*]+)?(?:(?:\\bfunc\\b\\((?:[^\\)]+)?\\))(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:\\s*))+(?:(?:(?:[\\w\\*\\.\\[\\]]+)|(?:\\((?:[^\\)]+)?\\))))?)|(?:(?:[\\[\\]\\*]+)?[\\w\\*\\.]+(?:\\[(?:[^\\]]+)\\])?(?:[\\w\\.\\*]+)?)+)))"},{include:"#parameter-variable-types"},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},comment:"other types",match:"([\\w\\.]+)"},{include:"$self"}]},functions:{begin:"(?:(\\bfunc\\b)(?=\\())",beginCaptures:{1:{name:"keyword.function.go"}},comment:"Functions",end:"(?:(?<=\\))(\\s*(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?((?:(?:\\s*(?:(?:[\\[\\]\\*]+)?[\\w\\.\\*]+)?(?:(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\])|(?:\\((?:[^\\)]+)?\\)))?(?:[\\w\\.\\*]+)?)(?:\\s*)(?=\\{))|(?:\\s*(?:(?:(?:[\\[\\]\\*]+)?(?!\\bfunc\\b)(?:[\\w\\.\\*]+)(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\])?(?:[\\w\\.\\*]+)?)|(?:\\((?:[^\\)]+)?\\)))))?)",endCaptures:{1:{patterns:[{include:"#type-declarations"}]},2:{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},patterns:[{include:"#parameter-variable-types"}]},functions_inline:{captures:{1:{name:"keyword.function.go"},2:{patterns:[{include:"#type-declarations-without-brackets"},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.go"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{match:"\\[",name:"punctuation.definition.begin.bracket.square.go"},{match:"\\]",name:"punctuation.definition.end.bracket.square.go"},{match:"\\{",name:"punctuation.definition.begin.bracket.curly.go"},{match:"\\}",name:"punctuation.definition.end.bracket.curly.go"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},comment:"functions in-line with multi return types",match:"(?:(\\bfunc\\b)((?:\\((?:[^/]*?)\\))(?:\\s+)(?:\\((?:[^/]*?)\\)))(?:\\s+)(?=\\{))"},generic_param_types:{comment:"generic parameter variables and types",patterns:[{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#type-declarations-without-brackets"},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.parameter.go"}]}},comment:"struct/interface type declaration",match:"((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)\\s+(?=(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\[\\]\\*]+)?\\b(?:struct|interface)\\b\\s*\\{)"},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.parameter.go"}]}},comment:"multiple parameters one type -with multilines",match:"(?:(?:(?<=\\()|^\\s*)((?:(?:\\b\\w+\\,\\s*)+)(?:/(?:/|\\*).*)?)$)"},{captures:{1:{patterns:[{include:"#delimiters"},{match:"\\w+",name:"variable.parameter.go"}]},2:{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:"(?:\\w+)",name:"entity.name.type.go"}]},3:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},comment:"multiple params and types | multiple types one param",match:"(?:((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)(?:\\s+)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:(?:(?:[\\w\\[\\]\\.\\*]+)?(?:(?:\\bfunc\\b\\((?:[^\\)]+)?\\))(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:\\s*))+(?:(?:(?:[\\w\\*\\.]+)|(?:\\((?:[^\\)]+)?\\))))?)|(?:(?:(?:[\\w\\*\\.\\~]+)|(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\]))(?:[\\w\\.\\*]+)?)+)))"},{include:"#parameter-variable-types"},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},comment:"other types",match:"(?:\\b([\\w\\.]+))"},{include:"$self"}]},generic_types:{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"entity.name.type.go"}]},2:{patterns:[{include:"#parameter-variable-types"}]}},comment:"Generic support for all types",match:"(?:([\\w\\.\\*]+)(\\[(?:[^\\]]+)?\\]))"},"group-functions":{comment:"all statements related to functions",patterns:[{include:"#function_declaration"},{include:"#functions_inline"},{include:"#functions"},{include:"#built_in_functions"},{include:"#support_functions"}]},"group-types":{comment:"all statements related to types",patterns:[{include:"#other_struct_interface_expressions"},{include:"#type_assertion_inline"},{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#single_type"},{include:"#multi_types"},{include:"#struct_interface_declaration"},{include:"#double_parentheses_types"},{include:"#switch_types"},{include:"#type-declarations"}]},"group-variables":{comment:"all statements related to variables",patterns:[{include:"#var_const_assignment"},{include:"#variable_assignment"},{include:"#label_loop_variables"},{include:"#slice_index_variables"},{include:"#property_variables"},{include:"#switch_select_case_variables"},{include:"#other_variables"}]},import:{comment:"import",patterns:[{begin:"\\b(import)\\s+",beginCaptures:{1:{name:"keyword.control.import.go"}},comment:"import",end:"(?!\\G)",patterns:[{include:"#imports"}]}]},imports:{comment:"import package(s)",patterns:[{captures:{1:{patterns:[{include:"#delimiters"},{match:"(?:\\w+)",name:"variable.other.import.go"}]},2:{name:"string.quoted.double.go"},3:{name:"punctuation.definition.string.begin.go"},4:{name:"entity.name.import.go"},5:{name:"punctuation.definition.string.end.go"}},match:'(\\s*[\\w\\.]+)?\\s*((")([^"]*)("))'},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.imports.begin.bracket.round.go"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.imports.end.bracket.round.go"}},patterns:[{include:"#comments"},{include:"#imports"}]},{include:"$self"}]},interface_variables_types:{begin:"(\\binterface\\b)\\s*(\\{)",beginCaptures:{1:{name:"keyword.interface.go"},2:{name:"punctuation.definition.begin.bracket.curly.go"}},comment:"interface variable types",end:"\\}",endCaptures:{0:{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#interface_variables_types_field"},{include:"$self"}]},interface_variables_types_field:{comment:"interface variable type fields",patterns:[{include:"#support_functions"},{include:"#type-declarations-without-brackets"},{begin:"(?:([\\w\\.\\*]+)?(\\[))",beginCaptures:{1:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"entity.name.type.go"}]},2:{name:"punctuation.definition.begin.bracket.square.go"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.go"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"entity.name.type.go"}]}},comment:"other types",match:"([\\w\\.]+)"}]},keywords:{patterns:[{comment:"Flow control keywords",match:"\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\b",name:"keyword.control.go"},{match:"\\bchan\\b",name:"keyword.channel.go"},{match:"\\bconst\\b",name:"keyword.const.go"},{match:"\\bvar\\b",name:"keyword.var.go"},{match:"\\bfunc\\b",name:"keyword.function.go"},{match:"\\binterface\\b",name:"keyword.interface.go"},{match:"\\bmap\\b",name:"keyword.map.go"},{match:"\\bstruct\\b",name:"keyword.struct.go"},{match:"\\bimport\\b",name:"keyword.control.import.go"},{match:"\\btype\\b",name:"keyword.type.go"}]},label_loop_variables:{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.other.label.go"}]}},comment:"labeled loop variable name",match:"((?:^\\s*\\w+:\\s*$)|(?:^\\s*(?:\\bbreak\\b|\\bgoto\\b|\\bcontinue\\b)\\s+\\w+(?:\\s*/(?:/|\\*)\\s*.*)?$))"},language_constants:{captures:{1:{name:"constant.language.boolean.go"},2:{name:"constant.language.null.go"},3:{name:"constant.language.iota.go"}},comment:"Language constants",match:"\\b(?:(true|false)|(nil)|(iota))\\b"},map_types:{begin:"(?:(\\bmap\\b)(\\[))",beginCaptures:{1:{name:"keyword.map.go"},2:{name:"punctuation.definition.begin.bracket.square.go"}},comment:"map types",end:"(?:(\\])((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?!(?:[\\[\\]\\*]+)?\\b(?:func|struct|map)\\b)(?:[\\*\\[\\]]+)?(?:[\\w\\.]+))?)",endCaptures:{1:{name:"punctuation.definition.end.bracket.square.go"},2:{patterns:[{include:"#type-declarations-without-brackets"},{match:"\\[",name:"punctuation.definition.begin.bracket.square.go"},{match:"\\]",name:"punctuation.definition.end.bracket.square.go"},{match:"\\w+",name:"entity.name.type.go"}]}},patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{include:"#functions"},{match:"\\[",name:"punctuation.definition.begin.bracket.square.go"},{match:"\\]",name:"punctuation.definition.end.bracket.square.go"},{match:"\\{",name:"punctuation.definition.begin.bracket.curly.go"},{match:"\\}",name:"punctuation.definition.end.bracket.curly.go"},{match:"\\(",name:"punctuation.definition.begin.bracket.round.go"},{match:"\\)",name:"punctuation.definition.end.bracket.round.go"},{match:"\\w+",name:"entity.name.type.go"}]},multi_types:{begin:"(\\btype\\b)\\s*(\\()",beginCaptures:{1:{name:"keyword.type.go"},2:{name:"punctuation.definition.begin.bracket.round.go"}},comment:"multi type declaration",end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#struct_variables_types"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:"(?:\\w+)",name:"entity.name.type.go"}]},numeric_literals:{captures:{0:{patterns:[{begin:"(?=.)",end:"(?:\\n|$)",patterns:[{captures:{1:{name:"constant.numeric.decimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},2:{name:"punctuation.separator.constant.numeric.go"},3:{name:"constant.numeric.decimal.point.go"},4:{name:"constant.numeric.decimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},5:{name:"punctuation.separator.constant.numeric.go"},6:{name:"keyword.other.unit.exponent.decimal.go"},7:{name:"keyword.operator.plus.exponent.decimal.go"},8:{name:"keyword.operator.minus.exponent.decimal.go"},9:{name:"constant.numeric.exponent.decimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},10:{name:"keyword.other.unit.imaginary.go"},11:{name:"constant.numeric.decimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},12:{name:"punctuation.separator.constant.numeric.go"},13:{name:"keyword.other.unit.exponent.decimal.go"},14:{name:"keyword.operator.plus.exponent.decimal.go"},15:{name:"keyword.operator.minus.exponent.decimal.go"},16:{name:"constant.numeric.exponent.decimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},17:{name:"keyword.other.unit.imaginary.go"},18:{name:"constant.numeric.decimal.point.go"},19:{name:"constant.numeric.decimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},20:{name:"punctuation.separator.constant.numeric.go"},21:{name:"keyword.other.unit.exponent.decimal.go"},22:{name:"keyword.operator.plus.exponent.decimal.go"},23:{name:"keyword.operator.minus.exponent.decimal.go"},24:{name:"constant.numeric.exponent.decimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},25:{name:"keyword.other.unit.imaginary.go"},26:{name:"keyword.other.unit.hexadecimal.go"},27:{name:"constant.numeric.hexadecimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},28:{name:"punctuation.separator.constant.numeric.go"},29:{name:"constant.numeric.hexadecimal.go"},30:{name:"constant.numeric.hexadecimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},31:{name:"punctuation.separator.constant.numeric.go"},32:{name:"keyword.other.unit.exponent.hexadecimal.go"},33:{name:"keyword.operator.plus.exponent.hexadecimal.go"},34:{name:"keyword.operator.minus.exponent.hexadecimal.go"},35:{name:"constant.numeric.exponent.hexadecimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},36:{name:"keyword.other.unit.imaginary.go"},37:{name:"keyword.other.unit.hexadecimal.go"},38:{name:"constant.numeric.hexadecimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},39:{name:"punctuation.separator.constant.numeric.go"},40:{name:"keyword.other.unit.exponent.hexadecimal.go"},41:{name:"keyword.operator.plus.exponent.hexadecimal.go"},42:{name:"keyword.operator.minus.exponent.hexadecimal.go"},43:{name:"constant.numeric.exponent.hexadecimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},44:{name:"keyword.other.unit.imaginary.go"},45:{name:"keyword.other.unit.hexadecimal.go"},46:{name:"constant.numeric.hexadecimal.go"},47:{name:"constant.numeric.hexadecimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},48:{name:"punctuation.separator.constant.numeric.go"},49:{name:"keyword.other.unit.exponent.hexadecimal.go"},50:{name:"keyword.operator.plus.exponent.hexadecimal.go"},51:{name:"keyword.operator.minus.exponent.hexadecimal.go"},52:{name:"constant.numeric.exponent.hexadecimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},53:{name:"keyword.other.unit.imaginary.go"}},match:"(?:(?:(?:(?:(?:\\G(?=[0-9.])(?!0[xXbBoO])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?:(?<!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\w))?(?:\\n|$)|\\G(?=[0-9.])(?!0[xXbBoO])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))|\\G((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?:(?<!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\w))?(?:\\n|$))|(\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?<!_)([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))|(\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))|(\\G0[xX])((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))"},{captures:{1:{name:"constant.numeric.decimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},2:{name:"punctuation.separator.constant.numeric.go"},3:{name:"keyword.other.unit.imaginary.go"},4:{name:"keyword.other.unit.binary.go"},5:{name:"constant.numeric.binary.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},6:{name:"punctuation.separator.constant.numeric.go"},7:{name:"keyword.other.unit.imaginary.go"},8:{name:"keyword.other.unit.octal.go"},9:{name:"constant.numeric.octal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},10:{name:"punctuation.separator.constant.numeric.go"},11:{name:"keyword.other.unit.imaginary.go"},12:{name:"keyword.other.unit.hexadecimal.go"},13:{name:"constant.numeric.hexadecimal.go",patterns:[{match:"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])",name:"punctuation.separator.constant.numeric.go"}]},14:{name:"punctuation.separator.constant.numeric.go"},15:{name:"keyword.other.unit.imaginary.go"}},match:"(?:(?:(?:\\G(?=[0-9.])(?!0[xXbBoO])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$)|(\\G0[bB])_?([01](?:[01]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$))|(\\G0[oO]?)_?((?:[0-7]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))+)(i(?!\\w))?(?:\\n|$))|(\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$))"},{match:"(?:(?:[0-9a-zA-Z_\\.])|(?<=[eEpP])[+-])+",name:"invalid.illegal.constant.numeric.go"}]}]}},match:"(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.])|(?<=[eEpP])[+-])*"},operators:{comment:"Note that the order here is very important!",patterns:[{match:"((?:\\*|\\&)+)(?:(?!\\d)(?=(?:[\\w\\[\\]])|(?:\\<\\-)))",name:"keyword.operator.address.go"},{match:"<\\-",name:"keyword.operator.channel.go"},{match:"\\-\\-",name:"keyword.operator.decrement.go"},{match:"\\+\\+",name:"keyword.operator.increment.go"},{match:"(==|!=|<=|>=|<(?!<)|>(?!>))",name:"keyword.operator.comparison.go"},{match:"(&&|\\|\\||!)",name:"keyword.operator.logical.go"},{match:"(=|\\+=|\\-=|\\|=|\\^=|\\*=|/=|:=|%=|<<=|>>=|&\\^=|&=)",name:"keyword.operator.assignment.go"},{match:"(\\+|\\-|\\*|/|%)",name:"keyword.operator.arithmetic.go"},{match:"(&(?!\\^)|\\||\\^|&\\^|<<|>>|\\~)",name:"keyword.operator.arithmetic.bitwise.go"},{match:"\\.\\.\\.",name:"keyword.operator.ellipsis.go"}]},other_struct_interface_expressions:{comment:"struct and interface expression in-line (before curly bracket)",patterns:[{comment:"after control variables must be added exactly here, do not move it! (changing may not affect tests, so be careful!)",include:"#after_control_variables"},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"entity.name.type.go"}]},2:{patterns:[{begin:"\\[",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.square.go"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#type-declarations"},{match:"\\w+",name:"entity.name.type.go"},{include:"$self"}]}]}},match:"(\\b[\\w\\.]+)(\\[(?:[^\\]]+)?\\])?(?=\\{)(?<!\\bstruct\\b|\\binterface\\b)"}]},other_variables:{comment:"all other variables",match:"\\w+",name:"variable.other.go"},package_name:{patterns:[{begin:"\\b(package)\\s+",beginCaptures:{1:{name:"keyword.package.go"}},comment:"package name",end:"(?!\\G)",patterns:[{match:"\\d\\w*",name:"invalid.illegal.identifier.go"},{match:"\\w+",name:"entity.name.type.package.go"}]}]},"parameter-variable-types":{comment:"function and generic parameter types",patterns:[{match:"\\{",name:"punctuation.definition.begin.bracket.curly.go"},{match:"\\}",name:"punctuation.definition.end.bracket.curly.go"},{begin:"(?:([\\w\\.\\*]+)?(\\[))",beginCaptures:{1:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"entity.name.type.go"}]},2:{name:"punctuation.definition.begin.bracket.square.go"}},end:"\\]",endCaptures:{0:{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.go"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]}]},property_variables:{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.other.property.go"}]},2:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.other.go"},{include:"$self"}]},3:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.other.property.field.go"},{include:"$self"}]},4:{patterns:[{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.other.go"}]},2:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.other.property.field.go"}]}},match:"([\\w\\.\\*\\&\\[\\]]+)(\\.\\w+)"},{include:"$self"}]}},comment:"Property variables in struct | parameter field in struct initialization",match:"(?:(?:((?:\\b[\\w\\.]+)(?:\\:(?!\\=))))(?:(?:\\s*([\\w\\.\\*\\&\\[\\]]+)(\\.\\w+)(?![\\w\\.\\*\\&\\[\\]]*(?:\\{|\\()))((?:\\s*(?:\\<|\\>|\\<\\=|\\>\\=|\\=\\=|\\!\\=|\\|\\||\\&\\&|\\+|/|\\-|\\*|\\%|\\||\\&)\\s*(?:[\\w\\.\\*\\&\\[\\]]+)(?:\\.\\w+)(?![\\w\\.\\*\\&\\[\\]]*(?:\\{|\\()))*))?)"},raw_string_literals:{begin:"`",beginCaptures:{0:{name:"punctuation.definition.string.begin.go"}},comment:"Raw string literals",end:"`",endCaptures:{0:{name:"punctuation.definition.string.end.go"}},name:"string.quoted.raw.go",patterns:[{include:"#string_placeholder"}]},runes:{patterns:[{begin:"'",beginCaptures:{0:{name:"punctuation.definition.string.begin.go"}},end:"'",endCaptures:{0:{name:"punctuation.definition.string.end.go"}},name:"string.quoted.rune.go",patterns:[{match:`\\G(\\\\([0-7]{3}|[abfnrtv\\\\'"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})|.)(?=')`,name:"constant.other.rune.go"},{match:"[^']+",name:"invalid.illegal.unknown-rune.go"}]}]},single_type:{patterns:[{captures:{1:{name:"keyword.type.go"},2:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"entity.name.type.go"}]},3:{patterns:[{begin:"\\(",beginCaptures:{0:{name:"punctuation.definition.begin.bracket.round.go"}},end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{include:"#type-declarations"},{include:"#generic_types"},{match:"\\w+",name:"entity.name.type.go"}]}},comment:"single type declaration",match:"(?:(?:^\\s*)(\\btype\\b)(?:\\s*)([\\w\\.\\*]+)(?:\\s+)(?!(?:\\=\\s*)?(?:[\\[\\]\\*]+)?\\b(?:struct|interface)\\b)([\\s\\S]+))"},{begin:"(?:(?:^|\\s+)(\\btype\\b)(?:\\s*)([\\w\\.\\*]+)(?=\\[))",beginCaptures:{1:{name:"keyword.type.go"},2:{patterns:[{include:"#type-declarations-without-brackets"},{match:"\\w+",name:"entity.name.type.go"}]}},comment:"single type declaration with generics",end:"(?:(?<=\\])((?:\\s+)(?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:(?!(?:[\\[\\]\\*]+)?(?:\\bstruct\\b|\\binterface\\b|\\bfunc\\b))[\\w\\.\\-\\*\\[\\]]+))?)",endCaptures:{1:{patterns:[{include:"#type-declarations-without-brackets"},{match:"\\[",name:"punctuation.definition.begin.bracket.square.go"},{match:"\\]",name:"punctuation.definition.end.bracket.square.go"},{match:"\\w+",name:"entity.name.type.go"}]}},patterns:[{include:"#struct_variables_types"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:"\\[",name:"punctuation.definition.begin.bracket.square.go"},{match:"\\]",name:"punctuation.definition.end.bracket.square.go"},{match:"\\{",name:"punctuation.definition.begin.bracket.curly.go"},{match:"\\}",name:"punctuation.definition.end.bracket.curly.go"},{match:"\\(",name:"punctuation.definition.begin.bracket.round.go"},{match:"\\)",name:"punctuation.definition.end.bracket.round.go"},{match:"\\w+",name:"entity.name.type.go"}]}]},slice_index_variables:{captures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.other.go"}]}},comment:"slice index and capacity variables, to not scope them as property variables",match:"(?<=\\w\\[)((?:(?:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+\\:)|(?:\\:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+))(?:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+)?(?:\\:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+)?)(?=\\])"},statements:{patterns:[{include:"#package_name"},{include:"#import"},{include:"#syntax_errors"},{include:"#group-functions"},{include:"#group-types"},{include:"#group-variables"},{include:"#field_hover"}]},storage_types:{patterns:[{match:"\\bbool\\b",name:"storage.type.boolean.go"},{match:"\\bbyte\\b",name:"storage.type.byte.go"},{match:"\\berror\\b",name:"storage.type.error.go"},{match:"\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\b",name:"storage.type.numeric.go"},{match:"\\brune\\b",name:"storage.type.rune.go"},{match:"\\bstring\\b",name:"storage.type.string.go"},{match:"\\buintptr\\b",name:"storage.type.uintptr.go"},{match:"\\bany\\b",name:"entity.name.type.any.go"}]},string_escaped_char:{patterns:[{match:`\\\\([0-7]{3}|[abfnrtv\\\\'"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})`,name:"constant.character.escape.go"},{match:`\\\\[^0-7xuUabfnrtv\\'"]`,name:"invalid.illegal.unknown-escape.go"}]},string_literals:{patterns:[{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.go"}},comment:"Interpreted string literals",end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.go"}},name:"string.quoted.double.go",patterns:[{include:"#string_escaped_char"},{include:"#string_placeholder"}]}]},string_placeholder:{patterns:[{match:"%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGspw]",name:"constant.other.placeholder.go"}]},struct_interface_declaration:{captures:{1:{name:"keyword.type.go"},2:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"entity.name.type.go"}]}},comment:"struct, interface type declarations (related to: struct_variables_types, interface_variables_types)",match:"(?:(?:^\\s*)(\\btype\\b)(?:\\s*)([\\w\\.]+))"},struct_variable_types_fields_multi:{comment:"struct variable and type fields with multi lines",patterns:[{begin:"(?:((?:\\w+(?:\\,\\s*\\w+)*)(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:\\s+)(?:[\\[\\]\\*]+)?)(\\bstruct\\b)(?:\\s*)(\\{))",beginCaptures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.other.property.go"}]},2:{name:"keyword.struct.go"},3:{name:"punctuation.definition.begin.bracket.curly.go"}},comment:"struct in struct types",end:"\\}",endCaptures:{0:{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#struct_variables_types_fields"},{include:"$self"}]},{begin:"(?:((?:\\w+(?:\\,\\s*\\w+)*)(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:\\s+)(?:[\\[\\]\\*]+)?)(\\binterface\\b)(?:\\s*)(\\{))",beginCaptures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.other.property.go"}]},2:{name:"keyword.interface.go"},3:{name:"punctuation.definition.begin.bracket.curly.go"}},comment:"interface in struct types",end:"\\}",endCaptures:{0:{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#interface_variables_types_field"},{include:"$self"}]},{begin:"(?:((?:\\w+(?:\\,\\s*\\w+)*)(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:\\s+)(?:[\\[\\]\\*]+)?)(\\bfunc\\b)(?:\\s*)(\\())",beginCaptures:{1:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"variable.other.property.go"}]},2:{name:"keyword.function.go"},3:{name:"punctuation.definition.begin.bracket.round.go"}},comment:"function in struct types",end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{include:"#parameter-variable-types"}]},struct_variables_types:{begin:"(\\bstruct\\b)\\s*(\\{)",beginCaptures:{1:{name:"keyword.struct.go"},2:{name:"punctuation.definition.begin.bracket.curly.go"}},comment:"Struct variable type",end:"\\}",endCaptures:{0:{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#struct_variables_types_fields"},{include:"$self"}]},struct_variables_types_fields:{comment:"Struct variable type fields",patterns:[{include:"#struct_variable_types_fields_multi"},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},comment:"one line - single type",match:"(?:(?<=\\{)\\s*((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\w\\.\\*\\[\\]]+))\\s*(?=\\}))"},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"variable.other.property.go"}]},2:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},comment:"one line - property variables and types",match:"(?:(?<=\\{)\\s*((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\w\\.\\*\\[\\]]+))\\s*(?=\\}))"},{captures:{1:{patterns:[{captures:{1:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"variable.other.property.go"}]},2:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},match:"(?:((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))?((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\S]+)(?:\\;)?))"}]}},comment:"one line with semicolon(;) without formatting gofmt - single type | property variables and types",match:"(?:(?<=\\{)((?:\\s*(?:(?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))?(?:(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\S]+)(?:\\;)?))+)\\s*(?=\\}))"},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},comment:"one type only",match:'(?:((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?<!\\,\\s*)(?:[\\w\\.\\*]+)\\s*(?:(?:(?:".*")|(?:\\`.*\\`))\\s*)?(?:/(?:/|\\*).*)?)$)'},{captures:{1:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"variable.other.property.go"}]},2:{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},comment:"property variables and types",match:"(?:((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))([\\s\\S]+))"}]},support_functions:{captures:{1:{name:"entity.name.function.support.go"},2:{patterns:[{include:"#type-declarations"},{match:"\\d\\w*",name:"invalid.illegal.identifier.go"},{match:"\\w+",name:"entity.name.function.support.go"}]},3:{patterns:[{include:"#type-declarations-without-brackets"},{match:"\\[",name:"punctuation.definition.begin.bracket.square.go"},{match:"\\]",name:"punctuation.definition.end.bracket.square.go"},{match:"\\{",name:"punctuation.definition.begin.bracket.curly.go"},{match:"\\}",name:"punctuation.definition.end.bracket.curly.go"},{match:"\\w+",name:"entity.name.type.go"}]}},comment:"Support Functions",match:`(?:(?:((?<=\\.)\\b\\w+)|(\\b\\w+))(\\[(?:(?:[\\w\\.\\*\\[\\]\\{\\}"\\']+)(?:(?:\\,\\s*(?:[\\w\\.\\*\\[\\]\\{\\}]+))*))?\\])?(?=\\())`},switch_select_case_variables:{captures:{1:{name:"keyword.control.go"},2:{patterns:[{include:"#type-declarations"},{include:"#support_functions"},{include:"#variable_assignment"},{match:"\\w+",name:"variable.other.go"}]}},comment:"variables after case control keyword in switch/select expression, to not scope them as property variables",match:"(?:(?:^\\s*(\\bcase\\b))(?:\\s+)([\\s\\S]+(?:\\:)\\s*(?:/(?:/|\\*).*)?)$)"},switch_types:{begin:"(?<=\\bswitch\\b)(?:\\s*)(?:(\\w+\\s*\\:\\=)?\\s*([\\w\\.\\*\\(\\)\\[\\]]+))(\\.\\(\\btype\\b\\)\\s*)(\\{)",beginCaptures:{1:{patterns:[{include:"#operators"},{match:"\\w+",name:"variable.other.assignment.go"}]},2:{patterns:[{include:"#support_functions"},{include:"#type-declarations"},{match:"\\w+",name:"variable.other.go"}]},3:{patterns:[{include:"#delimiters"},{include:"#brackets"},{match:"\\btype\\b",name:"keyword.type.go"}]},4:{name:"punctuation.definition.begin.bracket.curly.go"}},comment:"switch type assertions, only highlights types after case keyword",end:"(?:\\})",endCaptures:{0:{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{captures:{1:{name:"keyword.control.go"},2:{patterns:[{include:"#type-declarations"},{match:"\\w+",name:"entity.name.type.go"}]},3:{name:"punctuation.other.colon.go"},4:{patterns:[{include:"#comments"}]}},comment:"types after case keyword with single line",match:"(?:^\\s*(\\bcase\\b))(?:\\s+)([\\w\\.\\,\\*\\=\\<\\>\\!\\s]+)(:)(\\s*/(?:/|\\*)\\s*.*)?$"},{begin:"\\bcase\\b",beginCaptures:{0:{name:"keyword.control.go"}},comment:"types after case keyword with multi lines",end:"\\:",endCaptures:{0:{name:"punctuation.other.colon.go"}},patterns:[{include:"#type-declarations"},{match:"\\w+",name:"entity.name.type.go"}]},{include:"$self"}]},syntax_errors:{patterns:[{captures:{1:{name:"invalid.illegal.slice.go"}},comment:"Syntax error using slices",match:"\\[\\](\\s+)"},{comment:"Syntax error numeric literals",match:"\\b0[0-7]*[89]\\d*\\b",name:"invalid.illegal.numeric.go"}]},terminators:{comment:"Terminators",match:";",name:"punctuation.terminator.go"},"type-declarations":{comment:"includes all type declarations",patterns:[{include:"#language_constants"},{include:"#comments"},{include:"#map_types"},{include:"#brackets"},{include:"#delimiters"},{include:"#keywords"},{include:"#operators"},{include:"#runes"},{include:"#storage_types"},{include:"#raw_string_literals"},{include:"#string_literals"},{include:"#numeric_literals"},{include:"#terminators"}]},"type-declarations-without-brackets":{comment:"includes all type declarations without brackets (in some cases, brackets need to be captured manually)",patterns:[{include:"#language_constants"},{include:"#comments"},{include:"#map_types"},{include:"#delimiters"},{include:"#keywords"},{include:"#operators"},{include:"#runes"},{include:"#storage_types"},{include:"#raw_string_literals"},{include:"#string_literals"},{include:"#numeric_literals"},{include:"#terminators"}]},type_assertion_inline:{captures:{1:{name:"keyword.type.go"},2:{patterns:[{include:"#type-declarations"},{match:"(?:\\w+)",name:"entity.name.type.go"}]}},comment:"struct/interface types in-line (type assertion) | switch type keyword",match:"(?:(?<=\\.\\()(?:(\\btype\\b)|((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?[\\w\\.\\[\\]\\*]+))(?=\\)))"},var_const_assignment:{comment:"variable assignment with var and const keyword",patterns:[{captures:{1:{patterns:[{include:"#delimiters"},{match:"\\w+",name:"variable.other.assignment.go"}]},2:{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:"\\(",name:"punctuation.definition.begin.bracket.round.go"},{match:"\\)",name:"punctuation.definition.end.bracket.round.go"},{match:"\\[",name:"punctuation.definition.begin.bracket.square.go"},{match:"\\]",name:"punctuation.definition.end.bracket.square.go"},{match:"\\w+",name:"entity.name.type.go"}]}},comment:"var and const with single type assignment",match:"(?:(?<=\\bvar\\b|\\bconst\\b)(?:\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:\\=)?)?)"},{begin:"(?:(?<=\\bvar\\b|\\bconst\\b)(?:\\s*)(\\())",beginCaptures:{1:{name:"punctuation.definition.begin.bracket.round.go"}},comment:"var and const with multi type assignment",end:"\\)",endCaptures:{0:{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{1:{patterns:[{include:"#delimiters"},{match:"\\w+",name:"variable.other.assignment.go"}]},2:{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:"\\(",name:"punctuation.definition.begin.bracket.round.go"},{match:"\\)",name:"punctuation.definition.end.bracket.round.go"},{match:"\\[",name:"punctuation.definition.begin.bracket.square.go"},{match:"\\]",name:"punctuation.definition.end.bracket.square.go"},{match:"\\w+",name:"entity.name.type.go"}]}},match:"(?:(?:^\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:\\=)?)?)"},{include:"$self"}]}]},variable_assignment:{comment:"variable assignment",patterns:[{captures:{0:{patterns:[{include:"#delimiters"},{match:"\\d\\w*",name:"invalid.illegal.identifier.go"},{match:"\\w+",name:"variable.other.assignment.go"}]}},comment:"variable assignment with :=",match:"\\b\\w+(?:\\,\\s*\\w+)*(?=\\s*:=)"},{captures:{0:{patterns:[{include:"#delimiters"},{include:"#operators"},{match:"\\d\\w*",name:"invalid.illegal.identifier.go"},{match:"\\w+",name:"variable.other.assignment.go"}]}},comment:"variable assignment with =",match:"\\b[\\w\\.\\*]+(?:\\,\\s*[\\w\\.\\*]+)*(?=\\s*=(?!=))"}]}},scopeName:"source.go"});var t=[e];export{t as default};