nuxt-og-image 3.0.0-rc.56 → 3.0.0-rc.58
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.
- package/dist/client/200.html +43 -43
- package/dist/client/404.html +43 -43
- package/dist/client/_nuxt/{G-Jz5hiA.js → 0ooBkv16.js} +1 -1
- package/dist/client/_nuxt/{CNkYXcD4.js → 1rqFXsGc.js} +2 -2
- package/dist/client/_nuxt/{BOnd8D4O.js → BB42E8aY.js} +3 -3
- package/dist/client/_nuxt/{GPY1wEXZ.js → BBBqETUW.js} +1 -1
- package/dist/client/_nuxt/{Buoqr_Oi.js → BMHPAh1U.js} +1 -1
- package/dist/client/_nuxt/BVLuctcA.js +1 -0
- package/dist/client/_nuxt/BVkeqZ59.js +1 -0
- package/dist/client/_nuxt/{B5M9JXfn.js → BcPNQIyk.js} +1 -1
- package/dist/client/_nuxt/{DISxKEhY.js → Bdt_eLrj.js} +1 -1
- package/dist/client/_nuxt/{Dez-Qvcc.js → BeJnKnI_.js} +2 -2
- package/dist/client/_nuxt/{BiQytsUZ.js → BeQbDIVd.js} +1 -1
- package/dist/client/_nuxt/{DG8tVHNj.js → Bi43K_FX.js} +1 -1
- package/dist/client/_nuxt/{BdfWgkoX.js → BnyYJeap.js} +1 -1
- package/dist/client/_nuxt/{wKgfcFVx.js → C1yTBzia.js} +1 -1
- package/dist/client/_nuxt/{o-cPXEvd.js → CBWrHyXe.js} +89 -84
- package/dist/client/_nuxt/CCqFro8U.js +3 -0
- package/dist/client/_nuxt/CFF2d1j6.js +1 -0
- package/dist/client/_nuxt/{Lpdzc9s2.js → CJGKC1_q.js} +1 -1
- package/dist/client/_nuxt/{CcYwH0AH.js → CJIaz0BQ.js} +1 -1
- package/dist/client/_nuxt/CO7HdiM_.js +1 -0
- package/dist/client/_nuxt/Cb-F_BZP.js +1 -0
- package/dist/client/_nuxt/CgwOUXSn.js +1 -0
- package/dist/client/_nuxt/ChH25C4w.js +1 -0
- package/dist/client/_nuxt/{D4FSFK-1.js → D33OKbkv.js} +1 -1
- package/dist/client/_nuxt/{YdT6Gj0u.js → D7WeZTai.js} +1 -1
- package/dist/client/_nuxt/{DUdlC5k_.js → DJubGRtk.js} +1 -1
- package/dist/client/_nuxt/{C5gCGmDW.js → DK4oFTHQ.js} +1 -1
- package/dist/client/_nuxt/DM4HHECw.js +1 -0
- package/dist/client/_nuxt/DOqtC9FP.js +1 -0
- package/dist/client/_nuxt/DV9JwLIa.js +1 -0
- package/dist/client/_nuxt/{zhgf4ixb.js → DrnZp123.js} +2 -2
- package/dist/client/_nuxt/{COIrKlfF.js → ECt0lbkd.js} +1 -1
- package/dist/client/_nuxt/JbSdNPJo.js +131 -0
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/3c2eb264-e26b-4b2c-954a-048093a4a53a.json +1 -0
- package/dist/client/_nuxt/cw46T5ID.js +61 -0
- package/dist/client/_nuxt/{entry.B6GrRE4Z.css → entry.BCfFhbeW.css} +1 -1
- package/dist/client/_nuxt/error-404.7_0S-gmt.css +1 -0
- package/dist/client/_nuxt/error-500.BvA2Ms0H.css +1 -0
- package/dist/client/_nuxt/{D_T9yQUo.js → kuh6G-Sk.js} +2 -2
- package/dist/client/_nuxt/qxoleWdb.js +1 -0
- package/dist/client/_nuxt/{xtV5iK4E.js → yX2IItqj.js} +1 -1
- package/dist/client/index.html +266 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +10 -8
- package/dist/runtime/nitro/og-image/bindings/css-inline/node.d.ts +1 -2
- package/dist/runtime/nitro/og-image/satori/instances.d.ts +1 -1
- package/dist/runtime/nitro/og-image/satori/transforms/inlineCss.d.ts +1 -1
- package/dist/runtime/nitro/og-image/satori/transforms/inlineCss.js +37 -36
- package/dist/runtime/nitro/og-image/satori/vnodes.js +3 -0
- package/dist/runtime/nuxt/composables/defineOgImage.js +1 -1
- package/package.json +18 -20
- package/dist/client/_nuxt/B2BuIiKK.js +0 -1
- package/dist/client/_nuxt/B474tPdy.js +0 -66
- package/dist/client/_nuxt/BJn7Ek5W.js +0 -1
- package/dist/client/_nuxt/Bfj2ThZ4.js +0 -3
- package/dist/client/_nuxt/BmSZh3NL.js +0 -1
- package/dist/client/_nuxt/BrGg7AAd.js +0 -1
- package/dist/client/_nuxt/CBL0qBdF.js +0 -1
- package/dist/client/_nuxt/CHCTrc3a.js +0 -1
- package/dist/client/_nuxt/CIekO_uJ.js +0 -1
- package/dist/client/_nuxt/COuojIwY.js +0 -1
- package/dist/client/_nuxt/D7gg1Usp.js +0 -1
- package/dist/client/_nuxt/DDRuGeQH.js +0 -1
- package/dist/client/_nuxt/DU18hSVa.js +0 -131
- package/dist/client/_nuxt/Djqq6n-7.js +0 -1
- package/dist/client/_nuxt/Dkb1Nx48.js +0 -1
- package/dist/client/_nuxt/IconCSS.ml_PwIMm.css +0 -1
- package/dist/client/_nuxt/builds/meta/13f41e6e-d220-4048-8549-013c386aea85.json +0 -1
- package/dist/client/_nuxt/error-404.CshEgLbC.css +0 -1
- package/dist/client/_nuxt/error-500.Buijmx_2.css +0 -1
|
@@ -1,41 +1,42 @@
|
|
|
1
1
|
import { useCssInline } from "../instances.js";
|
|
2
2
|
import { useNitroOrigin } from "#imports";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
export async function applyInlineCss(ctx, island) {
|
|
4
|
+
const { e } = ctx;
|
|
5
5
|
let html = island.html;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
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 (
|
|
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.
|
|
4
|
+
"version": "3.0.0-rc.58",
|
|
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.
|
|
45
|
-
"@unocss/preset-wind": "0.61.
|
|
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-
|
|
55
|
-
"nuxt-site-config": "^2.2.
|
|
56
|
-
"nuxt-site-config-kit": "^2.2.13",
|
|
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.
|
|
62
|
+
"satori": "0.10.14",
|
|
65
63
|
"satori-html": "^0.3.2",
|
|
66
|
-
"shiki": "^1.10.
|
|
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.
|
|
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.
|
|
80
|
+
"@iconify-json/tabler": "^1.1.117",
|
|
83
81
|
"@img/sharp-linux-x64": "0.33.4",
|
|
84
|
-
"@nuxt/content": "^2.13.
|
|
82
|
+
"@nuxt/content": "^2.13.1",
|
|
85
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.
|
|
96
|
-
"@unocss/preset-icons": "0.61.
|
|
97
|
-
"@unocss/preset-uno": "0.61.
|
|
98
|
-
"@unocss/runtime": "0.61.
|
|
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
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.
|
|
104
|
+
"sass": "^1.77.7",
|
|
107
105
|
"sharp": "^0.33.4",
|
|
108
106
|
"typescript": "^5.5.3",
|
|
109
|
-
"unocss": "0.61.
|
|
110
|
-
"vitest": "^
|
|
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};
|