denchclaw 2.5.6 → 2.5.8
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/apps/web/.next/standalone/apps/web/.next/BUILD_ID +1 -1
- package/apps/web/.next/standalone/apps/web/.next/app-build-manifest.json +226 -226
- package/apps/web/.next/standalone/apps/web/.next/app-path-routes-manifest.json +35 -35
- package/apps/web/.next/standalone/apps/web/.next/build-manifest.json +5 -5
- package/apps/web/.next/standalone/apps/web/.next/cache/config.json +3 -3
- package/apps/web/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
- package/apps/web/.next/standalone/apps/web/.next/react-loadable-manifest.json +3 -3
- package/apps/web/.next/standalone/apps/web/.next/required-server-files.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/routes-manifest.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/cron/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/proxy/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/serve/[...path]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/store/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/apps/webhooks/[...path]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/active/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/runs/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/stream/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/chat/subagents/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/callback/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connect/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/connections/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/disconnect/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/status/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/composio/toolkits/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/[jobId]/runs/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/jobs/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/[sessionId]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/cron/runs/search-transcript/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/feedback/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/channels/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/chat/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/chat/stream/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/sessions/[id]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/gateway/sessions/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/[id]/toggle/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/repair/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/integrations/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/memories/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/profiles/switch/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/[sessionId]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/settings/cloud/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/content/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/[slug]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/browse/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/terminal/port/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/speech/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/transcribe/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/voice/voices/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/messages/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/[id]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/web-sessions/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/assets/[...path]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/browse-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/context/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/copy/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/introspect/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/db/query/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/delete/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/execute/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/link-preview/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/list/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/mkdir/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/move/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/actions/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/actions/runs/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/display-field/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/[id]/content/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/[id]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/bulk-delete/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/options/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/entries/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/enum-rename/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/[fieldId]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/reorder/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/fields/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/objects/[name]/views/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/open-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/path-info/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/query/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/raw-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/rename/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/reports/execute/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/search-index/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/search-index/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/suggest-files/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/suggest-files/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/switch/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/thumbnail/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/tree/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/upload/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/virtual-file/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/watch/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/write-binary/route_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/page.js +72 -77
- package/apps/web/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/app-paths-manifest.json +35 -35
- package/apps/web/.next/standalone/apps/web/.next/server/chunks/6787.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/functions-config-manifest.json +10 -10
- package/apps/web/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
- package/apps/web/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/1867.98d21807170adea7.js +1 -0
- package/apps/web/.next/{static/chunks/4995.ed294cb937a9ed32.js → standalone/apps/web/.next/static/chunks/4995.d34e4e0278ae7980.js} +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/5510-bf7c5c422646f52d.js +135 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/{layout-8408cc1d18057a51.js → layout-f178882f0e137350.js} +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/page-85db60f07f76e848.js +1 -0
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/{webpack-d4501ef5cbbcf069.js → webpack-0b001a8fbc1a4220.js} +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/css/ba9b100717ee32d9.css +1 -0
- package/apps/web/.next/standalone/apps/web/package.json +1 -0
- package/apps/web/.next/standalone/apps/web/server.js +1 -1
- package/apps/web/.next/standalone/extensions/posthog-analytics/lib/build-env.js +1 -1
- package/apps/web/.next/standalone/package.json +1 -1
- package/apps/web/.next/static/chunks/1867.98d21807170adea7.js +1 -0
- package/apps/web/.next/{standalone/apps/web/.next/static/chunks/4995.ed294cb937a9ed32.js → static/chunks/4995.d34e4e0278ae7980.js} +1 -1
- package/apps/web/.next/static/chunks/5510-bf7c5c422646f52d.js +135 -0
- package/apps/web/.next/static/chunks/app/{layout-8408cc1d18057a51.js → layout-f178882f0e137350.js} +1 -1
- package/apps/web/.next/static/chunks/app/page-85db60f07f76e848.js +1 -0
- package/apps/web/.next/static/chunks/{webpack-d4501ef5cbbcf069.js → webpack-0b001a8fbc1a4220.js} +1 -1
- package/apps/web/.next/static/css/ba9b100717ee32d9.css +1 -0
- package/dist/entry.js +1 -1
- package/dist/{program-CtW4fcfa.js → program-Cv3zi02z.js} +164 -46
- package/dist/{run-main-CPnN1zoG.js → run-main-Dtg21-XR.js} +6 -2
- package/extensions/posthog-analytics/lib/build-env.js +1 -1
- package/package.json +1 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/1867.2a8d5e3394a146ae.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/9702-d646bcd7cb8fe6bf.js +0 -135
- package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/page-db7996f5e8a55762.js +0 -1
- package/apps/web/.next/standalone/apps/web/.next/static/css/74b1299abb24af0e.css +0 -1
- package/apps/web/.next/static/chunks/1867.2a8d5e3394a146ae.js +0 -1
- package/apps/web/.next/static/chunks/9702-d646bcd7cb8fe6bf.js +0 -135
- package/apps/web/.next/static/chunks/app/page-db7996f5e8a55762.js +0 -1
- package/apps/web/.next/static/css/74b1299abb24af0e.css +0 -1
- /package/apps/web/.next/standalone/apps/web/.next/static/{30FSrPBqZ8S8tR6zw_U3U → nvU6LVl8akW-X-67Ehk_S}/_buildManifest.js +0 -0
- /package/apps/web/.next/standalone/apps/web/.next/static/{30FSrPBqZ8S8tR6zw_U3U → nvU6LVl8akW-X-67Ehk_S}/_ssgManifest.js +0 -0
- /package/apps/web/.next/static/{30FSrPBqZ8S8tR6zw_U3U → nvU6LVl8akW-X-67Ehk_S}/_buildManifest.js +0 -0
- /package/apps/web/.next/static/{30FSrPBqZ8S8tR6zw_U3U → nvU6LVl8akW-X-67Ehk_S}/_ssgManifest.js +0 -0
|
@@ -2,7 +2,7 @@ import { a as markNoticeShown, i as getOrCreateAnonymousId, o as readTelemetryCo
|
|
|
2
2
|
import { d as hasFlag, g as resolveRequiredHomeDir, h as expandHomePrefix, i as isDaemonlessMode, m as applyCliProfileEnv, o as visibleWidth, p as hasRootVersionAlias, r as DENCHCLAW_DEFAULT_GATEWAY_PORT, s as defaultRuntime, t as isTruthyEnvValue, u as getPrimaryCommand } from "./entry.js";
|
|
3
3
|
import { a as hasEmittedCliBanner, i as formatCliBannerLine, n as resolveCliName, o as isRich, s as theme, t as replaceCliName } from "./cli-name-Sz-5E3q2.js";
|
|
4
4
|
import { t as VERSION } from "./version-DfFmvCFM.js";
|
|
5
|
-
import { execFileSync, spawn } from "node:child_process";
|
|
5
|
+
import { execFileSync, execSync, spawn } from "node:child_process";
|
|
6
6
|
import process$1 from "node:process";
|
|
7
7
|
import fs, { copyFileSync, cpSync, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, readlinkSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
8
8
|
import os from "node:os";
|
|
@@ -17,6 +17,7 @@ import { createConnection } from "node:net";
|
|
|
17
17
|
//#region src/infra/ports-lsof.ts
|
|
18
18
|
const LSOF_CANDIDATES = process.platform === "darwin" ? ["/usr/sbin/lsof", "/usr/bin/lsof"] : ["/usr/bin/lsof", "/usr/sbin/lsof"];
|
|
19
19
|
function resolveLsofCommandSync() {
|
|
20
|
+
if (process.platform === "win32") throw new Error("lsof is not available on Windows; use netstat-based port listing instead");
|
|
20
21
|
for (const candidate of LSOF_CANDIDATES) try {
|
|
21
22
|
fs.accessSync(candidate, fs.constants.X_OK);
|
|
22
23
|
return candidate;
|
|
@@ -68,6 +69,7 @@ const CONFIG_DIR = resolveConfigDir();
|
|
|
68
69
|
|
|
69
70
|
//#endregion
|
|
70
71
|
//#region src/cli/ports.ts
|
|
72
|
+
const IS_WINDOWS$2 = process.platform === "win32";
|
|
71
73
|
function parseLsofOutput(output) {
|
|
72
74
|
const lines = output.split(/\r?\n/).filter(Boolean);
|
|
73
75
|
const results = [];
|
|
@@ -79,7 +81,34 @@ function parseLsofOutput(output) {
|
|
|
79
81
|
if (current.pid) results.push(current);
|
|
80
82
|
return results;
|
|
81
83
|
}
|
|
82
|
-
function
|
|
84
|
+
function parseNetstatOutput(output, port) {
|
|
85
|
+
const seen = /* @__PURE__ */ new Set();
|
|
86
|
+
const results = [];
|
|
87
|
+
for (const line of output.split(/\r?\n/)) {
|
|
88
|
+
const trimmed = line.trim();
|
|
89
|
+
if (!trimmed.includes("LISTENING")) continue;
|
|
90
|
+
const columns = trimmed.split(/\s+/);
|
|
91
|
+
const localAddr = columns[1];
|
|
92
|
+
if (!localAddr) continue;
|
|
93
|
+
if (Number.parseInt(localAddr.slice(localAddr.lastIndexOf(":") + 1), 10) !== port) continue;
|
|
94
|
+
const pid = Number.parseInt(columns[columns.length - 1], 10);
|
|
95
|
+
if (!Number.isFinite(pid) || pid <= 0 || seen.has(pid)) continue;
|
|
96
|
+
seen.add(pid);
|
|
97
|
+
results.push({ pid });
|
|
98
|
+
}
|
|
99
|
+
return results;
|
|
100
|
+
}
|
|
101
|
+
function listPortListenersWindows(port) {
|
|
102
|
+
try {
|
|
103
|
+
return parseNetstatOutput(execSync(`netstat -ano -p TCP`, {
|
|
104
|
+
encoding: "utf-8",
|
|
105
|
+
windowsHide: true
|
|
106
|
+
}), port);
|
|
107
|
+
} catch {
|
|
108
|
+
return [];
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function listPortListenersUnix(port) {
|
|
83
112
|
try {
|
|
84
113
|
return parseLsofOutput(execFileSync(resolveLsofCommandSync(), [
|
|
85
114
|
"-nP",
|
|
@@ -94,6 +123,9 @@ function listPortListeners(port) {
|
|
|
94
123
|
throw err instanceof Error ? err : new Error(String(err));
|
|
95
124
|
}
|
|
96
125
|
}
|
|
126
|
+
function listPortListeners(port) {
|
|
127
|
+
return IS_WINDOWS$2 ? listPortListenersWindows(port) : listPortListenersUnix(port);
|
|
128
|
+
}
|
|
97
129
|
|
|
98
130
|
//#endregion
|
|
99
131
|
//#region src/terminal/links.ts
|
|
@@ -535,12 +567,12 @@ function writeJsonFile(filePath, value) {
|
|
|
535
567
|
ensureParentDir(filePath);
|
|
536
568
|
writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`, "utf-8");
|
|
537
569
|
}
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
570
|
+
const IS_WINDOWS$1 = process$1.platform === "win32";
|
|
571
|
+
function platformSpawnOptions$1() {
|
|
572
|
+
return {
|
|
573
|
+
shell: IS_WINDOWS$1,
|
|
574
|
+
windowsHide: IS_WINDOWS$1
|
|
575
|
+
};
|
|
544
576
|
}
|
|
545
577
|
function isProcessAlive(pid) {
|
|
546
578
|
try {
|
|
@@ -551,6 +583,24 @@ function isProcessAlive(pid) {
|
|
|
551
583
|
}
|
|
552
584
|
}
|
|
553
585
|
async function terminatePidWithEscalation(pid) {
|
|
586
|
+
if (IS_WINDOWS$1) {
|
|
587
|
+
try {
|
|
588
|
+
execSync(`taskkill /pid ${pid} /f /t`, {
|
|
589
|
+
stdio: "ignore",
|
|
590
|
+
windowsHide: true
|
|
591
|
+
});
|
|
592
|
+
} catch (error) {
|
|
593
|
+
if (error.code === "ESRCH") return;
|
|
594
|
+
try {
|
|
595
|
+
process$1.kill(pid);
|
|
596
|
+
} catch {}
|
|
597
|
+
}
|
|
598
|
+
for (let i = 0; i < 8; i += 1) {
|
|
599
|
+
if (!isProcessAlive(pid)) return;
|
|
600
|
+
await sleep$1(100);
|
|
601
|
+
}
|
|
602
|
+
return;
|
|
603
|
+
}
|
|
554
604
|
try {
|
|
555
605
|
process$1.kill(pid, "SIGTERM");
|
|
556
606
|
} catch (error) {
|
|
@@ -723,6 +773,7 @@ function evaluateMajorVersionTransition(params) {
|
|
|
723
773
|
};
|
|
724
774
|
}
|
|
725
775
|
function resolveProcessCwd(pid) {
|
|
776
|
+
if (IS_WINDOWS$1) return;
|
|
726
777
|
try {
|
|
727
778
|
const output = execFileSync(resolveLsofCommandSync(), [
|
|
728
779
|
"-nP",
|
|
@@ -1080,6 +1131,7 @@ function startManagedWebRuntime(params) {
|
|
|
1080
1131
|
const child = spawn(process$1.execPath, [runtimeServerPath], {
|
|
1081
1132
|
cwd: path.dirname(runtimeServerPath),
|
|
1082
1133
|
detached: true,
|
|
1134
|
+
windowsHide: true,
|
|
1083
1135
|
stdio: [
|
|
1084
1136
|
"ignore",
|
|
1085
1137
|
outFd,
|
|
@@ -1189,7 +1241,7 @@ function resolveOpenClawCommandOrThrow() {
|
|
|
1189
1241
|
}
|
|
1190
1242
|
async function runOpenClawCommand(params) {
|
|
1191
1243
|
return await new Promise((resolve, reject) => {
|
|
1192
|
-
const child = spawn(
|
|
1244
|
+
const child = spawn(params.openclawCommand, params.args, {
|
|
1193
1245
|
stdio: [
|
|
1194
1246
|
"ignore",
|
|
1195
1247
|
"pipe",
|
|
@@ -1198,7 +1250,8 @@ async function runOpenClawCommand(params) {
|
|
|
1198
1250
|
env: params.env ? {
|
|
1199
1251
|
...process$1.env,
|
|
1200
1252
|
...params.env
|
|
1201
|
-
} : process$1.env
|
|
1253
|
+
} : process$1.env,
|
|
1254
|
+
...platformSpawnOptions$1()
|
|
1202
1255
|
});
|
|
1203
1256
|
let stdout = "";
|
|
1204
1257
|
let stderr = "";
|
|
@@ -1570,12 +1623,12 @@ const BOOTSTRAP_DEVICE_PAIRING_REQUIRED_SCOPES = [
|
|
|
1570
1623
|
"operator.write",
|
|
1571
1624
|
"operator.pairing"
|
|
1572
1625
|
];
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1626
|
+
const IS_WINDOWS = process$1.platform === "win32";
|
|
1627
|
+
function platformSpawnOptions() {
|
|
1628
|
+
return {
|
|
1629
|
+
shell: IS_WINDOWS,
|
|
1630
|
+
windowsHide: IS_WINDOWS
|
|
1631
|
+
};
|
|
1579
1632
|
}
|
|
1580
1633
|
async function runCommandWithTimeout(argv, options) {
|
|
1581
1634
|
const [command, ...args] = argv;
|
|
@@ -1590,10 +1643,11 @@ async function runCommandWithTimeout(argv, options) {
|
|
|
1590
1643
|
"pipe"
|
|
1591
1644
|
];
|
|
1592
1645
|
return await new Promise((resolve, reject) => {
|
|
1593
|
-
const child = spawn(
|
|
1646
|
+
const child = spawn(command, args, {
|
|
1594
1647
|
cwd: options.cwd,
|
|
1595
1648
|
env: options.env ?? process$1.env,
|
|
1596
|
-
stdio
|
|
1649
|
+
stdio,
|
|
1650
|
+
...platformSpawnOptions()
|
|
1597
1651
|
});
|
|
1598
1652
|
let stdout = "";
|
|
1599
1653
|
let stderr = "";
|
|
@@ -2161,11 +2215,14 @@ async function runOpenClawWithProgress(params) {
|
|
|
2161
2215
|
const s = spinner();
|
|
2162
2216
|
s.start(params.startMessage);
|
|
2163
2217
|
const result = await new Promise((resolve, reject) => {
|
|
2164
|
-
const child = spawn(
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2218
|
+
const child = spawn(params.openclawCommand, params.args, {
|
|
2219
|
+
stdio: [
|
|
2220
|
+
"ignore",
|
|
2221
|
+
"pipe",
|
|
2222
|
+
"pipe"
|
|
2223
|
+
],
|
|
2224
|
+
...platformSpawnOptions()
|
|
2225
|
+
});
|
|
2169
2226
|
let stdout = "";
|
|
2170
2227
|
let stderr = "";
|
|
2171
2228
|
let settled = false;
|
|
@@ -2534,6 +2591,17 @@ function isProjectLocalOpenClawPath(commandPath) {
|
|
|
2534
2591
|
if (!commandPath) return false;
|
|
2535
2592
|
return commandPath.replaceAll("\\", "/").includes("/node_modules/.bin/openclaw");
|
|
2536
2593
|
}
|
|
2594
|
+
function resolveUserPrefixBinDir(prefixDir) {
|
|
2595
|
+
return IS_WINDOWS ? prefixDir : path.join(prefixDir, "bin");
|
|
2596
|
+
}
|
|
2597
|
+
function resolveOpenClawCommandInDir(binDir) {
|
|
2598
|
+
return (IS_WINDOWS ? [path.join(binDir, "openclaw.cmd"), path.join(binDir, "openclaw.exe")] : [path.join(binDir, "openclaw")]).find((c) => existsSync(c));
|
|
2599
|
+
}
|
|
2600
|
+
function extractNpmErrorHint(stderr) {
|
|
2601
|
+
const lower = stderr.toLowerCase();
|
|
2602
|
+
if (lower.includes("eacces") || lower.includes("eperm") || lower.includes("permission denied")) return IS_WINDOWS ? "Permission denied. Try running your terminal as Administrator." : "Permission denied. Try: sudo npm install -g openclaw";
|
|
2603
|
+
if (lower.includes("enotfound") || lower.includes("enetunreach") || lower.includes("etimedout")) return "Network error. Check your internet connection and retry.";
|
|
2604
|
+
}
|
|
2537
2605
|
async function ensureOpenClawCliAvailable(params) {
|
|
2538
2606
|
const cached = readOpenClawCliCheckCache(params.stateDir);
|
|
2539
2607
|
if (cached) {
|
|
@@ -2565,6 +2633,7 @@ async function ensureOpenClawCliAvailable(params) {
|
|
|
2565
2633
|
progress.completeStage(globalBefore.installed ? `found ${globalBefore.version ?? "installed"}` : "missing");
|
|
2566
2634
|
let installed = false;
|
|
2567
2635
|
let installedAt;
|
|
2636
|
+
let fallbackBinDir;
|
|
2568
2637
|
progress.startStage("Ensuring openclaw@latest is installed globally");
|
|
2569
2638
|
if (!globalBefore.installed) {
|
|
2570
2639
|
const install = await runCommandWithTimeout([
|
|
@@ -2580,44 +2649,81 @@ async function ensureOpenClawCliAvailable(params) {
|
|
|
2580
2649
|
}
|
|
2581
2650
|
}).catch(() => null);
|
|
2582
2651
|
if (!install || install.code !== 0) {
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2652
|
+
const globalError = install?.stderr ?? "";
|
|
2653
|
+
progress.output("Global install failed; trying user-prefix fallback...");
|
|
2654
|
+
const userPrefix = path.join(params.stateDir, "npm-global");
|
|
2655
|
+
mkdirSync(userPrefix, { recursive: true });
|
|
2656
|
+
const fallbackInstall = await runCommandWithTimeout([
|
|
2657
|
+
"npm",
|
|
2658
|
+
"install",
|
|
2659
|
+
"--global",
|
|
2660
|
+
"--prefix",
|
|
2661
|
+
userPrefix,
|
|
2662
|
+
"openclaw@latest"
|
|
2663
|
+
], {
|
|
2664
|
+
timeoutMs: 10 * 6e4,
|
|
2665
|
+
env: cleanNpmGlobalEnv(),
|
|
2666
|
+
onOutputLine: (line) => {
|
|
2667
|
+
progress.output(`npm install (prefix): ${line}`);
|
|
2668
|
+
}
|
|
2669
|
+
}).catch(() => null);
|
|
2670
|
+
if (!fallbackInstall || fallbackInstall.code !== 0) {
|
|
2671
|
+
const fallbackError = fallbackInstall?.stderr ?? "";
|
|
2672
|
+
const combinedStderr = globalError || fallbackError;
|
|
2673
|
+
const errorLines = [
|
|
2674
|
+
"npm install -g openclaw@latest failed.",
|
|
2675
|
+
extractNpmErrorHint(combinedStderr),
|
|
2676
|
+
combinedStderr ? `npm output: ${firstNonEmptyLine$1(combinedStderr) ?? combinedStderr.slice(0, 200).trim()}` : void 0
|
|
2677
|
+
].filter(Boolean).join("\n");
|
|
2678
|
+
progress.fail("OpenClaw install failed (global and user-prefix).");
|
|
2679
|
+
return {
|
|
2680
|
+
available: false,
|
|
2681
|
+
installed: false,
|
|
2682
|
+
version: void 0,
|
|
2683
|
+
command: "openclaw",
|
|
2684
|
+
error: errorLines
|
|
2685
|
+
};
|
|
2686
|
+
}
|
|
2687
|
+
fallbackBinDir = resolveUserPrefixBinDir(userPrefix);
|
|
2688
|
+
const currentPath = process$1.env.PATH ?? "";
|
|
2689
|
+
if (!currentPath.split(path.delimiter).includes(fallbackBinDir)) process$1.env.PATH = `${fallbackBinDir}${path.delimiter}${currentPath}`;
|
|
2690
|
+
installed = true;
|
|
2691
|
+
installedAt = Date.now();
|
|
2692
|
+
progress.completeStage("installed openclaw@latest (user-prefix fallback)");
|
|
2693
|
+
} else {
|
|
2694
|
+
installed = true;
|
|
2695
|
+
installedAt = Date.now();
|
|
2696
|
+
progress.completeStage("installed openclaw@latest");
|
|
2590
2697
|
}
|
|
2591
|
-
installed = true;
|
|
2592
|
-
installedAt = Date.now();
|
|
2593
|
-
progress.completeStage("installed openclaw@latest");
|
|
2594
2698
|
} else progress.completeStage("already installed; skipping install");
|
|
2595
2699
|
progress.startStage("Resolving global and shell OpenClaw paths");
|
|
2596
2700
|
const [globalBinDir, shellCommandPath] = await Promise.all([resolveNpmGlobalBinDir((line) => {
|
|
2597
2701
|
progress.output(`npm prefix: ${line}`);
|
|
2598
2702
|
}), resolveShellOpenClawPath((line) => {
|
|
2599
|
-
progress.output(`${
|
|
2703
|
+
progress.output(`${IS_WINDOWS ? "where" : "which"}: ${line}`);
|
|
2600
2704
|
})]);
|
|
2601
2705
|
progress.completeStage("path discovery complete");
|
|
2602
2706
|
const globalAfter = installed ? {
|
|
2603
2707
|
installed: true,
|
|
2604
2708
|
version: globalBefore.version
|
|
2605
2709
|
} : globalBefore;
|
|
2606
|
-
const
|
|
2710
|
+
const fallbackCommand = fallbackBinDir ? resolveOpenClawCommandInDir(fallbackBinDir) : void 0;
|
|
2711
|
+
const command = resolveGlobalOpenClawCommand(globalBinDir) ?? fallbackCommand ?? "openclaw";
|
|
2607
2712
|
progress.startStage("Verifying OpenClaw CLI responsiveness");
|
|
2608
2713
|
const check = await runOpenClaw(command, ["--version"], 4e3, "capture", void 0, (line) => {
|
|
2609
2714
|
progress.output(`openclaw --version: ${line}`);
|
|
2610
2715
|
}).catch(() => null);
|
|
2611
2716
|
progress.completeStage(check?.code === 0 ? "OpenClaw responded" : "OpenClaw version probe failed");
|
|
2612
2717
|
const version = normalizeVersionOutput(check?.stdout || check?.stderr || globalAfter.version);
|
|
2613
|
-
const available = Boolean(globalAfter.installed && check && check.code === 0);
|
|
2718
|
+
const available = Boolean((globalAfter.installed || fallbackCommand) && check && check.code === 0);
|
|
2719
|
+
const effectiveBinDir = globalBinDir ?? fallbackBinDir;
|
|
2614
2720
|
progress.startStage("Caching OpenClaw check result");
|
|
2615
2721
|
if (available) {
|
|
2616
2722
|
writeOpenClawCliCheckCache(params.stateDir, {
|
|
2617
2723
|
available,
|
|
2618
2724
|
command,
|
|
2619
2725
|
version,
|
|
2620
|
-
globalBinDir,
|
|
2726
|
+
globalBinDir: effectiveBinDir,
|
|
2621
2727
|
shellCommandPath,
|
|
2622
2728
|
installedAt
|
|
2623
2729
|
});
|
|
@@ -2629,7 +2735,7 @@ async function ensureOpenClawCliAvailable(params) {
|
|
|
2629
2735
|
installedAt,
|
|
2630
2736
|
version,
|
|
2631
2737
|
command,
|
|
2632
|
-
globalBinDir,
|
|
2738
|
+
globalBinDir: effectiveBinDir,
|
|
2633
2739
|
shellCommandPath
|
|
2634
2740
|
};
|
|
2635
2741
|
}
|
|
@@ -2667,7 +2773,7 @@ function readLogTail(logPath, maxLines = 16) {
|
|
|
2667
2773
|
}
|
|
2668
2774
|
}
|
|
2669
2775
|
function resolveLatestRuntimeLogPath() {
|
|
2670
|
-
const runtimeLogDir = "
|
|
2776
|
+
const runtimeLogDir = path.join(os.tmpdir(), "openclaw");
|
|
2671
2777
|
if (!existsSync(runtimeLogDir)) return;
|
|
2672
2778
|
try {
|
|
2673
2779
|
const files = readdirSync(runtimeLogDir).filter((name) => /^openclaw-.*\.log$/u.test(name)).toSorted((a, b) => b.localeCompare(a));
|
|
@@ -3397,9 +3503,10 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
|
|
|
3397
3503
|
});
|
|
3398
3504
|
if (!installResult.available) throw new Error([
|
|
3399
3505
|
"OpenClaw CLI is required but unavailable.",
|
|
3400
|
-
|
|
3401
|
-
installResult.
|
|
3402
|
-
|
|
3506
|
+
installResult.error,
|
|
3507
|
+
!installResult.error ? IS_WINDOWS ? "Try running your terminal as Administrator and run: npm install -g openclaw" : "Try: sudo npm install -g openclaw" : void 0,
|
|
3508
|
+
installResult.globalBinDir ? `Expected global binary directory: ${installResult.globalBinDir}` : void 0
|
|
3509
|
+
].filter((line) => typeof line === "string" && line.length > 0).join("\n"));
|
|
3403
3510
|
const openclawCommand = installResult.command;
|
|
3404
3511
|
if (await shouldRunUpdate({
|
|
3405
3512
|
opts,
|
|
@@ -3516,7 +3623,7 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
|
|
|
3516
3623
|
onboardArgv.push("--skip-search");
|
|
3517
3624
|
onboardArgv.push("--skip-skills");
|
|
3518
3625
|
}
|
|
3519
|
-
onboardArgv.push("--accept-risk", "--skip-ui");
|
|
3626
|
+
onboardArgv.push("--accept-risk", "--skip-ui", "--skip-channels");
|
|
3520
3627
|
if (daemonless) onboardArgv.push("--skip-health");
|
|
3521
3628
|
if (nonInteractive) await runOpenClawOrThrow({
|
|
3522
3629
|
openclawCommand,
|
|
@@ -3692,7 +3799,8 @@ async function bootstrapCommand(opts, runtime = defaultRuntime) {
|
|
|
3692
3799
|
runtime.log(theme.muted(`Bootstrap now uses the global binary (${openclawCommand}) to avoid repo-local drift.`));
|
|
3693
3800
|
} else if (!installResult.shellCommandPath && installResult.globalBinDir) {
|
|
3694
3801
|
runtime.log(theme.warn("Global OpenClaw was installed, but `openclaw` is not on shell PATH."));
|
|
3695
|
-
|
|
3802
|
+
const pathHint = IS_WINDOWS ? `To add to PATH, run in PowerShell: $env:Path = "${installResult.globalBinDir};$env:Path"` : `Add this to your shell profile, then open a new terminal: export PATH="${installResult.globalBinDir}:$PATH"`;
|
|
3803
|
+
runtime.log(theme.muted(pathHint));
|
|
3696
3804
|
}
|
|
3697
3805
|
runtime.log(theme.muted(`Workspace seed: ${describeWorkspaceSeedResult(workspaceSeed)}`));
|
|
3698
3806
|
if (gatewayAutoFix?.attempted) {
|
|
@@ -4017,7 +4125,13 @@ async function openUrl(url) {
|
|
|
4017
4125
|
] : ["xdg-open", url];
|
|
4018
4126
|
if (!cmd) return false;
|
|
4019
4127
|
return new Promise((resolve) => {
|
|
4020
|
-
const child = spawn(cmd, args, {
|
|
4128
|
+
const child = spawn(cmd, args, {
|
|
4129
|
+
stdio: "ignore",
|
|
4130
|
+
...process$1.platform === "win32" ? {
|
|
4131
|
+
shell: true,
|
|
4132
|
+
windowsHide: true
|
|
4133
|
+
} : {}
|
|
4134
|
+
});
|
|
4021
4135
|
const timer = setTimeout(() => {
|
|
4022
4136
|
child.kill();
|
|
4023
4137
|
resolve(false);
|
|
@@ -4052,7 +4166,11 @@ async function runOpenClawUpdateWithProgress(openclawCommand) {
|
|
|
4052
4166
|
"pipe",
|
|
4053
4167
|
"pipe"
|
|
4054
4168
|
],
|
|
4055
|
-
env: process$1.env
|
|
4169
|
+
env: process$1.env,
|
|
4170
|
+
...process$1.platform === "win32" ? {
|
|
4171
|
+
shell: true,
|
|
4172
|
+
windowsHide: true
|
|
4173
|
+
} : {}
|
|
4056
4174
|
});
|
|
4057
4175
|
let stdout = "";
|
|
4058
4176
|
let stderr = "";
|
|
@@ -191,7 +191,11 @@ async function delegateToGlobalOpenClaw(argv) {
|
|
|
191
191
|
...process$1.env,
|
|
192
192
|
DENCHCLAW_DELEGATED: "1",
|
|
193
193
|
OPENCLAW_DELEGATED: "1"
|
|
194
|
-
}
|
|
194
|
+
},
|
|
195
|
+
...process$1.platform === "win32" ? {
|
|
196
|
+
shell: true,
|
|
197
|
+
windowsHide: true
|
|
198
|
+
} : {}
|
|
195
199
|
});
|
|
196
200
|
child.once("error", (error) => {
|
|
197
201
|
if (error?.code === "ENOENT") {
|
|
@@ -220,7 +224,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
220
224
|
process$1.exitCode = await delegateToGlobalOpenClaw(parseArgv);
|
|
221
225
|
return;
|
|
222
226
|
}
|
|
223
|
-
const { buildProgram } = await import("./program-
|
|
227
|
+
const { buildProgram } = await import("./program-Cv3zi02z.js");
|
|
224
228
|
await buildProgram().parseAsync(parseArgv);
|
|
225
229
|
}
|
|
226
230
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "denchclaw",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.8",
|
|
4
4
|
"description": "Fully Managed OpenClaw Framework for managing your CRM, Sales Automation and Outreach agents. The only local productivity tool you need.",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"homepage": "https://github.com/DenchHQ/DenchClaw#readme",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[13,1867,3694,3743,4114],{14114:(e,n,a)=>{a.r(n),a.d(n,{default:()=>t});let t=[Object.freeze(JSON.parse('{"displayName":"RegExp","fileTypes":["re"],"name":"regexp","patterns":[{"include":"#regexp-expression"}],"repository":{"codetags":{"captures":{"1":{"name":"keyword.codetag.notation.python"}},"match":"\\\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\\\b"},"fregexp-base-expression":{"patterns":[{"include":"#fregexp-quantifier"},{"include":"#fstring-formatting-braces"},{"match":"\\\\{.*?}"},{"include":"#regexp-base-common"}]},"fregexp-quantifier":{"match":"\\\\{\\\\{(\\\\d+|\\\\d+,(\\\\d+)?|,\\\\d+)}}","name":"keyword.operator.quantifier.regexp"},"fstring-formatting-braces":{"patterns":[{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"2":{"name":"invalid.illegal.brace.python"},"3":{"name":"constant.character.format.placeholder.other.python"}},"match":"(\\\\{)(\\\\s*?)(})"},{"match":"(\\\\{\\\\{|}})","name":"constant.character.escape.python"}]},"regexp-backreference":{"captures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},"2":{"name":"entity.name.tag.named.backreference.regexp"},"3":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},"match":"(\\\\()(\\\\?P=\\\\w+(?:\\\\s+\\\\p{alnum}+)?)(\\\\))","name":"meta.backreference.named.regexp"},"regexp-backreference-number":{"captures":{"1":{"name":"entity.name.tag.backreference.regexp"}},"match":"(\\\\\\\\[1-9]\\\\d?)","name":"meta.backreference.regexp"},"regexp-base-common":{"patterns":[{"match":"\\\\.","name":"support.other.match.any.regexp"},{"match":"\\\\^","name":"support.other.match.begin.regexp"},{"match":"\\\\$","name":"support.other.match.end.regexp"},{"match":"[*+?]\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.disjunction.regexp"},{"include":"#regexp-escape-sequence"}]},"regexp-base-expression":{"patterns":[{"include":"#regexp-quantifier"},{"include":"#regexp-base-common"}]},"regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\\\N","name":"constant.character.set.regexp"}]}]},"regexp-charecter-set-escapes":{"patterns":[{"match":"\\\\\\\\[\\\\\\\\abfnrtv]","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-special"},{"match":"\\\\\\\\([0-7]{1,3})","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-escape-catchall"}]},"regexp-comments":{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"regexp-conditional":{"begin":"(\\\\()\\\\?\\\\((\\\\w+(?:\\\\s+\\\\p{alnum}+)?|\\\\d+)\\\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-escape-catchall":{"match":"\\\\\\\\(.|\\\\n)","name":"constant.character.escape.regexp"},"regexp-escape-character":{"match":"\\\\\\\\(x\\\\h{2}|0[0-7]{1,2}|[0-7]{3})","name":"constant.character.escape.regexp"},"regexp-escape-sequence":{"patterns":[{"include":"#regexp-escape-special"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-backreference-number"},{"include":"#regexp-escape-catchall"}]},"regexp-escape-special":{"match":"\\\\\\\\([ABDSWZbdsw])","name":"support.other.escape.special.regexp"},"regexp-escape-unicode":{"match":"\\\\\\\\(u\\\\h{4}|U\\\\h{8})","name":"constant.character.unicode.regexp"},"regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#regexp-character-set"},{"include":"#regexp-comments"},{"include":"#regexp-flags"},{"include":"#regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#regexp-lookahead"},{"include":"#regexp-lookahead-negative"},{"include":"#regexp-lookbehind"},{"include":"#regexp-lookbehind-negative"},{"include":"#regexp-conditional"},{"include":"#regexp-parentheses-non-capturing"},{"include":"#regexp-parentheses"}]},"regexp-flags":{"match":"\\\\(\\\\?[Laimsux]+\\\\)","name":"storage.modifier.flag.regexp"},"regexp-lookahead":{"begin":"(\\\\()\\\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-lookahead-negative":{"begin":"(\\\\()\\\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-lookbehind":{"begin":"(\\\\()\\\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-lookbehind-negative":{"begin":"(\\\\()\\\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-named-group":{"begin":"(\\\\()(\\\\?P<\\\\w+(?:\\\\s+\\\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#regexp-expression"}]},"regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#regexp-expression"}]},"regexp-quantifier":{"match":"\\\\{(\\\\d+|\\\\d+,(\\\\d+)?|,\\\\d+)}","name":"keyword.operator.quantifier.regexp"}},"scopeName":"source.regexp.python","aliases":["regex"]}'))]},53743:(e,n,a)=>{a.r(n),a.d(n,{default:()=>t});let t=[Object.freeze(JSON.parse('{"displayName":"R","fileTypes":["R","r","Rprofile"],"foldingStartMarker":"\\\\{\\\\s*(?:#|$)","foldingStopMarker":"^\\\\s*}","name":"r","patterns":[{"include":"#roxygen-example"},{"include":"#basic"}],"repository":{"basic":{"patterns":[{"include":"#roxygen"},{"include":"#comment"},{"include":"#expression"}]},"basic-roxygen-example":{"patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"},{"include":"#comment"},{"include":"#expression"}]},"brackets":{"patterns":[{"begin":"\\\\{","end":"}","name":"meta.bracket","patterns":[{"include":"#basic"}]},{"begin":"\\\\[","end":"]","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\\\w]+)\\\\s*(?==[^=])"},{"include":"#basic"}]},{"begin":"\\\\(","end":"\\\\)","name":"meta.bracket","patterns":[{"captures":{"1":{"name":"variable.parameter"}},"match":"([.\\\\w]+)\\\\s*(?==[^=])"},{"include":"#basic"}]}]},"comment":{"match":"#.*","name":"comment.line"},"escape-code":{"match":"\\\\\\\\[\\"\'\\\\\\\\`abefnrtv]","name":"constant.character.escape"},"escape-hex":{"match":"\\\\\\\\x\\\\h+","name":"constant.numeric"},"escape-invalid":{"match":"\\\\\\\\.","name":"invalid"},"escape-octal":{"match":"\\\\\\\\\\\\d{1,3}","name":"constant.character.escape"},"escape-unicode":{"match":"\\\\\\\\[Uu](?:\\\\h+|\\\\{\\\\h+})","name":"constant.character.escape"},"escapes":{"patterns":[{"include":"#escape-code"},{"include":"#escape-hex"},{"include":"#escape-octal"},{"include":"#escape-unicode"},{"include":"#escape-invalid"}]},"expression":{"patterns":[{"include":"#brackets"},{"include":"#raw-strings"},{"include":"#strings"},{"include":"#function-definition"},{"include":"#keywords"},{"include":"#function-call"},{"include":"#identifiers"},{"include":"#numbers"},{"include":"#operators"}]},"function-call":{"captures":{"0":{"name":"meta.function-call"},"1":{"name":"entity.name.function"}},"match":"([.\\\\w]+)(?=\\\\()"},"function-definition":{"begin":"(function)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other"},"2":{"name":"meta.bracket"}},"end":"(\\\\))","endCaptures":{"1":{"name":"meta.bracket"}},"name":"meta.function.definition","patterns":[{"begin":"([.\\\\w]+)","beginCaptures":{"1":{"name":"variable.parameter"}},"end":"(?=[),])","patterns":[{"include":"#basic"}]},{"include":"#basic"}]},"identifier-quoted":{"begin":"`","end":"`","name":"variable.object","patterns":[{"match":"\\\\\\\\`"}]},"identifier-syntactic":{"match":"[.\\\\p{L}\\\\p{Nl}][.\\\\p{L}\\\\p{Nl}\\\\p{Mn}\\\\p{Mc}\\\\d\\\\p{Pc}]*","name":"variable.object"},"identifiers":{"patterns":[{"include":"#identifier-syntactic"},{"include":"#identifier-quoted"}]},"keywords":{"patterns":[{"include":"#keywords-control"},{"include":"#keywords-builtin"},{"include":"#keywords-constant"}]},"keywords-builtin":{"match":"(?:setGroupGeneric|setRefClass|setGeneric|NextMethod|setMethod|UseMethod|tryCatch|setClass|warning|require|library|R6Class|return|switch|attach|detach|source|stop|try)(?=\\\\()","name":"keyword.other"},"keywords-constant":{"match":"(?:NA_character_|NA_integer_|NA_complex_|NA_real_|TRUE|FALSE|NULL|Inf|NaN|NA)\\\\b","name":"constant.language"},"keywords-control":{"match":"(?:\\\\\\\\|function|if|else|in|break|next|repeat|for|while)\\\\b","name":"keyword"},"latex":{"patterns":[{"match":"\\\\\\\\\\\\w+","name":"keyword.other"}]},"markdown":{"patterns":[{"begin":"(`{3,})\\\\s*(.*)","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"entity.name.section"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"comment.line"}},"patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"}]},{"captures":{"1":{"name":"meta.bracket"},"2":{"name":"variable.object"},"3":{"name":"keyword.operator"},"4":{"name":"entity.name.function"},"5":{"name":"meta.bracket"},"6":{"name":"meta.bracket"}},"match":"(\\\\[)(?:(\\\\w+)(:{2,3}))?(\\\\w+)(\\\\(\\\\))?(])"},{"match":"(\\\\s+|^)(__.+?__)\\\\b","name":"markdown.bold"},{"match":"(\\\\s+|^)(_(?=[^_])(?:\\\\\\\\.|[^\\\\\\\\_])*?_)\\\\b","name":"markdown.italic"},{"match":"(\\\\*\\\\*.+?\\\\*\\\\*)","name":"markdown.bold"},{"match":"(\\\\*(?=[^*\\\\s])(?:\\\\\\\\.|[^*\\\\\\\\])*?\\\\*)","name":"markdown.italic"},{"match":"(`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","name":"markup.quote"},{"match":"(<)([^>]*)(>)","name":"markup.underline.link"}]},"numbers":{"patterns":[{"match":"0[Xx]\\\\h+(?:p[-+]?\\\\d+)?[Li]?","name":"constant.numeric"},{"match":"(?:\\\\d+(?:\\\\.\\\\d*)?|\\\\.\\\\d+)(?:[Ee][-+]?\\\\d*)?[Li]?","name":"constant.numeric"}]},"operators":{"match":"%.*?%|:::?|:=|\\\\|>|=>|%%|>=|<=|==|!=|<<-|->>?|<-|\\\\|\\\\||&&|[-+=]|\\\\*\\\\*?|[!$\\\\&,/:<>?@^|~]","name":"keyword.operator"},"qqstring":{"begin":"\\"","end":"\\"","name":"string.quoted.double","patterns":[{"include":"#escapes"}]},"qstring":{"begin":"\'","end":"\'","name":"string.quoted.single","patterns":[{"include":"#escapes"}]},"raw-strings":{"name":"string.quoted.other","patterns":[{"begin":"[Rr]\\"(-*)\\\\{","end":"}\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\{","end":"}\\\\1\'","name":"string.quoted.other"},{"begin":"[Rr]\\"(-*)\\\\[","end":"]\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\[","end":"]\\\\1\'","name":"string.quoted.other"},{"begin":"[Rr]\\"(-*)\\\\(","end":"\\\\)\\\\1\\"","name":"string.quoted.other"},{"begin":"[Rr]\'(-*)\\\\(","end":"\\\\)\\\\1\'","name":"string.quoted.other"}]},"roxygen":{"begin":"^(\\\\s*#+\')","beginCaptures":{"1":{"name":"comment.line.roxygen"}},"end":"$","patterns":[{"include":"#markdown"},{"include":"#roxygen-tokens"},{"include":"#latex"},{"match":".","name":"comment.line"}]},"roxygen-example":{"begin":"^(\\\\s*#+\')\\\\s*(?:(@examples)\\\\s*|(@examplesIf)\\\\s+(.*))$","beginCaptures":{"1":{"name":"comment.line"},"2":{"name":"keyword.other"},"3":{"name":"keyword.other"},"4":{"patterns":[{"include":"#expression"}]}},"end":"^(?:\\\\s*(?=#+\'\\\\s*@)|\\\\s*(?!#+\'))","patterns":[{"match":"^\\\\s*#+\'","name":"comment.line"},{"match":"[]()\\\\[{}]","name":"meta.bracket"},{"include":"#latex"},{"include":"#roxygen-tokens"},{"include":"#basic-roxygen-example"}]},"roxygen-tokens":{"patterns":[{"match":"@@","name":"constant.character.escape"},{"begin":"(@(?:param|field|slot))\\\\s*","beginCaptures":{"1":{"name":"keyword.other"}},"end":"\\\\s|$","patterns":[{"match":"([.\\\\w]+)","name":"variable.parameter"},{"match":",","name":"keyword.operator"}]},{"match":"@(?!@)\\\\w*","name":"keyword.other"}]},"strings":{"patterns":[{"include":"#qstring"},{"include":"#qqstring"}]}},"scopeName":"source.r"}'))]},80013:(e,n,a)=>{a.r(n),a.d(n,{default:()=>i});var t=a(20934);let r=Object.freeze(JSON.parse('{"displayName":"GLSL","fileTypes":["vs","fs","gs","vsh","fsh","gsh","vshader","fshader","gshader","vert","frag","geom","f.glsl","v.glsl","g.glsl"],"foldingStartMarker":"/\\\\*\\\\*|\\\\{\\\\s*$","foldingStopMarker":"\\\\*\\\\*/|^\\\\s*}","name":"glsl","patterns":[{"match":"\\\\b(break|case|continue|default|discard|do|else|for|if|return|switch|while)\\\\b","name":"keyword.control.glsl"},{"match":"\\\\b(void|bool|int|uint|float|vec2|vec3|vec4|bvec2|bvec3|bvec4|ivec2|ivec3|uvec2|uvec3|mat2|mat3|mat4|mat2x2|mat2x3|mat2x4|mat3x2|mat3x3|mat3x4|mat4x2|mat4x3|mat4x4|sampler[123|]D|samplerCube|sampler2DRect|sampler[12|]DShadow|sampler2DRectShadow|sampler[12|]DArray|sampler[12|]DArrayShadow|samplerBuffer|sampler2DMS|sampler2DMSArray|struct|isampler[123|]D|isamplerCube|isampler2DRect|isampler[12|]DArray|isamplerBuffer|isampler2DMS|isampler2DMSArray|usampler[123|]D|usamplerCube|usampler2DRect|usampler[12|]DArray|usamplerBuffer|usampler2DMS|usampler2DMSArray)\\\\b","name":"storage.type.glsl"},{"match":"\\\\b(attribute|centroid|const|flat|in|inout|invariant|noperspective|out|smooth|uniform|varying)\\\\b","name":"storage.modifier.glsl"},{"match":"\\\\b(gl_(?:BackColor|BackLightModelProduct|BackLightProduct|BackMaterial|BackSecondaryColor|ClipDistance|ClipPlane|ClipVertex|Color|DepthRange|DepthRangeParameters|EyePlaneQ|EyePlaneR|EyePlaneS|EyePlaneT|Fog|FogCoord|FogFragCoord|FogParameters|FragColor|FragCoord|FragDat|FragDept|FrontColor|FrontFacing|FrontLightModelProduct|FrontLightProduct|FrontMaterial|FrontSecondaryColor|InstanceID|Layer|LightModel|LightModelParameters|LightModelProducts|LightProducts|LightSource|LightSourceParameters|MaterialParameters|ModelViewMatrix|ModelViewMatrixInverse|ModelViewMatrixInverseTranspose|ModelViewMatrixTranspose|ModelViewProjectionMatrix|ModelViewProjectionMatrixInverse|ModelViewProjectionMatrixInverseTranspose|ModelViewProjectionMatrixTranspose|MultiTexCoord[0-7]|Normal|NormalMatrix|NormalScale|ObjectPlaneQ|ObjectPlaneR|ObjectPlaneS|ObjectPlaneT|Point|PointCoord|PointParameters|PointSize|Position|PrimitiveIDIn|ProjectionMatrix|ProjectionMatrixInverse|ProjectionMatrixInverseTranspose|ProjectionMatrixTranspose|SecondaryColor|TexCoord|TextureEnvColor|TextureMatrix|TextureMatrixInverse|TextureMatrixInverseTranspose|TextureMatrixTranspose|Vertex|VertexIDh))\\\\b","name":"support.variable.glsl"},{"match":"\\\\b(gl_Max(?:ClipPlane|CombinedTextureImageUnit|DrawBuffer|FragmentUniformComponent|Light|TextureCoord|TextureImageUnit|TextureUnit|VaryingFloat|VertexAttrib|VertexTextureImageUnit|VertexUniformComponent)s)\\\\b","name":"support.constant.glsl"},{"match":"\\\\b(abs|acos|all|any|asin|atan|ceil|clamp|cos|cross|degrees|dFdx|dFdy|distance|dot|equal|exp2??|faceforward|floor|fract|ftransform|fwidth|greaterThan|greaterThanEqual|inversesqrt|length|lessThan|lessThanEqual|log2??|matrixCompMult|max|min|mix|mod|noise[1-4]|normalize|not|notEqual|outerProduct|pow|radians|reflect|refract|shadow1D|shadow1DLod|shadow1DProj|shadow1DProjLod|shadow2D|shadow2DLod|shadow2DProj|shadow2DProjLod|sign|sin|smoothstep|sqrt|step|tan|texture1D|texture1DLod|texture1DProj|texture1DProjLod|texture2D|texture2DLod|texture2DProj|texture2DProjLod|texture3D|texture3DLod|texture3DProj|texture3DProjLod|textureCube|textureCubeLod|transpose)\\\\b","name":"support.function.glsl"},{"match":"\\\\b(asm|double|enum|extern|goto|inline|long|short|sizeof|static|typedef|union|unsigned|volatile)\\\\b","name":"invalid.illegal.glsl"},{"include":"source.c"}],"scopeName":"source.glsl","embeddedLangs":["c"]}')),i=[...t.default,r]},84113:(e,n,a)=>{a.r(n),a.d(n,{default:()=>s});var t=a(28574),r=a(7451),i=a(14852),o=a(53743),p=a(89293);let c=Object.freeze(JSON.parse('{"displayName":"Julia","name":"julia","patterns":[{"include":"#operator"},{"include":"#array"},{"include":"#string"},{"include":"#parentheses"},{"include":"#bracket"},{"include":"#function_decl"},{"include":"#function_call"},{"include":"#for_block"},{"include":"#keyword"},{"include":"#number"},{"include":"#comment"},{"include":"#type_decl"},{"include":"#symbol"},{"include":"#punctuation"}],"repository":{"array":{"patterns":[{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.bracket.julia"}},"end":"(])(\\\\.?\'*)","endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}},"name":"meta.array.julia","patterns":[{"match":"\\\\bbegin\\\\b","name":"constant.numeric.julia"},{"match":"\\\\bend\\\\b","name":"constant.numeric.julia"},{"include":"#self_no_for_block"}]}]},"bracket":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.bracket.julia"}},"end":"(})(\\\\.?\'*)","endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}},"patterns":[{"include":"#self_no_for_block"}]}]},"comment":{"patterns":[{"include":"#comment_block"},{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.julia"}},"end":"\\\\n","name":"comment.line.number-sign.julia","patterns":[{"include":"#comment_tags"}]}]},"comment_block":{"patterns":[{"begin":"#=","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.julia"}},"end":"=#","endCaptures":{"0":{"name":"punctuation.definition.comment.end.julia"}},"name":"comment.block.number-sign-equals.julia","patterns":[{"include":"#comment_tags"},{"include":"#comment_block"}]}]},"comment_tags":{"patterns":[{"match":"\\\\bTODO\\\\b","name":"keyword.other.comment-annotation.julia"},{"match":"\\\\bFIXME\\\\b","name":"keyword.other.comment-annotation.julia"},{"match":"\\\\bCHANGED\\\\b","name":"keyword.other.comment-annotation.julia"},{"match":"\\\\bXXX\\\\b","name":"keyword.other.comment-annotation.julia"}]},"for_block":{"patterns":[{"begin":"\\\\b(for)\\\\b","beginCaptures":{"0":{"name":"keyword.control.julia"}},"end":"(?<![,\\\\s])(\\\\s*\\\\n)","patterns":[{"match":"\\\\bouter\\\\b","name":"keyword.other.julia"},{"include":"$self"}]}]},"function_call":{"patterns":[{"begin":"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)(\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*})?\\\\.?(\\\\()","beginCaptures":{"1":{"name":"support.function.julia"},"2":{"name":"support.type.julia"},"3":{"name":"meta.bracket.julia"}},"end":"\\\\)((\'|(\\\\.\'))*\\\\.?\')?","endCaptures":{"0":{"name":"meta.bracket.julia"},"1":{"name":"keyword.operator.transposed-func.julia"}},"patterns":[{"include":"#self_no_for_block"}]}]},"function_decl":{"patterns":[{"captures":{"1":{"name":"entity.name.function.julia"},"2":{"name":"support.type.julia"}},"match":"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)(\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*})?(?=\\\\([^#]*\\\\)(::\\\\S+)?(\\\\s*\\\\bwhere\\\\b\\\\s+.+?)?\\\\s*?=(?![=>]))"},{"captures":{"1":{"name":"keyword.other.julia"},"2":{"name":"keyword.operator.dots.julia"},"3":{"name":"entity.name.function.julia"},"4":{"name":"support.type.julia"}},"match":"\\\\b(function|macro)(?:\\\\s+(?:[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*(\\\\.))?([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)(\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*})?|\\\\s*)(?=\\\\()"}]},"keyword":{"patterns":[{"match":"\\\\b(?<![.:_])(?:function|mutable\\\\s+struct|struct|macro|quote|abstract\\\\s+type|primitive\\\\s+type|module|baremodule|where)\\\\b","name":"keyword.other.julia"},{"match":"\\\\b(?<![:_])(?:if|else|elseif|for|while|begin|let|do|try|catch|finally|return|break|continue)\\\\b","name":"keyword.control.julia"},{"match":"\\\\b(?<![:_])end\\\\b","name":"keyword.control.end.julia"},{"match":"\\\\b(?<![:_])(?:global|local|const)\\\\b","name":"keyword.storage.modifier.julia"},{"match":"\\\\b(?<![:_])export\\\\b","name":"keyword.control.export.julia"},{"match":"^public\\\\b","name":"keyword.control.public.julia"},{"match":"\\\\b(?<![:_])import\\\\b","name":"keyword.control.import.julia"},{"match":"\\\\b(?<![:_])using\\\\b","name":"keyword.control.using.julia"},{"match":"(?<=\\\\S\\\\s+)\\\\b(as)\\\\b(?=\\\\s+\\\\S)","name":"keyword.control.as.julia"},{"match":"@(\\\\.|[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*|[[\\\\p{S}\\\\p{P}]&&[^@\\\\s]]+)","name":"support.function.macro.julia"}]},"number":{"patterns":[{"captures":{"1":{"name":"constant.numeric.julia"},"2":{"name":"keyword.operator.conjugate-number.julia"}},"match":"((?<![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]])\\\\b(?:0[Xx]\\\\h(?:_?\\\\h)*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:[0-9](?:_?[0-9])*\\\\.?(?!\\\\.)[0-9_]*|\\\\.[0-9](?:_?[0-9])*)(?:[Eef][-+]?[0-9](?:_?[0-9])*)?(?:(?:im|Inf(?:16|32|64)?|NaN(?:16|32|64)?|π|pi|ℯ)\\\\b)?|[0-9]+|Inf(?:16|32|64)?\\\\b|NaN(?:16|32|64)?\\\\b|π\\\\b|pi\\\\b|ℯ\\\\b))(\'*)"},{"match":"\\\\b(?:ARGS|C_NULL|DEPOT_PATH|ENDIAN_BOM|ENV|LOAD_PATH|PROGRAM_FILE|stdin|stdout|stderr|VERSION|devnull)\\\\b","name":"constant.global.julia"},{"match":"\\\\b(?:true|false|nothing|missing)\\\\b","name":"constant.language.julia"}]},"operator":{"patterns":[{"match":"\\\\.?(?:<--\x3e|->|--\x3e|<--|[←→↔↚-↞↠↢↣↤↦↩-↬↮↶↷↺-↽⇀⇁⇄⇆⇇⇉⇋-⇐⇒⇔⇚-⇝⇠⇢⇴⇶-⇿⟵⟶⟷⟹-⟿⤀-⤇⤌-⤑⤔-⤘⤝-⤠⥄-⥈⥊⥋⥎⥐⥒⥓⥖⥗⥚⥛⥞⥟⥢⥤⥦-⥭⥰⥷⥺⧴⬰-⭄⭇-⭌←→]|=>)","name":"keyword.operator.arrow.julia"},{"match":":=|\\\\+=|-=|\\\\*=|//=|/=|\\\\.//=|\\\\./=|\\\\.\\\\*=|\\\\\\\\=|\\\\.\\\\\\\\=|\\\\^=|\\\\.\\\\^=|%=|\\\\.%=|\xf7=|\\\\.\xf7=|\\\\|=|&=|\\\\.&=|⊻=|\\\\.⊻=|\\\\$=|<<=|>>=|>>>=|=(?!=)","name":"keyword.operator.update.julia"},{"match":"<<|>>>?|\\\\.>>>?|\\\\.<<","name":"keyword.operator.shift.julia"},{"captures":{"1":{"name":"keyword.operator.relation.types.julia"},"2":{"name":"support.type.julia"},"3":{"name":"keyword.operator.transpose.julia"}},"match":"\\\\s*([:<>]:)\\\\s*((?:Union)?\\\\([^)]*\\\\)|[$_∇[:alpha:]][!.′⁺-ₜ[:word:]]*(?:\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*}|\\".+?(?<!\\\\\\\\)\\")?)(?:\\\\.\\\\.\\\\.)?(\\\\.?\'*)"},{"match":"(\\\\.?((?<!<)<=|(?<!>)>=|[<>≤≥]|===?|≡|!=|≠|!==|[∈-∍∝∥∦∷∺∻∽∾≁-≎≐-≓≖-≟≢≣≦-⊋⊏-⊒⊜⊢⊣⊩⊬⊮⊰-⊷⋍⋐⋑⋕-⋭⋲-⋿⟂⟈⟉⟒⦷⧀⧁⧡⧣⧤⧥⩦⩧⩪-⩳⩵-⫙⫪⫫⫷-⫺]|<:|>:))","name":"keyword.operator.relation.julia"},{"match":"(?<=\\\\s)\\\\?(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"(?<=\\\\s):(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"\\\\|\\\\||&&|(?<![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]])!","name":"keyword.operator.boolean.julia"},{"match":"(?<=[]!)}′⁺-ₜ∇[:word:]]):","name":"keyword.operator.range.julia"},{"match":"\\\\|>","name":"keyword.operator.applies.julia"},{"match":"\\\\||\\\\.\\\\||&|\\\\.&|[~\xac]|\\\\.~|⊻|\\\\.⊻","name":"keyword.operator.bitwise.julia"},{"match":"\\\\.?(?:\\\\+\\\\+|--|[-*+|\xa6\xb1−∓∔∨∪∸≏⊎⊔⊕⊖⊞⊟⊻⊽⋎⋓⟇⧺⧻⨈⨢-⨮⨹⨺⩁⩂⩅⩊⩌⩏⩐⩒⩔⩖⩗⩛⩝⩡⩢⩣]|//?|[%\\\\&\\\\\\\\^\xb1\xb7\xd7\xf7·⅋↑↓⇵∓∗-∜∤∧∩≀⊍⊓⊗-⊛⊠⊡⊼⋄-⋇⋉-⋌⋏⋒⌿▷⟑⟕⟖⟗⟰⟱⤈-⤋⤒⤓⥉⥌⥍⥏⥑⥔⥕⥘⥙⥜⥝⥠⥡⥣⥥⥮⥯⦸⦼⦾⦿⧶⧷⨇⨝⨟⨰-⨸⨻⨼⨽⩀⩃⩄⩋⩍⩎⩑⩓⩕⩘⩚⩜⩞⩟⩠⫛↑↓])","name":"keyword.operator.arithmetic.julia"},{"match":"∘","name":"keyword.operator.compose.julia"},{"match":"::|(?<=\\\\s)isa(?=\\\\s)","name":"keyword.operator.isa.julia"},{"match":"(?<=\\\\s)in(?=\\\\s)","name":"keyword.operator.relation.in.julia"},{"match":"\\\\.(?=[@_\\\\p{L}])|\\\\.\\\\.+|[…⁝⋮-⋱]","name":"keyword.operator.dots.julia"},{"match":"\\\\$(?=.+)","name":"keyword.operator.interpolation.julia"},{"captures":{"2":{"name":"keyword.operator.transposed-variable.julia"}},"match":"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)((\'|(\\\\.\'))*\\\\.?\')"},{"captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-matrix.julia"}},"match":"(])((?:\\\\.??\')*\\\\.?\')"},{"captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-parens.julia"}},"match":"(\\\\))((?:\\\\.??\')*\\\\.?\')"}]},"parentheses":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.bracket.julia"}},"end":"(\\\\))(\\\\.?\'*)","endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}},"patterns":[{"include":"#self_no_for_block"}]}]},"punctuation":{"patterns":[{"match":",","name":"punctuation.separator.comma.julia"},{"match":";","name":"punctuation.separator.semicolon.julia"}]},"self_no_for_block":{"patterns":[{"include":"#operator"},{"include":"#array"},{"include":"#string"},{"include":"#parentheses"},{"include":"#bracket"},{"include":"#function_decl"},{"include":"#function_call"},{"include":"#keyword"},{"include":"#number"},{"include":"#comment"},{"include":"#type_decl"},{"include":"#symbol"},{"include":"#punctuation"}]},"string":{"patterns":[{"begin":"(@doc)\\\\s((?:doc)?\\"\\"\\")|(doc\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"(\\"\\"\\") ?(->)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"keyword.operator.arrow.julia"}},"name":"string.docstring.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(i?cxx)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.cpp","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.cxx.julia","patterns":[{"include":"source.cpp#root_context"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(py)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.python","end":"([\\\\s\\\\w]*)(\\"\\"\\")","endCaptures":{"2":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.python.julia","patterns":[{"include":"source.python"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(js)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.javascript","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.js.julia","patterns":[{"include":"source.js"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(R)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.r","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.R.julia","patterns":[{"include":"source.r"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(raw)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(raw)(\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(sql)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.sql","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.sql.julia","patterns":[{"include":"source.sql"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"var\\"\\"\\"","end":"\\"\\"\\"","name":"constant.other.symbol.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"var\\"","end":"\\"","name":"constant.other.symbol.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"^\\\\s?(doc)?(\\"\\"\\")\\\\s?$","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"}},"name":"string.docstring.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"end":"\'(?!\')","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.single.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.multiline.begin.julia"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.multiline.end.julia"}},"name":"string.quoted.triple.double.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"\\"(?!\\"\\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.double.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"r\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"end":"(\\"\\"\\")([imsx]{0,4})?","endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}},"name":"string.regexp.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"r\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"end":"(\\")([imsx]{0,4})?","endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}},"name":"string.regexp.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(?<!\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(\\"\\"\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(?<!\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(?<!`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)?```","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(```)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}},"name":"string.interpolated.backtick.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(?<!`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)?`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"end":"(?<![^\\\\\\\\]\\\\\\\\)(`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}},"name":"string.interpolated.backtick.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]}]},"string_dollar_sign_interpolate":{"patterns":[{"match":"\\\\$[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}[^←-⇿\\\\P{So}][^$\\\\P{Sc}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}][^$\\\\P{Sc}]]*","name":"variable.interpolation.julia"},{"begin":"\\\\$(\\\\()","beginCaptures":{"1":{"name":"meta.bracket.julia"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.bracket.julia"}},"name":"variable.interpolation.julia","patterns":[{"include":"#self_no_for_block"}]}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\(\\\\\\\\|[0-3]\\\\d{0,2}|[4-7]\\\\d?|x\\\\h{0,2}|u\\\\h{0,4}|U\\\\h{0,8}|.)","name":"constant.character.escape.julia"}]},"symbol":{"patterns":[{"match":"(?<![]!)}′⁺-ₜ∇[:word:]]):[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*(?![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]])(?![\\"`])","name":"constant.other.symbol.julia"}]},"type_decl":{"patterns":[{"captures":{"1":{"name":"entity.name.type.julia"},"2":{"name":"entity.other.inherited-class.julia"},"3":{"name":"punctuation.separator.inheritance.julia"}},"match":"!:_(?:struct|mutable\\\\s+struct|abstract\\\\s+type|primitive\\\\s+type)\\\\s+([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*)(\\\\s*(<:)\\\\s*[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜\uD835\uDEC1\uD835\uDEDB\uD835\uDEFB\uD835\uDF15\uD835\uDF35\uD835\uDF4F\uD835\uDF6F\uD835\uDF89\uD835\uDFA9\uD835\uDFC3\uD835\uDFCE-\uD835\uDFE1[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-\xa1\\\\P{Mn}][^\\\\x01-\xa1\\\\P{Mc}][^\\\\x01-\xa1\\\\D][^\\\\x01-\xa1\\\\P{Pc}][^\\\\x01-\xa1\\\\P{Sk}][^\\\\x01-\xa1\\\\P{Me}][^\\\\x01-\xa1\\\\P{No}][^←-⇿\\\\P{So}]]*(?:\\\\{.*})?)?","name":"meta.type.julia"}]}},"scopeName":"source.julia","embeddedLangs":["cpp","python","javascript","r","sql"],"aliases":["jl"]}')),s=[...t.default,...r.default,...i.default,...o.default,...p.default,c]}}]);
|