modern-monaco 0.1.5 → 0.1.7
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/README.md +8 -8
- package/dist/cache.js +43 -35
- package/dist/core.js +5 -5
- package/dist/shiki.js +76 -65
- package/dist/ssr/index.js +2 -2
- package/dist/ssr/workerd.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -88,12 +88,12 @@ export default {
|
|
|
88
88
|
`console.log("Hello, world!")`,
|
|
89
89
|
{
|
|
90
90
|
language: "javascript",
|
|
91
|
-
theme: "
|
|
91
|
+
theme: "vitesse-dark",
|
|
92
92
|
userAgent: req.headers.get("user-agent"), // detect default font for different platforms
|
|
93
93
|
},
|
|
94
94
|
);
|
|
95
95
|
return new Response(
|
|
96
|
-
html
|
|
96
|
+
/* html */`
|
|
97
97
|
${editorHTML}
|
|
98
98
|
<script type="module">
|
|
99
99
|
import { hydrate } from "https://esm.sh/modern-monaco";
|
|
@@ -190,14 +190,14 @@ modern-monaco uses [Shiki](https://shiki.style) for syntax highlighting with ext
|
|
|
190
190
|
To set the editor theme, you can add a `theme` attribute to the `<monaco-editor>` element.
|
|
191
191
|
|
|
192
192
|
```html
|
|
193
|
-
<monaco-editor theme="
|
|
193
|
+
<monaco-editor theme="vitesse-dark"></monaco-editor>
|
|
194
194
|
```
|
|
195
195
|
|
|
196
196
|
Or set it in the `lazy`, `init`, or `hydrate` function.
|
|
197
197
|
|
|
198
198
|
```js
|
|
199
199
|
lazy({
|
|
200
|
-
theme: "
|
|
200
|
+
theme: "vitesse-dark",
|
|
201
201
|
});
|
|
202
202
|
```
|
|
203
203
|
|
|
@@ -207,7 +207,7 @@ lazy({
|
|
|
207
207
|
modern-monaco loads the theme data from the CDN when a theme ID is provided. You can also use a theme from the `tm-themes` package:
|
|
208
208
|
|
|
209
209
|
```js
|
|
210
|
-
import OneDark from "tm-themes/themes/
|
|
210
|
+
import OneDark from "tm-themes/themes/vitesse-dark.json" with { type: "json" };
|
|
211
211
|
|
|
212
212
|
lazy({
|
|
213
213
|
theme: OneDark,
|
|
@@ -259,7 +259,7 @@ You can set editor options as attributes in the `<monaco-editor>` element. The e
|
|
|
259
259
|
|
|
260
260
|
```html
|
|
261
261
|
<monaco-editor
|
|
262
|
-
theme="
|
|
262
|
+
theme="vitesse-dark"
|
|
263
263
|
fontFamily="Geist Mono"
|
|
264
264
|
fontSize="16"
|
|
265
265
|
></monaco-editor>
|
|
@@ -273,7 +273,7 @@ import { renderToWebComponent } from "modern-monaco/ssr";
|
|
|
273
273
|
const html = await renderToWebComponent(
|
|
274
274
|
`console.log("Hello, world!")`,
|
|
275
275
|
{
|
|
276
|
-
theme: "
|
|
276
|
+
theme: "vitesse-dark",
|
|
277
277
|
language: "javascript",
|
|
278
278
|
fontFamily: "Geist Mono",
|
|
279
279
|
fontSize: 16,
|
|
@@ -348,7 +348,7 @@ export interface LSPLanguageConfig {
|
|
|
348
348
|
modern-monaco uses [import maps](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap) to resolve **bare specifier** imports in JavaScript/TypeScript. By default, modern-monaco detects the `importmap` from the root `index.html` in the workspace.
|
|
349
349
|
|
|
350
350
|
```js
|
|
351
|
-
const indexHtml = html
|
|
351
|
+
const indexHtml = /* html */`<!DOCTYPE html>
|
|
352
352
|
<html>
|
|
353
353
|
<head>
|
|
354
354
|
<script type="importmap">
|
package/dist/cache.js
CHANGED
|
@@ -1,24 +1,47 @@
|
|
|
1
1
|
// src/cache.ts
|
|
2
2
|
import { defineProperty, openIDB, promisifyIDBRequest, toURL } from "./util.js";
|
|
3
|
-
var
|
|
4
|
-
|
|
3
|
+
var IndexedDB = class {
|
|
4
|
+
#db;
|
|
5
5
|
constructor(name) {
|
|
6
|
-
|
|
7
|
-
this._db = this._openDB(name);
|
|
8
|
-
}
|
|
6
|
+
this.#db = this.#openDB(name);
|
|
9
7
|
}
|
|
10
|
-
|
|
11
|
-
return openIDB(
|
|
12
|
-
name,
|
|
13
|
-
1,
|
|
14
|
-
{ name: "store", keyPath: "url" }
|
|
15
|
-
).then((db) => {
|
|
8
|
+
#openDB(name) {
|
|
9
|
+
return openIDB(name, 1, { name: "store", keyPath: "url" }).then((db) => {
|
|
16
10
|
db.onclose = () => {
|
|
17
|
-
this
|
|
11
|
+
this.#db = this.#openDB(name);
|
|
18
12
|
};
|
|
19
|
-
return this
|
|
13
|
+
return this.#db = db;
|
|
20
14
|
});
|
|
21
15
|
}
|
|
16
|
+
async get(url) {
|
|
17
|
+
const db = await this.#db;
|
|
18
|
+
const tx = db.transaction("store", "readonly").objectStore("store");
|
|
19
|
+
return promisifyIDBRequest(tx.get(url));
|
|
20
|
+
}
|
|
21
|
+
async put(file) {
|
|
22
|
+
const db = await this.#db;
|
|
23
|
+
const tx = db.transaction("store", "readwrite").objectStore("store");
|
|
24
|
+
await promisifyIDBRequest(tx.put(file));
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var MemoryCache = class {
|
|
28
|
+
#cache = /* @__PURE__ */ new Map();
|
|
29
|
+
async get(url) {
|
|
30
|
+
return this.#cache.get(url) ?? null;
|
|
31
|
+
}
|
|
32
|
+
async put(file) {
|
|
33
|
+
this.#cache.set(file.url, file);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var Cache = class {
|
|
37
|
+
_db;
|
|
38
|
+
constructor(name) {
|
|
39
|
+
if (globalThis.indexedDB) {
|
|
40
|
+
this._db = new IndexedDB(name);
|
|
41
|
+
} else {
|
|
42
|
+
this._db = new MemoryCache();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
22
45
|
async fetch(url) {
|
|
23
46
|
url = toURL(url);
|
|
24
47
|
const storedRes = await this.query(url);
|
|
@@ -26,17 +49,15 @@ var Cache = class {
|
|
|
26
49
|
return storedRes;
|
|
27
50
|
}
|
|
28
51
|
const res = await fetch(url);
|
|
29
|
-
if (res.ok
|
|
30
|
-
const db = await this._db;
|
|
52
|
+
if (res.ok) {
|
|
31
53
|
const file = {
|
|
32
54
|
url: url.href,
|
|
33
55
|
content: null,
|
|
34
56
|
ctime: Date.now()
|
|
35
57
|
};
|
|
36
58
|
if (res.redirected) {
|
|
37
|
-
const tx = db.transaction("store", "readwrite").objectStore("store");
|
|
38
59
|
file.headers = [["location", res.url]];
|
|
39
|
-
|
|
60
|
+
this._db.put(file);
|
|
40
61
|
}
|
|
41
62
|
const content = await res.arrayBuffer();
|
|
42
63
|
const headers = [...res.headers.entries()].filter(
|
|
@@ -45,7 +66,7 @@ var Cache = class {
|
|
|
45
66
|
file.url = res.url;
|
|
46
67
|
file.headers = headers;
|
|
47
68
|
file.content = content;
|
|
48
|
-
|
|
69
|
+
this._db.put(file);
|
|
49
70
|
const resp = new Response(content, { headers });
|
|
50
71
|
defineProperty(resp, "url", res.url);
|
|
51
72
|
defineProperty(resp, "redirected", res.redirected);
|
|
@@ -54,15 +75,10 @@ var Cache = class {
|
|
|
54
75
|
return res;
|
|
55
76
|
}
|
|
56
77
|
async query(key) {
|
|
57
|
-
if (!this._db) {
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
78
|
const url = toURL(key).href;
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (ret && ret.headers) {
|
|
65
|
-
const headers = new Headers(ret.headers);
|
|
79
|
+
const file = await this._db.get(url);
|
|
80
|
+
if (file && file.headers) {
|
|
81
|
+
const headers = new Headers(file.headers);
|
|
66
82
|
if (headers.has("location")) {
|
|
67
83
|
const redirectedUrl = headers.get("location");
|
|
68
84
|
const res2 = await this.query(redirectedUrl);
|
|
@@ -71,20 +87,12 @@ var Cache = class {
|
|
|
71
87
|
}
|
|
72
88
|
return res2;
|
|
73
89
|
}
|
|
74
|
-
const res = new Response(
|
|
90
|
+
const res = new Response(file.content, { headers });
|
|
75
91
|
defineProperty(res, "url", url);
|
|
76
92
|
return res;
|
|
77
93
|
}
|
|
78
94
|
return null;
|
|
79
95
|
}
|
|
80
|
-
async store(file) {
|
|
81
|
-
if (!this._db) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
const db = await this._db;
|
|
85
|
-
const tx = db.transaction("store", "readwrite").objectStore("store");
|
|
86
|
-
await promisifyIDBRequest(tx.put(file));
|
|
87
|
-
}
|
|
88
96
|
};
|
|
89
97
|
var cache = new Cache("modern-monaco-cache");
|
|
90
98
|
var cache_default = cache;
|
package/dist/core.js
CHANGED
|
@@ -11,7 +11,7 @@ function createWebWorker(url, name) {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
// src/core.ts
|
|
14
|
-
import { getExtnameFromLanguageId, getLanguageIdFromPath, initShiki, setDefaultWasmLoader,
|
|
14
|
+
import { getExtnameFromLanguageId, getLanguageIdFromPath, grammars, initShiki, setDefaultWasmLoader, themes } from "./shiki.js";
|
|
15
15
|
import { initShikiMonacoTokenizer, registerShikiMonacoTokenizer } from "./shiki.js";
|
|
16
16
|
import { render } from "./shiki.js";
|
|
17
17
|
import { getWasmInstance } from "./shiki-wasm.js";
|
|
@@ -416,14 +416,14 @@ async function loadMonaco(highlighter, workspace, lsp, onDidEditorWorkerResolve)
|
|
|
416
416
|
command: "editor.action.quickCommand"
|
|
417
417
|
});
|
|
418
418
|
}
|
|
419
|
-
const allLanguages = new Set(
|
|
419
|
+
const allLanguages = new Set(grammars.filter((g) => !g.injectTo).map((g) => g.name));
|
|
420
420
|
allLanguages.forEach((id) => {
|
|
421
421
|
const languages = monaco.languages;
|
|
422
|
-
languages.register({ id, aliases:
|
|
422
|
+
languages.register({ id, aliases: grammars.find((g) => g.name === id)?.aliases });
|
|
423
423
|
languages.onLanguage(id, async () => {
|
|
424
424
|
const config = monaco.languageConfigurations[monaco.languageConfigurationAliases[id] ?? id];
|
|
425
425
|
const loadedGrammars = new Set(highlighter.getLoadedLanguages());
|
|
426
|
-
const reqiredGrammars = [id].concat(
|
|
426
|
+
const reqiredGrammars = [id].concat(grammars.find((g) => g.name === id)?.embedded ?? []).filter((id2) => !loadedGrammars.has(id2));
|
|
427
427
|
if (config) {
|
|
428
428
|
languages.setLanguageConfiguration(id, monaco.convertVscodeLanguageConfiguration(config));
|
|
429
429
|
}
|
|
@@ -455,7 +455,7 @@ function registerSyntax(...syntaxes) {
|
|
|
455
455
|
}
|
|
456
456
|
function registerTheme(theme) {
|
|
457
457
|
if (theme.name) {
|
|
458
|
-
|
|
458
|
+
themes.set(theme.name, theme);
|
|
459
459
|
}
|
|
460
460
|
}
|
|
461
461
|
setDefaultWasmLoader(getWasmInstance);
|
package/dist/shiki.js
CHANGED
|
@@ -4,11 +4,11 @@ var __export = (target, all2) => {
|
|
|
4
4
|
__defProp(target, name, { get: all2[name], enumerable: true });
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
// <define:
|
|
8
|
-
var define_TM_GRAMMARS_default = [{ name: "abap", scopeName: "source.abap" }, { name: "actionscript-3", scopeName: "source.actionscript.3" }, { name: "ada", scopeName: "source.ada" }, { name: "angular-html", scopeName: "text.html.derivative.ng", embedded: ["html", "angular-expression", "angular-let-declaration", "angular-template", "angular-template-blocks"] }, { name: "angular-ts", scopeName: "source.ts.ng", embedded: ["angular-expression", "angular-inline-style", "angular-inline-template", "angular-let-declaration", "angular-template", "angular-template-blocks"] }, { name: "apache", scopeName: "source.apacheconf" }, { name: "apex", scopeName: "source.apex" }, { name: "apl", scopeName: "source.apl", embedded: ["html", "xml", "css", "javascript", "json"] }, { name: "applescript", scopeName: "source.applescript" }, { name: "ara", scopeName: "source.ara" }, { name: "asciidoc", scopeName: "text.asciidoc", aliases: ["adoc"], embedded: ["html", "yaml", "csv", "css", "ini", "java", "lua", "make", "perl", "r", "ruby", "php", "sql", "vb", "xml", "xsl", "bat", "clojure", "coffee", "c", "cpp", "diff", "docker", "git-commit", "git-rebase", "go", "groovy", "pug", "javascript", "json", "jsonc", "less", "objective-c", "swift", "scss", "raku", "powershell", "python", "julia", "regexp", "rust", "scala", "shellscript", "typescript", "tsx", "csharp", "fsharp", "dart", "handlebars", "markdown", "log", "erlang", "elixir", "latex", "bibtex", "abap", "rst", "haskell", "kotlin"] }, { name: "asm", scopeName: "source.asm.x86_64" }, { name: "astro", scopeName: "source.astro", embedded: ["json", "javascript", "typescript", "stylus", "sass", "css", "scss", "less", "postcss", "tsx"] }, { name: "awk", scopeName: "source.awk" }, { name: "ballerina", scopeName: "source.ballerina" }, { name: "bat", scopeName: "source.batchfile", aliases: ["batch"] }, { name: "beancount", scopeName: "text.beancount" }, { name: "berry", scopeName: "source.berry", aliases: ["be"] }, { name: "bibtex", scopeName: "text.bibtex" }, { name: "bicep", scopeName: "source.bicep" }, { name: "blade", scopeName: "text.html.php.blade", embedded: ["html-derivative", "html", "xml", "sql", "javascript", "json", "css"] }, { name: "bsl", scopeName: "source.bsl", aliases: ["1c"], embedded: ["sdbl"] }, { name: "c", scopeName: "source.c" }, { name: "cadence", scopeName: "source.cadence", aliases: ["cdc"] }, { name: "cairo", scopeName: "source.cairo0", embedded: ["python"] }, { name: "clarity", scopeName: "source.clar" }, { name: "clojure", scopeName: "source.clojure", aliases: ["clj"] }, { name: "cmake", scopeName: "source.cmake" }, { name: "cobol", scopeName: "source.cobol", embedded: ["html", "java"] }, { name: "codeowners", scopeName: "text.codeowners" }, { name: "codeql", scopeName: "source.ql", aliases: ["ql"] }, { name: "coffee", scopeName: "source.coffee", aliases: ["coffeescript"], embedded: ["javascript"] }, { name: "common-lisp", scopeName: "source.commonlisp", aliases: ["lisp"] }, { name: "coq", scopeName: "source.coq" }, { name: "cpp", scopeName: "source.cpp", aliases: ["c++"], embedded: ["cpp-macro", "regexp", "glsl", "sql"] }, { name: "crystal", scopeName: "source.crystal", embedded: ["html", "sql", "css", "c", "javascript", "shellscript"] }, { name: "csharp", scopeName: "source.cs", aliases: ["c#", "cs"] }, { name: "css", scopeName: "source.css" }, { name: "csv", scopeName: "text.csv" }, { name: "cue", scopeName: "source.cue" }, { name: "cypher", scopeName: "source.cypher", aliases: ["cql"] }, { name: "d", scopeName: "source.d" }, { name: "dart", scopeName: "source.dart" }, { name: "dax", scopeName: "source.dax" }, { name: "desktop", scopeName: "source.desktop" }, { name: "diff", scopeName: "source.diff" }, { name: "docker", scopeName: "source.dockerfile", aliases: ["dockerfile"] }, { name: "dotenv", scopeName: "source.dotenv" }, { name: "dream-maker", scopeName: "source.dm" }, { name: "edge", scopeName: "text.html.edge", embedded: ["typescript", "html", "html-derivative"] }, { name: "elixir", scopeName: "source.elixir", embedded: ["html"] }, { name: "elm", scopeName: "source.elm", embedded: ["glsl"] }, { name: "emacs-lisp", scopeName: "source.emacs.lisp", aliases: ["elisp"] }, { name: "erb", scopeName: "text.html.erb", embedded: ["html", "ruby"] }, { name: "erlang", scopeName: "source.erlang", aliases: ["erl"], embedded: ["markdown"] }, { name: "fennel", scopeName: "source.fnl" }, { name: "fish", scopeName: "source.fish" }, { name: "fluent", scopeName: "source.ftl", aliases: ["ftl"] }, { name: "fortran-fixed-form", scopeName: "source.fortran.fixed", aliases: ["f", "for", "f77"], embedded: ["fortran-free-form"] }, { name: "fortran-free-form", scopeName: "source.fortran.free", aliases: ["f90", "f95", "f03", "f08", "f18"] }, { name: "fsharp", scopeName: "source.fsharp", aliases: ["f#", "fs"], embedded: ["markdown"] }, { name: "gdresource", scopeName: "source.gdresource", embedded: ["gdshader", "gdscript"] }, { name: "gdscript", scopeName: "source.gdscript" }, { name: "gdshader", scopeName: "source.gdshader" }, { name: "genie", scopeName: "source.genie" }, { name: "gherkin", scopeName: "text.gherkin.feature" }, { name: "git-commit", scopeName: "text.git-commit", embedded: ["diff"] }, { name: "git-rebase", scopeName: "text.git-rebase", embedded: ["shellscript"] }, { name: "gleam", scopeName: "source.gleam" }, { name: "glimmer-js", scopeName: "source.gjs", aliases: ["gjs"], embedded: ["javascript", "typescript", "css", "html"] }, { name: "glimmer-ts", scopeName: "source.gts", aliases: ["gts"], embedded: ["typescript", "css", "javascript", "html"] }, { name: "glsl", scopeName: "source.glsl", embedded: ["c"] }, { name: "gnuplot", scopeName: "source.gnuplot" }, { name: "go", scopeName: "source.go" }, { name: "graphql", scopeName: "source.graphql", aliases: ["gql"], embedded: ["javascript", "typescript", "jsx", "tsx"] }, { name: "groovy", scopeName: "source.groovy" }, { name: "hack", scopeName: "source.hack", embedded: ["html", "sql"] }, { name: "haml", scopeName: "text.haml", embedded: ["ruby", "javascript", "sass", "coffee", "markdown", "css"] }, { name: "handlebars", scopeName: "text.html.handlebars", aliases: ["hbs"], embedded: ["html", "css", "javascript", "yaml"] }, { name: "haskell", scopeName: "source.haskell", aliases: ["hs"] }, { name: "haxe", scopeName: "source.hx" }, { name: "hcl", scopeName: "source.hcl" }, { name: "hjson", scopeName: "source.hjson" }, { name: "hlsl", scopeName: "source.hlsl" }, { name: "html", scopeName: "text.html.basic", embedded: ["json", "css", "javascript"] }, { name: "html-derivative", scopeName: "text.html.derivative", embedded: ["html"] }, { name: "http", scopeName: "source.http", embedded: ["shellscript", "json", "xml", "graphql"] }, { name: "hxml", scopeName: "source.hxml", embedded: ["haxe"] }, { name: "hy", scopeName: "source.hy" }, { name: "imba", scopeName: "source.imba" }, { name: "ini", scopeName: "source.ini", aliases: ["properties"] }, { name: "java", scopeName: "source.java" }, { name: "javascript", scopeName: "source.js", aliases: ["js", "mjs", "cjs"], embedded: ["html", "css"] }, { name: "jinja", scopeName: "source.jinja", embedded: ["jinja-html"] }, { name: "jison", scopeName: "source.jison", embedded: ["javascript"] }, { name: "json", scopeName: "source.json" }, { name: "json5", scopeName: "source.json5" }, { name: "jsonc", scopeName: "source.json.comments" }, { name: "jsonl", scopeName: "source.json.lines" }, { name: "jsonnet", scopeName: "source.jsonnet" }, { name: "jssm", scopeName: "source.jssm", aliases: ["fsl"] }, { name: "jsx", scopeName: "source.js.jsx", embedded: ["html", "css"] }, { name: "julia", scopeName: "source.julia", aliases: ["jl"], embedded: ["cpp", "python", "javascript", "r", "sql"] }, { name: "kotlin", scopeName: "source.kotlin", aliases: ["kt", "kts"] }, { name: "kusto", scopeName: "source.kusto", aliases: ["kql"] }, { name: "latex", scopeName: "text.tex.latex", embedded: ["tex", "shellscript", "css", "gnuplot", "haskell", "html", "java", "julia", "javascript", "lua", "python", "ruby", "rust", "typescript", "xml", "yaml", "scala"] }, { name: "lean", scopeName: "source.lean4", aliases: ["lean4"] }, { name: "less", scopeName: "source.css.less" }, { name: "liquid", scopeName: "text.html.liquid", embedded: ["html", "css", "json", "javascript"] }, { name: "llvm", scopeName: "source.llvm" }, { name: "log", scopeName: "text.log" }, { name: "logo", scopeName: "source.logo" }, { name: "lua", scopeName: "source.lua", embedded: ["c"] }, { name: "luau", scopeName: "source.luau" }, { name: "make", scopeName: "source.makefile", aliases: ["makefile"] }, { name: "markdown", scopeName: "text.html.markdown", aliases: ["md"], embedded: ["css", "html", "ini", "java", "lua", "make", "perl", "r", "ruby", "php", "sql", "vb", "xml", "xsl", "yaml", "bat", "clojure", "coffee", "c", "cpp", "diff", "docker", "git-commit", "git-rebase", "go", "groovy", "pug", "javascript", "json", "jsonc", "less", "objective-c", "swift", "scss", "raku", "powershell", "python", "julia", "regexp", "rust", "scala", "shellscript", "typescript", "tsx", "csharp", "fsharp", "dart", "handlebars", "log", "erlang", "elixir", "latex", "bibtex", "html-derivative"] }, { name: "marko", scopeName: "text.marko", embedded: ["css", "less", "scss", "typescript"] }, { name: "matlab", scopeName: "source.matlab" }, { name: "mdc", scopeName: "text.markdown.mdc.standalone", embedded: ["markdown", "yaml", "html-derivative"] }, { name: "mdx", scopeName: "source.mdx", embedded: ["tsx", "toml", "yaml", "c", "clojure", "coffee", "cpp", "csharp", "css", "diff", "docker", "elixir", "elm", "erlang", "go", "graphql", "haskell", "html", "ini", "java", "javascript", "json", "julia", "kotlin", "less", "lua", "make", "markdown", "objective-c", "perl", "python", "r", "ruby", "rust", "scala", "scss", "shellscript", "shellsession", "sql", "xml", "swift", "typescript"] }, { name: "mermaid", scopeName: "markdown.mermaid.codeblock", aliases: ["mmd"] }, { name: "mipsasm", scopeName: "source.mips", aliases: ["mips"] }, { name: "mojo", scopeName: "source.mojo" }, { name: "move", scopeName: "source.move" }, { name: "narrat", scopeName: "source.narrat", aliases: ["nar"] }, { name: "nextflow", scopeName: "source.nextflow", aliases: ["nf"] }, { name: "nginx", scopeName: "source.nginx", embedded: ["lua"] }, { name: "nim", scopeName: "source.nim", embedded: ["c", "html", "xml", "javascript", "css", "glsl", "markdown"] }, { name: "nix", scopeName: "source.nix" }, { name: "nushell", scopeName: "source.nushell", aliases: ["nu"] }, { name: "objective-c", scopeName: "source.objc", aliases: ["objc"] }, { name: "objective-cpp", scopeName: "source.objcpp" }, { name: "ocaml", scopeName: "source.ocaml" }, { name: "pascal", scopeName: "source.pascal" }, { name: "perl", scopeName: "source.perl", embedded: ["html", "xml", "css", "javascript", "sql"] }, { name: "php", scopeName: "source.php", embedded: ["html", "xml", "sql", "javascript", "json", "css"] }, { name: "plsql", scopeName: "source.plsql.oracle" }, { name: "po", scopeName: "source.po", aliases: ["pot", "potx"] }, { name: "polar", scopeName: "source.polar" }, { name: "postcss", scopeName: "source.css.postcss" }, { name: "powerquery", scopeName: "source.powerquery" }, { name: "powershell", scopeName: "source.powershell", aliases: ["ps", "ps1"] }, { name: "prisma", scopeName: "source.prisma" }, { name: "prolog", scopeName: "source.prolog" }, { name: "proto", scopeName: "source.proto", aliases: ["protobuf"] }, { name: "pug", scopeName: "text.pug", aliases: ["jade"], embedded: ["javascript", "css", "sass", "scss", "stylus", "coffee", "html"] }, { name: "puppet", scopeName: "source.puppet" }, { name: "purescript", scopeName: "source.purescript" }, { name: "python", scopeName: "source.python", aliases: ["py"] }, { name: "qml", scopeName: "source.qml", embedded: ["javascript"] }, { name: "qmldir", scopeName: "source.qmldir" }, { name: "qss", scopeName: "source.qss" }, { name: "r", scopeName: "source.r" }, { name: "racket", scopeName: "source.racket" }, { name: "raku", scopeName: "source.perl.6", aliases: ["perl6"] }, { name: "razor", scopeName: "text.aspnetcorerazor", embedded: ["html", "csharp"] }, { name: "reg", scopeName: "source.reg" }, { name: "regexp", scopeName: "source.regexp.python", aliases: ["regex"] }, { name: "rel", scopeName: "source.rel" }, { name: "riscv", scopeName: "source.riscv" }, { name: "rst", scopeName: "source.rst", embedded: ["html-derivative", "cpp", "python", "javascript", "shellscript", "yaml", "cmake", "ruby"] }, { name: "ruby", scopeName: "source.ruby", aliases: ["rb"], embedded: ["html", "haml", "xml", "sql", "graphql", "css", "cpp", "c", "javascript", "shellscript", "lua", "yaml"] }, { name: "rust", scopeName: "source.rust", aliases: ["rs"] }, { name: "sas", scopeName: "source.sas", embedded: ["sql"] }, { name: "sass", scopeName: "source.sass" }, { name: "scala", scopeName: "source.scala" }, { name: "scheme", scopeName: "source.scheme" }, { name: "scss", scopeName: "source.css.scss", embedded: ["css"] }, { name: "sdbl", scopeName: "source.sdbl", aliases: ["1c-query"] }, { name: "shaderlab", scopeName: "source.shaderlab", aliases: ["shader"], embedded: ["hlsl"] }, { name: "shellscript", scopeName: "source.shell", aliases: ["bash", "sh", "shell", "zsh"] }, { name: "shellsession", scopeName: "text.shell-session", aliases: ["console"], embedded: ["shellscript"] }, { name: "smalltalk", scopeName: "source.smalltalk" }, { name: "solidity", scopeName: "source.solidity" }, { name: "soy", scopeName: "text.html.soy", aliases: ["closure-templates"], embedded: ["html"] }, { name: "sparql", scopeName: "source.sparql", embedded: ["turtle"] }, { name: "splunk", scopeName: "source.splunk_search", aliases: ["spl"] }, { name: "sql", scopeName: "source.sql" }, { name: "ssh-config", scopeName: "source.ssh-config" }, { name: "stata", scopeName: "source.stata", embedded: ["sql"] }, { name: "stylus", scopeName: "source.stylus", aliases: ["styl"] }, { name: "svelte", scopeName: "source.svelte", embedded: ["javascript", "typescript", "coffee", "stylus", "sass", "css", "scss", "less", "postcss", "pug", "markdown"] }, { name: "swift", scopeName: "source.swift" }, { name: "system-verilog", scopeName: "source.systemverilog" }, { name: "systemd", scopeName: "source.systemd" }, { name: "talonscript", scopeName: "source.talon", aliases: ["talon"] }, { name: "tasl", scopeName: "source.tasl" }, { name: "tcl", scopeName: "source.tcl" }, { name: "templ", scopeName: "source.templ", embedded: ["go", "javascript", "css"] }, { name: "terraform", scopeName: "source.hcl.terraform", aliases: ["tf", "tfvars"] }, { name: "tex", scopeName: "text.tex", embedded: ["r"] }, { name: "toml", scopeName: "source.toml" }, { name: "ts-tags", scopeName: "source.ts.tags", aliases: ["lit"], embedded: ["typescript", "es-tag-css", "es-tag-glsl", "es-tag-html", "es-tag-sql", "es-tag-xml"] }, { name: "tsv", scopeName: "text.tsv" }, { name: "tsx", scopeName: "source.tsx", embedded: ["html", "css"] }, { name: "turtle", scopeName: "source.turtle" }, { name: "twig", scopeName: "text.html.twig", embedded: ["css", "javascript", "scss", "php", "python", "ruby"] }, { name: "typescript", scopeName: "source.ts", aliases: ["ts", "mts", "cts"], embedded: ["html", "css"] }, { name: "typespec", scopeName: "source.tsp", aliases: ["tsp"] }, { name: "typst", scopeName: "source.typst", aliases: ["typ"] }, { name: "v", scopeName: "source.v" }, { name: "vala", scopeName: "source.vala" }, { name: "vb", scopeName: "source.asp.vb.net", aliases: ["cmd"] }, { name: "verilog", scopeName: "source.verilog" }, { name: "vhdl", scopeName: "source.vhdl" }, { name: "viml", scopeName: "source.viml", aliases: ["vim", "vimscript"] }, { name: "vue", scopeName: "source.vue", embedded: ["markdown", "pug", "stylus", "sass", "css", "scss", "less", "javascript", "typescript", "jsx", "tsx", "coffee", "json", "jsonc", "json5", "yaml", "toml", "graphql", "html-derivative", "html", "markdown-vue", "vue-directives", "vue-interpolations", "vue-sfc-style-variable-injection"] }, { name: "vue-html", scopeName: "text.html.vue-html", embedded: ["vue", "javascript"] }, { name: "vue-vine", scopeName: "source.vue-vine", embedded: ["css", "scss", "less", "stylus", "postcss", "vue", "javascript"] }, { name: "vyper", scopeName: "source.vyper", aliases: ["vy"] }, { name: "wasm", scopeName: "source.wat" }, { name: "wenyan", scopeName: "source.wenyan", aliases: ["\u6587\u8A00"] }, { name: "wgsl", scopeName: "source.wgsl" }, { name: "wikitext", scopeName: "source.wikitext", aliases: ["mediawiki", "wiki"], embedded: ["html", "css", "ini", "java", "lua", "make", "perl", "r", "ruby", "php", "sql", "vb", "xml", "xsl", "yaml", "bat", "clojure", "coffee", "c", "cpp", "diff", "docker", "go", "groovy", "pug", "javascript", "jsonc", "less", "objective-c", "swift", "scss", "raku", "powershell", "python", "julia", "rust", "scala", "shellscript", "typescript", "csharp", "fsharp", "dart", "handlebars", "markdown", "erlang", "elixir", "latex", "bibtex", "json"] }, { name: "wit", scopeName: "source.wit" }, { name: "wolfram", scopeName: "source.wolfram", aliases: ["wl"] }, { name: "xml", scopeName: "text.xml", embedded: ["java"] }, { name: "xsl", scopeName: "text.xml.xsl", embedded: ["xml"] }, { name: "yaml", scopeName: "source.yaml", aliases: ["yml"] }, { name: "zenscript", scopeName: "source.zenscript" }, { name: "zig", scopeName: "source.zig" }];
|
|
7
|
+
// <define:SHIKI_GRAMMARS>
|
|
8
|
+
var define_SHIKI_GRAMMARS_default = [{ name: "abap", scopeName: "source.abap" }, { name: "actionscript-3", scopeName: "source.actionscript.3" }, { name: "ada", scopeName: "source.ada" }, { name: "angular-html", scopeName: "text.html.derivative.ng", embedded: ["html", "angular-expression", "angular-let-declaration", "angular-template", "angular-template-blocks"] }, { name: "angular-ts", scopeName: "source.ts.ng", embedded: ["angular-expression", "angular-inline-style", "angular-inline-template", "angular-let-declaration", "angular-template", "angular-template-blocks"] }, { name: "apache", scopeName: "source.apacheconf" }, { name: "apex", scopeName: "source.apex" }, { name: "apl", scopeName: "source.apl", embedded: ["html", "xml", "css", "javascript", "json"] }, { name: "applescript", scopeName: "source.applescript" }, { name: "ara", scopeName: "source.ara" }, { name: "asciidoc", scopeName: "text.asciidoc", aliases: ["adoc"], embedded: ["html", "yaml", "csv", "css", "ini", "java", "lua", "make", "perl", "r", "ruby", "php", "sql", "vb", "xml", "xsl", "bat", "clojure", "coffee", "c", "cpp", "diff", "docker", "git-commit", "git-rebase", "go", "groovy", "pug", "javascript", "json", "jsonc", "less", "objective-c", "swift", "scss", "raku", "powershell", "python", "julia", "regexp", "rust", "scala", "shellscript", "typescript", "tsx", "csharp", "fsharp", "dart", "handlebars", "markdown", "log", "erlang", "elixir", "latex", "bibtex", "abap", "rst", "haskell", "kotlin"] }, { name: "asm", scopeName: "source.asm.x86_64" }, { name: "astro", scopeName: "source.astro", embedded: ["json", "javascript", "typescript", "stylus", "sass", "css", "scss", "less", "postcss", "tsx"] }, { name: "awk", scopeName: "source.awk" }, { name: "ballerina", scopeName: "source.ballerina" }, { name: "bat", scopeName: "source.batchfile", aliases: ["batch"] }, { name: "beancount", scopeName: "text.beancount" }, { name: "berry", scopeName: "source.berry", aliases: ["be"] }, { name: "bibtex", scopeName: "text.bibtex" }, { name: "bicep", scopeName: "source.bicep" }, { name: "blade", scopeName: "text.html.php.blade", embedded: ["html-derivative", "html", "xml", "sql", "javascript", "json", "css"] }, { name: "bsl", scopeName: "source.bsl", aliases: ["1c"], embedded: ["sdbl"] }, { name: "c", scopeName: "source.c" }, { name: "cadence", scopeName: "source.cadence", aliases: ["cdc"] }, { name: "cairo", scopeName: "source.cairo0", embedded: ["python"] }, { name: "clarity", scopeName: "source.clar" }, { name: "clojure", scopeName: "source.clojure", aliases: ["clj"] }, { name: "cmake", scopeName: "source.cmake" }, { name: "cobol", scopeName: "source.cobol", embedded: ["html", "java"] }, { name: "codeowners", scopeName: "text.codeowners" }, { name: "codeql", scopeName: "source.ql", aliases: ["ql"] }, { name: "coffee", scopeName: "source.coffee", aliases: ["coffeescript"], embedded: ["javascript"] }, { name: "common-lisp", scopeName: "source.commonlisp", aliases: ["lisp"] }, { name: "coq", scopeName: "source.coq" }, { name: "cpp", scopeName: "source.cpp", aliases: ["c++"], embedded: ["cpp-macro", "regexp", "glsl", "sql"] }, { name: "crystal", scopeName: "source.crystal", embedded: ["html", "sql", "css", "c", "javascript", "shellscript"] }, { name: "csharp", scopeName: "source.cs", aliases: ["c#", "cs"] }, { name: "css", scopeName: "source.css" }, { name: "csv", scopeName: "text.csv" }, { name: "cue", scopeName: "source.cue" }, { name: "cypher", scopeName: "source.cypher", aliases: ["cql"] }, { name: "d", scopeName: "source.d" }, { name: "dart", scopeName: "source.dart" }, { name: "dax", scopeName: "source.dax" }, { name: "desktop", scopeName: "source.desktop" }, { name: "diff", scopeName: "source.diff" }, { name: "docker", scopeName: "source.dockerfile", aliases: ["dockerfile"] }, { name: "dotenv", scopeName: "source.dotenv" }, { name: "dream-maker", scopeName: "source.dm" }, { name: "edge", scopeName: "text.html.edge", embedded: ["typescript", "html", "html-derivative"] }, { name: "elixir", scopeName: "source.elixir", embedded: ["html"] }, { name: "elm", scopeName: "source.elm", embedded: ["glsl"] }, { name: "emacs-lisp", scopeName: "source.emacs.lisp", aliases: ["elisp"] }, { name: "erb", scopeName: "text.html.erb", embedded: ["html", "ruby"] }, { name: "erlang", scopeName: "source.erlang", aliases: ["erl"], embedded: ["markdown"] }, { name: "fennel", scopeName: "source.fnl" }, { name: "fish", scopeName: "source.fish" }, { name: "fluent", scopeName: "source.ftl", aliases: ["ftl"] }, { name: "fortran-fixed-form", scopeName: "source.fortran.fixed", aliases: ["f", "for", "f77"], embedded: ["fortran-free-form"] }, { name: "fortran-free-form", scopeName: "source.fortran.free", aliases: ["f90", "f95", "f03", "f08", "f18"] }, { name: "fsharp", scopeName: "source.fsharp", aliases: ["f#", "fs"], embedded: ["markdown"] }, { name: "gdresource", scopeName: "source.gdresource", embedded: ["gdshader", "gdscript"] }, { name: "gdscript", scopeName: "source.gdscript" }, { name: "gdshader", scopeName: "source.gdshader" }, { name: "genie", scopeName: "source.genie" }, { name: "gherkin", scopeName: "text.gherkin.feature" }, { name: "git-commit", scopeName: "text.git-commit", embedded: ["diff"] }, { name: "git-rebase", scopeName: "text.git-rebase", embedded: ["shellscript"] }, { name: "gleam", scopeName: "source.gleam" }, { name: "glimmer-js", scopeName: "source.gjs", aliases: ["gjs"], embedded: ["javascript", "typescript", "css", "html"] }, { name: "glimmer-ts", scopeName: "source.gts", aliases: ["gts"], embedded: ["typescript", "css", "javascript", "html"] }, { name: "glsl", scopeName: "source.glsl", embedded: ["c"] }, { name: "gnuplot", scopeName: "source.gnuplot" }, { name: "go", scopeName: "source.go" }, { name: "graphql", scopeName: "source.graphql", aliases: ["gql"], embedded: ["javascript", "typescript", "jsx", "tsx"] }, { name: "groovy", scopeName: "source.groovy" }, { name: "hack", scopeName: "source.hack", embedded: ["html", "sql"] }, { name: "haml", scopeName: "text.haml", embedded: ["ruby", "javascript", "sass", "coffee", "markdown", "css"] }, { name: "handlebars", scopeName: "text.html.handlebars", aliases: ["hbs"], embedded: ["html", "css", "javascript", "yaml"] }, { name: "haskell", scopeName: "source.haskell", aliases: ["hs"] }, { name: "haxe", scopeName: "source.hx" }, { name: "hcl", scopeName: "source.hcl" }, { name: "hjson", scopeName: "source.hjson" }, { name: "hlsl", scopeName: "source.hlsl" }, { name: "html", scopeName: "text.html.basic", embedded: ["json", "css", "javascript"] }, { name: "html-derivative", scopeName: "text.html.derivative", embedded: ["html"] }, { name: "http", scopeName: "source.http", embedded: ["shellscript", "json", "xml", "graphql"] }, { name: "hxml", scopeName: "source.hxml", embedded: ["haxe"] }, { name: "hy", scopeName: "source.hy" }, { name: "imba", scopeName: "source.imba" }, { name: "ini", scopeName: "source.ini", aliases: ["properties"] }, { name: "java", scopeName: "source.java" }, { name: "javascript", scopeName: "source.js", aliases: ["js", "mjs", "cjs"], embedded: ["html", "css"] }, { name: "jinja", scopeName: "source.jinja", embedded: ["jinja-html"] }, { name: "jison", scopeName: "source.jison", embedded: ["javascript"] }, { name: "json", scopeName: "source.json" }, { name: "json5", scopeName: "source.json5" }, { name: "jsonc", scopeName: "source.json.comments" }, { name: "jsonl", scopeName: "source.json.lines" }, { name: "jsonnet", scopeName: "source.jsonnet" }, { name: "jssm", scopeName: "source.jssm", aliases: ["fsl"] }, { name: "jsx", scopeName: "source.js.jsx", embedded: ["html", "css"] }, { name: "julia", scopeName: "source.julia", aliases: ["jl"], embedded: ["cpp", "python", "javascript", "r", "sql"] }, { name: "kotlin", scopeName: "source.kotlin", aliases: ["kt", "kts"] }, { name: "kusto", scopeName: "source.kusto", aliases: ["kql"] }, { name: "latex", scopeName: "text.tex.latex", embedded: ["tex", "shellscript", "css", "gnuplot", "haskell", "html", "java", "julia", "javascript", "lua", "python", "ruby", "rust", "typescript", "xml", "yaml", "scala"] }, { name: "lean", scopeName: "source.lean4", aliases: ["lean4"] }, { name: "less", scopeName: "source.css.less" }, { name: "liquid", scopeName: "text.html.liquid", embedded: ["html", "css", "json", "javascript"] }, { name: "llvm", scopeName: "source.llvm" }, { name: "log", scopeName: "text.log" }, { name: "logo", scopeName: "source.logo" }, { name: "lua", scopeName: "source.lua", embedded: ["c"] }, { name: "luau", scopeName: "source.luau" }, { name: "make", scopeName: "source.makefile", aliases: ["makefile"] }, { name: "markdown", scopeName: "text.html.markdown", aliases: ["md"], embedded: ["css", "html", "ini", "java", "lua", "make", "perl", "r", "ruby", "php", "sql", "vb", "xml", "xsl", "yaml", "bat", "clojure", "coffee", "c", "cpp", "diff", "docker", "git-commit", "git-rebase", "go", "groovy", "pug", "javascript", "json", "jsonc", "less", "objective-c", "swift", "scss", "raku", "powershell", "python", "julia", "regexp", "rust", "scala", "shellscript", "typescript", "tsx", "csharp", "fsharp", "dart", "handlebars", "log", "erlang", "elixir", "latex", "bibtex", "html-derivative"] }, { name: "marko", scopeName: "text.marko", embedded: ["css", "less", "scss", "typescript"] }, { name: "matlab", scopeName: "source.matlab" }, { name: "mdc", scopeName: "text.markdown.mdc.standalone", embedded: ["markdown", "yaml", "html-derivative"] }, { name: "mdx", scopeName: "source.mdx", embedded: ["tsx", "toml", "yaml", "c", "clojure", "coffee", "cpp", "csharp", "css", "diff", "docker", "elixir", "elm", "erlang", "go", "graphql", "haskell", "html", "ini", "java", "javascript", "json", "julia", "kotlin", "less", "lua", "make", "markdown", "objective-c", "perl", "python", "r", "ruby", "rust", "scala", "scss", "shellscript", "shellsession", "sql", "xml", "swift", "typescript"] }, { name: "mermaid", scopeName: "markdown.mermaid.codeblock", aliases: ["mmd"] }, { name: "mipsasm", scopeName: "source.mips", aliases: ["mips"] }, { name: "mojo", scopeName: "source.mojo" }, { name: "move", scopeName: "source.move" }, { name: "narrat", scopeName: "source.narrat", aliases: ["nar"] }, { name: "nextflow", scopeName: "source.nextflow", aliases: ["nf"] }, { name: "nginx", scopeName: "source.nginx", embedded: ["lua"] }, { name: "nim", scopeName: "source.nim", embedded: ["c", "html", "xml", "javascript", "css", "glsl", "markdown"] }, { name: "nix", scopeName: "source.nix" }, { name: "nushell", scopeName: "source.nushell", aliases: ["nu"] }, { name: "objective-c", scopeName: "source.objc", aliases: ["objc"] }, { name: "objective-cpp", scopeName: "source.objcpp" }, { name: "ocaml", scopeName: "source.ocaml" }, { name: "pascal", scopeName: "source.pascal" }, { name: "perl", scopeName: "source.perl", embedded: ["html", "xml", "css", "javascript", "sql"] }, { name: "php", scopeName: "source.php", embedded: ["html", "xml", "sql", "javascript", "json", "css"] }, { name: "plsql", scopeName: "source.plsql.oracle" }, { name: "po", scopeName: "source.po", aliases: ["pot", "potx"] }, { name: "polar", scopeName: "source.polar" }, { name: "postcss", scopeName: "source.css.postcss" }, { name: "powerquery", scopeName: "source.powerquery" }, { name: "powershell", scopeName: "source.powershell", aliases: ["ps", "ps1"] }, { name: "prisma", scopeName: "source.prisma" }, { name: "prolog", scopeName: "source.prolog" }, { name: "proto", scopeName: "source.proto", aliases: ["protobuf"] }, { name: "pug", scopeName: "text.pug", aliases: ["jade"], embedded: ["javascript", "css", "sass", "scss", "stylus", "coffee", "html"] }, { name: "puppet", scopeName: "source.puppet" }, { name: "purescript", scopeName: "source.purescript" }, { name: "python", scopeName: "source.python", aliases: ["py"] }, { name: "qml", scopeName: "source.qml", embedded: ["javascript"] }, { name: "qmldir", scopeName: "source.qmldir" }, { name: "qss", scopeName: "source.qss" }, { name: "r", scopeName: "source.r" }, { name: "racket", scopeName: "source.racket" }, { name: "raku", scopeName: "source.perl.6", aliases: ["perl6"] }, { name: "razor", scopeName: "text.aspnetcorerazor", embedded: ["html", "csharp"] }, { name: "reg", scopeName: "source.reg" }, { name: "regexp", scopeName: "source.regexp.python", aliases: ["regex"] }, { name: "rel", scopeName: "source.rel" }, { name: "riscv", scopeName: "source.riscv" }, { name: "rst", scopeName: "source.rst", embedded: ["html-derivative", "cpp", "python", "javascript", "shellscript", "yaml", "cmake", "ruby"] }, { name: "ruby", scopeName: "source.ruby", aliases: ["rb"], embedded: ["html", "haml", "xml", "sql", "graphql", "css", "cpp", "c", "javascript", "shellscript", "lua", "yaml"] }, { name: "rust", scopeName: "source.rust", aliases: ["rs"] }, { name: "sas", scopeName: "source.sas", embedded: ["sql"] }, { name: "sass", scopeName: "source.sass" }, { name: "scala", scopeName: "source.scala" }, { name: "scheme", scopeName: "source.scheme" }, { name: "scss", scopeName: "source.css.scss", embedded: ["css"] }, { name: "sdbl", scopeName: "source.sdbl", aliases: ["1c-query"] }, { name: "shaderlab", scopeName: "source.shaderlab", aliases: ["shader"], embedded: ["hlsl"] }, { name: "shellscript", scopeName: "source.shell", aliases: ["bash", "sh", "shell", "zsh"] }, { name: "shellsession", scopeName: "text.shell-session", aliases: ["console"], embedded: ["shellscript"] }, { name: "smalltalk", scopeName: "source.smalltalk" }, { name: "solidity", scopeName: "source.solidity" }, { name: "soy", scopeName: "text.html.soy", aliases: ["closure-templates"], embedded: ["html"] }, { name: "sparql", scopeName: "source.sparql", embedded: ["turtle"] }, { name: "splunk", scopeName: "source.splunk_search", aliases: ["spl"] }, { name: "sql", scopeName: "source.sql" }, { name: "ssh-config", scopeName: "source.ssh-config" }, { name: "stata", scopeName: "source.stata", embedded: ["sql"] }, { name: "stylus", scopeName: "source.stylus", aliases: ["styl"] }, { name: "svelte", scopeName: "source.svelte", embedded: ["javascript", "typescript", "coffee", "stylus", "sass", "css", "scss", "less", "postcss", "pug", "markdown"] }, { name: "swift", scopeName: "source.swift" }, { name: "system-verilog", scopeName: "source.systemverilog" }, { name: "systemd", scopeName: "source.systemd" }, { name: "talonscript", scopeName: "source.talon", aliases: ["talon"] }, { name: "tasl", scopeName: "source.tasl" }, { name: "tcl", scopeName: "source.tcl" }, { name: "templ", scopeName: "source.templ", embedded: ["go", "javascript", "css"] }, { name: "terraform", scopeName: "source.hcl.terraform", aliases: ["tf", "tfvars"] }, { name: "tex", scopeName: "text.tex", embedded: ["r"] }, { name: "toml", scopeName: "source.toml" }, { name: "ts-tags", scopeName: "source.ts.tags", aliases: ["lit"], embedded: ["typescript", "es-tag-css", "es-tag-glsl", "es-tag-html", "es-tag-sql", "es-tag-xml"] }, { name: "tsv", scopeName: "text.tsv" }, { name: "tsx", scopeName: "source.tsx", embedded: ["html", "css"] }, { name: "turtle", scopeName: "source.turtle" }, { name: "twig", scopeName: "text.html.twig", embedded: ["css", "javascript", "scss", "php", "python", "ruby"] }, { name: "typescript", scopeName: "source.ts", aliases: ["ts", "mts", "cts"], embedded: ["html", "css"] }, { name: "typespec", scopeName: "source.tsp", aliases: ["tsp"] }, { name: "typst", scopeName: "source.typst", aliases: ["typ"] }, { name: "v", scopeName: "source.v" }, { name: "vala", scopeName: "source.vala" }, { name: "vb", scopeName: "source.asp.vb.net", aliases: ["cmd"] }, { name: "verilog", scopeName: "source.verilog" }, { name: "vhdl", scopeName: "source.vhdl" }, { name: "viml", scopeName: "source.viml", aliases: ["vim", "vimscript"] }, { name: "vue", scopeName: "source.vue", embedded: ["markdown", "pug", "stylus", "sass", "css", "scss", "less", "javascript", "typescript", "jsx", "tsx", "coffee", "json", "jsonc", "json5", "yaml", "toml", "graphql", "html-derivative", "html", "markdown-vue", "vue-directives", "vue-interpolations", "vue-sfc-style-variable-injection"] }, { name: "vue-html", scopeName: "text.html.vue-html", embedded: ["vue", "javascript"] }, { name: "vue-vine", scopeName: "source.vue-vine", embedded: ["css", "scss", "less", "stylus", "postcss", "vue", "javascript"] }, { name: "vyper", scopeName: "source.vyper", aliases: ["vy"] }, { name: "wasm", scopeName: "source.wat" }, { name: "wenyan", scopeName: "source.wenyan", aliases: ["\u6587\u8A00"] }, { name: "wgsl", scopeName: "source.wgsl" }, { name: "wikitext", scopeName: "source.wikitext", aliases: ["mediawiki", "wiki"], embedded: ["html", "css", "ini", "java", "lua", "make", "perl", "r", "ruby", "php", "sql", "vb", "xml", "xsl", "yaml", "bat", "clojure", "coffee", "c", "cpp", "diff", "docker", "go", "groovy", "pug", "javascript", "jsonc", "less", "objective-c", "swift", "scss", "raku", "powershell", "python", "julia", "rust", "scala", "shellscript", "typescript", "csharp", "fsharp", "dart", "handlebars", "markdown", "erlang", "elixir", "latex", "bibtex", "json"] }, { name: "wit", scopeName: "source.wit" }, { name: "wolfram", scopeName: "source.wolfram", aliases: ["wl"] }, { name: "xml", scopeName: "text.xml", embedded: ["java"] }, { name: "xsl", scopeName: "text.xml.xsl", embedded: ["xml"] }, { name: "yaml", scopeName: "source.yaml", aliases: ["yml"] }, { name: "zenscript", scopeName: "source.zenscript" }, { name: "zig", scopeName: "source.zig" }];
|
|
9
9
|
|
|
10
|
-
// <define:
|
|
11
|
-
var
|
|
10
|
+
// <define:SHIKI_THEMES>
|
|
11
|
+
var define_SHIKI_THEMES_default = ["andromeeda", "aurora-x", "ayu-dark", "catppuccin-frappe", "catppuccin-latte", "catppuccin-macchiato", "catppuccin-mocha", "dark-plus", "dracula", "dracula-soft", "everforest-dark", "everforest-light", "github-dark", "github-dark-default", "github-dark-dimmed", "github-dark-high-contrast", "github-light", "github-light-default", "github-light-high-contrast", "gruvbox-dark-hard", "gruvbox-dark-medium", "gruvbox-dark-soft", "gruvbox-light-hard", "gruvbox-light-medium", "gruvbox-light-soft", "houston", "kanagawa-dragon", "kanagawa-lotus", "kanagawa-wave", "laserwave", "light-plus", "material-theme", "material-theme-darker", "material-theme-lighter", "material-theme-ocean", "material-theme-palenight", "min-dark", "min-light", "monokai", "night-owl", "nord", "one-dark-pro", "one-light", "plastic", "poimandres", "red", "rose-pine", "rose-pine-dawn", "rose-pine-moon", "slack-dark", "slack-ochin", "snazzy-light", "solarized-dark", "solarized-light", "synthwave-84", "tokyo-night", "vesper", "vitesse-black", "vitesse-dark", "vitesse-light"];
|
|
12
12
|
|
|
13
13
|
// node_modules/.pnpm/@shikijs+types@3.11.0/node_modules/@shikijs/types/dist/index.mjs
|
|
14
14
|
var ShikiError = class extends Error {
|
|
@@ -5627,9 +5627,9 @@ var GrammarState = class _GrammarState {
|
|
|
5627
5627
|
/**
|
|
5628
5628
|
* Static method to create a initial grammar state.
|
|
5629
5629
|
*/
|
|
5630
|
-
static initial(lang,
|
|
5630
|
+
static initial(lang, themes2) {
|
|
5631
5631
|
return new _GrammarState(
|
|
5632
|
-
Object.fromEntries(toArray(
|
|
5632
|
+
Object.fromEntries(toArray(themes2).map((theme) => [theme, INITIAL])),
|
|
5633
5633
|
lang
|
|
5634
5634
|
);
|
|
5635
5635
|
}
|
|
@@ -6425,8 +6425,8 @@ function explainThemeScope(themeSettingsSelectors, scope, parentScopes) {
|
|
|
6425
6425
|
return result;
|
|
6426
6426
|
}
|
|
6427
6427
|
function codeToTokensWithThemes(internal, code, options) {
|
|
6428
|
-
const
|
|
6429
|
-
const themedTokens =
|
|
6428
|
+
const themes2 = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));
|
|
6429
|
+
const themedTokens = themes2.map((t) => {
|
|
6430
6430
|
const tokens2 = codeToTokensBase(internal, code, {
|
|
6431
6431
|
...options,
|
|
6432
6432
|
theme: t.theme
|
|
@@ -6459,7 +6459,7 @@ function codeToTokensWithThemes(internal, code, options) {
|
|
|
6459
6459
|
offset: ___,
|
|
6460
6460
|
...styles
|
|
6461
6461
|
} = t[lineIdx][tokenIdx];
|
|
6462
|
-
mergedToken.variants[
|
|
6462
|
+
mergedToken.variants[themes2[themeIdx].color] = styles;
|
|
6463
6463
|
});
|
|
6464
6464
|
return mergedToken;
|
|
6465
6465
|
})
|
|
@@ -6472,11 +6472,11 @@ function codeToTokensWithThemes(internal, code, options) {
|
|
|
6472
6472
|
setLastGrammarStateToMap(mergedTokens, mergedGrammarState);
|
|
6473
6473
|
return mergedTokens;
|
|
6474
6474
|
}
|
|
6475
|
-
function syncThemesTokenization(...
|
|
6476
|
-
const outThemes =
|
|
6477
|
-
const count =
|
|
6478
|
-
for (let i = 0; i <
|
|
6479
|
-
const lines =
|
|
6475
|
+
function syncThemesTokenization(...themes2) {
|
|
6476
|
+
const outThemes = themes2.map(() => []);
|
|
6477
|
+
const count = themes2.length;
|
|
6478
|
+
for (let i = 0; i < themes2[0].length; i++) {
|
|
6479
|
+
const lines = themes2.map((t) => t[i]);
|
|
6480
6480
|
const outLines = outThemes.map(() => []);
|
|
6481
6481
|
outThemes.forEach((t, i2) => t.push(outLines[i2]));
|
|
6482
6482
|
const indexes = lines.map(() => 0);
|
|
@@ -6518,8 +6518,8 @@ function codeToTokens(internal, code, options) {
|
|
|
6518
6518
|
cssVariablePrefix = "--shiki-",
|
|
6519
6519
|
colorsRendering = "css-vars"
|
|
6520
6520
|
} = options;
|
|
6521
|
-
const
|
|
6522
|
-
if (
|
|
6521
|
+
const themes2 = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);
|
|
6522
|
+
if (themes2.length === 0)
|
|
6523
6523
|
throw new ShikiError("`themes` option must not be empty");
|
|
6524
6524
|
const themeTokens = codeToTokensWithThemes(
|
|
6525
6525
|
internal,
|
|
@@ -6527,16 +6527,16 @@ function codeToTokens(internal, code, options) {
|
|
|
6527
6527
|
options
|
|
6528
6528
|
);
|
|
6529
6529
|
grammarState = getLastGrammarStateFromMap(themeTokens);
|
|
6530
|
-
if (defaultColor && DEFAULT_COLOR_LIGHT_DARK !== defaultColor && !
|
|
6530
|
+
if (defaultColor && DEFAULT_COLOR_LIGHT_DARK !== defaultColor && !themes2.find((t) => t.color === defaultColor))
|
|
6531
6531
|
throw new ShikiError(`\`themes\` option must contain the defaultColor key \`${defaultColor}\``);
|
|
6532
|
-
const themeRegs =
|
|
6533
|
-
const themesOrder =
|
|
6532
|
+
const themeRegs = themes2.map((t) => internal.getTheme(t.theme));
|
|
6533
|
+
const themesOrder = themes2.map((t) => t.color);
|
|
6534
6534
|
tokens = themeTokens.map((line) => line.map((token) => flatTokenVariants(token, themesOrder, cssVariablePrefix, defaultColor, colorsRendering)));
|
|
6535
6535
|
if (grammarState)
|
|
6536
6536
|
setLastGrammarStateToMap(tokens, grammarState);
|
|
6537
|
-
const themeColorReplacements =
|
|
6538
|
-
fg = mapThemeColors(
|
|
6539
|
-
bg = mapThemeColors(
|
|
6537
|
+
const themeColorReplacements = themes2.map((t) => resolveColorReplacements(t.theme, options));
|
|
6538
|
+
fg = mapThemeColors(themes2, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, "fg", colorsRendering);
|
|
6539
|
+
bg = mapThemeColors(themes2, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, "bg", colorsRendering);
|
|
6540
6540
|
themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(" ")}`;
|
|
6541
6541
|
rootStyle = defaultColor ? void 0 : [fg, bg].join(";");
|
|
6542
6542
|
} else if ("theme" in options) {
|
|
@@ -6563,14 +6563,14 @@ function codeToTokens(internal, code, options) {
|
|
|
6563
6563
|
grammarState
|
|
6564
6564
|
};
|
|
6565
6565
|
}
|
|
6566
|
-
function mapThemeColors(
|
|
6567
|
-
return
|
|
6566
|
+
function mapThemeColors(themes2, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, property, colorsRendering) {
|
|
6567
|
+
return themes2.map((t, idx) => {
|
|
6568
6568
|
const value = applyColorReplacements(themeRegs[idx][property], themeColorReplacements[idx]) || "inherit";
|
|
6569
6569
|
const cssVar = `${cssVariablePrefix + t.color}${property === "bg" ? "-bg" : ""}:${value}`;
|
|
6570
6570
|
if (idx === 0 && defaultColor) {
|
|
6571
|
-
if (defaultColor === DEFAULT_COLOR_LIGHT_DARK &&
|
|
6572
|
-
const lightIndex =
|
|
6573
|
-
const darkIndex =
|
|
6571
|
+
if (defaultColor === DEFAULT_COLOR_LIGHT_DARK && themes2.length > 1) {
|
|
6572
|
+
const lightIndex = themes2.findIndex((t2) => t2.color === "light");
|
|
6573
|
+
const darkIndex = themes2.findIndex((t2) => t2.color === "dark");
|
|
6574
6574
|
if (lightIndex === -1 || darkIndex === -1)
|
|
6575
6575
|
throw new ShikiError('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');
|
|
6576
6576
|
const lightValue = applyColorReplacements(themeRegs[lightIndex][property], themeColorReplacements[lightIndex]) || "inherit";
|
|
@@ -6955,9 +6955,9 @@ async function resolveLangs(langs) {
|
|
|
6955
6955
|
langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))
|
|
6956
6956
|
)).flat()));
|
|
6957
6957
|
}
|
|
6958
|
-
async function resolveThemes(
|
|
6958
|
+
async function resolveThemes(themes2) {
|
|
6959
6959
|
const resolved = await Promise.all(
|
|
6960
|
-
|
|
6960
|
+
themes2.map(
|
|
6961
6961
|
async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))
|
|
6962
6962
|
)
|
|
6963
6963
|
);
|
|
@@ -7169,9 +7169,9 @@ function createShikiInternalSync(options) {
|
|
|
7169
7169
|
if (!options.engine)
|
|
7170
7170
|
throw new ShikiError2("`engine` option is required for synchronous mode");
|
|
7171
7171
|
const langs = (options.langs || []).flat(1);
|
|
7172
|
-
const
|
|
7172
|
+
const themes2 = (options.themes || []).flat(1).map(normalizeTheme);
|
|
7173
7173
|
const resolver = new Resolver(options.engine, langs);
|
|
7174
|
-
const _registry = new Registry2(resolver,
|
|
7174
|
+
const _registry = new Registry2(resolver, themes2, langs, options.langAlias);
|
|
7175
7175
|
let _lastTheme;
|
|
7176
7176
|
function getLanguage(name) {
|
|
7177
7177
|
ensureNotDisposed();
|
|
@@ -7217,15 +7217,15 @@ function createShikiInternalSync(options) {
|
|
|
7217
7217
|
async function loadLanguage(...langs2) {
|
|
7218
7218
|
return loadLanguageSync(await resolveLangs(langs2));
|
|
7219
7219
|
}
|
|
7220
|
-
function loadThemeSync(...
|
|
7220
|
+
function loadThemeSync(...themes22) {
|
|
7221
7221
|
ensureNotDisposed();
|
|
7222
|
-
for (const theme of
|
|
7222
|
+
for (const theme of themes22.flat(1)) {
|
|
7223
7223
|
_registry.loadTheme(theme);
|
|
7224
7224
|
}
|
|
7225
7225
|
}
|
|
7226
|
-
async function loadTheme(...
|
|
7226
|
+
async function loadTheme(...themes22) {
|
|
7227
7227
|
ensureNotDisposed();
|
|
7228
|
-
return loadThemeSync(await resolveThemes(
|
|
7228
|
+
return loadThemeSync(await resolveThemes(themes22));
|
|
7229
7229
|
}
|
|
7230
7230
|
function ensureNotDisposed() {
|
|
7231
7231
|
if (isDisposed)
|
|
@@ -7257,7 +7257,7 @@ async function createShikiInternal(options) {
|
|
|
7257
7257
|
warnDeprecated("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");
|
|
7258
7258
|
}
|
|
7259
7259
|
const [
|
|
7260
|
-
|
|
7260
|
+
themes2,
|
|
7261
7261
|
langs,
|
|
7262
7262
|
engine
|
|
7263
7263
|
] = await Promise.all([
|
|
@@ -7267,7 +7267,7 @@ async function createShikiInternal(options) {
|
|
|
7267
7267
|
]);
|
|
7268
7268
|
return createShikiInternalSync({
|
|
7269
7269
|
...options,
|
|
7270
|
-
themes,
|
|
7270
|
+
themes: themes2,
|
|
7271
7271
|
langs,
|
|
7272
7272
|
engine
|
|
7273
7273
|
});
|
|
@@ -8057,8 +8057,9 @@ function normalizeColor(bg, fg) {
|
|
|
8057
8057
|
}
|
|
8058
8058
|
|
|
8059
8059
|
// src/shiki.ts
|
|
8060
|
-
var
|
|
8061
|
-
var
|
|
8060
|
+
var grammars = define_SHIKI_GRAMMARS_default;
|
|
8061
|
+
var themes = /* @__PURE__ */ new Map();
|
|
8062
|
+
var shikiThemeIds = new Set(define_SHIKI_THEMES_default);
|
|
8062
8063
|
async function initShiki({
|
|
8063
8064
|
theme = "vitesse-dark",
|
|
8064
8065
|
langs: languages,
|
|
@@ -8066,13 +8067,13 @@ async function initShiki({
|
|
|
8066
8067
|
engine = createOnigurumaEngine(getDefaultWasmLoader())
|
|
8067
8068
|
} = {}) {
|
|
8068
8069
|
const langs = [];
|
|
8069
|
-
const
|
|
8070
|
+
const themes2 = [];
|
|
8070
8071
|
if (languages?.length) {
|
|
8071
8072
|
const set = /* @__PURE__ */ new Set();
|
|
8072
8073
|
languages.forEach((l) => {
|
|
8073
8074
|
if (typeof l === "string" || l instanceof URL) {
|
|
8074
8075
|
if (!set.has(l.toString())) {
|
|
8075
|
-
const g =
|
|
8076
|
+
const g = grammars.find((g2) => g2.name === l);
|
|
8076
8077
|
if (g?.embedded) {
|
|
8077
8078
|
langs.push(...g.embedded.map((id) => loadTMGrammar(id, tmDownloadCDN)));
|
|
8078
8079
|
}
|
|
@@ -8085,11 +8086,11 @@ async function initShiki({
|
|
|
8085
8086
|
});
|
|
8086
8087
|
}
|
|
8087
8088
|
if (typeof theme === "string" || theme instanceof URL) {
|
|
8088
|
-
|
|
8089
|
+
themes2.push(await loadTMTheme(theme, tmDownloadCDN));
|
|
8089
8090
|
} else if (isPlainObject(theme) || typeof theme === "function") {
|
|
8090
|
-
|
|
8091
|
+
themes2.push(theme);
|
|
8091
8092
|
}
|
|
8092
|
-
const highlighterCore = await createHighlighterCore({ langs, themes, engine });
|
|
8093
|
+
const highlighterCore = await createHighlighterCore({ langs, themes: themes2, engine });
|
|
8093
8094
|
Object.assign(highlighterCore, {
|
|
8094
8095
|
loadThemeFromCDN: (themeName) => highlighterCore.loadTheme(loadTMTheme(themeName, tmDownloadCDN)),
|
|
8095
8096
|
loadGrammarFromCDN: (...ids) => highlighterCore.loadLanguage(...ids.map((id) => loadTMGrammar(id, tmDownloadCDN)))
|
|
@@ -8097,43 +8098,53 @@ async function initShiki({
|
|
|
8097
8098
|
return highlighterCore;
|
|
8098
8099
|
}
|
|
8099
8100
|
function loadTMTheme(src, cdn = "https://esm.sh") {
|
|
8100
|
-
if (typeof src === "string" &&
|
|
8101
|
-
|
|
8102
|
-
|
|
8103
|
-
|
|
8104
|
-
|
|
8105
|
-
|
|
8106
|
-
|
|
8107
|
-
|
|
8108
|
-
|
|
8109
|
-
|
|
8110
|
-
})
|
|
8111
|
-
);
|
|
8101
|
+
if (typeof src === "string" && themes.has(src)) {
|
|
8102
|
+
return themes.get(src);
|
|
8103
|
+
}
|
|
8104
|
+
if (typeof src === "string" && /^[a-zA-Z]/.test(src)) {
|
|
8105
|
+
src = src.replace(/\s+/g, "-").replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
|
|
8106
|
+
if (!shikiThemeIds.has(src)) {
|
|
8107
|
+
throw new Error(
|
|
8108
|
+
`Invalid theme ID: ${src}, please ensure the theme ID is one of the following: ${Array.from(shikiThemeIds.keys()).join(", ")}`
|
|
8109
|
+
);
|
|
8110
|
+
}
|
|
8112
8111
|
}
|
|
8113
|
-
|
|
8112
|
+
if (typeof src === "string" && shikiThemeIds.has(src)) {
|
|
8113
|
+
const url2 = new URL(`/tm-themes@${version2}/themes/${src}.json`, cdn);
|
|
8114
|
+
return cache.fetch(url2).then((res) => res.json());
|
|
8115
|
+
}
|
|
8116
|
+
const url = typeof src === "string" ? new URL(src, globalThis.location?.href) : src;
|
|
8117
|
+
if (url.protocol === "http" || url.protocol === "https") {
|
|
8118
|
+
return cache.fetch(url).then((res) => res.json());
|
|
8119
|
+
}
|
|
8120
|
+
throw new Error(`Unsupported theme source: ${src}`);
|
|
8114
8121
|
}
|
|
8115
8122
|
function loadTMGrammar(src, cdn = "https://esm.sh") {
|
|
8116
8123
|
if (typeof src === "string") {
|
|
8117
|
-
const g =
|
|
8124
|
+
const g = grammars.find((g2) => g2.name === src);
|
|
8118
8125
|
if (g) {
|
|
8119
|
-
const
|
|
8120
|
-
return cache.fetch(
|
|
8126
|
+
const url2 = new URL(`/tm-grammars@${version}/grammars/${g.name}.json`, cdn);
|
|
8127
|
+
return cache.fetch(url2).then((res) => res.json());
|
|
8121
8128
|
}
|
|
8122
8129
|
}
|
|
8123
|
-
|
|
8130
|
+
const url = typeof src === "string" ? new URL(src, globalThis.location?.href) : src;
|
|
8131
|
+
if (url.protocol === "http" || url.protocol === "https") {
|
|
8132
|
+
return cache.fetch(url).then((res) => res.json());
|
|
8133
|
+
}
|
|
8134
|
+
throw new Error(`Unsupported grammar source: ${src}`);
|
|
8124
8135
|
}
|
|
8125
8136
|
function getGarmmarInfoFromPath(path) {
|
|
8126
8137
|
const idx = path.lastIndexOf(".");
|
|
8127
8138
|
if (idx > 0) {
|
|
8128
8139
|
const ext = path.slice(idx + 1);
|
|
8129
|
-
return
|
|
8140
|
+
return grammars.find((g) => g.name === ext || g.aliases?.includes(ext));
|
|
8130
8141
|
}
|
|
8131
8142
|
}
|
|
8132
8143
|
function getLanguageIdFromPath(path) {
|
|
8133
8144
|
return getGarmmarInfoFromPath(path)?.name;
|
|
8134
8145
|
}
|
|
8135
8146
|
function getExtnameFromLanguageId(language) {
|
|
8136
|
-
const g =
|
|
8147
|
+
const g = grammars.find((g2) => g2.name === language);
|
|
8137
8148
|
if (g) {
|
|
8138
8149
|
return g.aliases?.[0] ?? g.name;
|
|
8139
8150
|
}
|
|
@@ -8143,13 +8154,13 @@ export {
|
|
|
8143
8154
|
getExtnameFromLanguageId,
|
|
8144
8155
|
getGarmmarInfoFromPath,
|
|
8145
8156
|
getLanguageIdFromPath,
|
|
8157
|
+
grammars,
|
|
8146
8158
|
initShiki,
|
|
8147
8159
|
initShikiMonacoTokenizer,
|
|
8148
8160
|
registerShikiMonacoTokenizer,
|
|
8149
8161
|
render,
|
|
8150
8162
|
setDefaultWasmLoader,
|
|
8151
8163
|
textmateThemeToMonacoTheme,
|
|
8152
|
-
|
|
8153
|
-
tmThemes
|
|
8164
|
+
themes
|
|
8154
8165
|
};
|
|
8155
8166
|
/*! based on https://github.com/shikijs/shiki/blob/main/packages/monaco/src/index.ts */
|
package/dist/ssr/index.js
CHANGED
|
@@ -12,14 +12,14 @@ async function renderToString(input, options) {
|
|
|
12
12
|
const highlighter = await (ssrHighlighter ?? (ssrHighlighter = initShiki(shiki)));
|
|
13
13
|
const promises = [];
|
|
14
14
|
if (theme && !highlighter.getLoadedThemes().includes(theme)) {
|
|
15
|
-
console.info(`[modern-monaco] Loading theme '${theme}' from
|
|
15
|
+
console.info(`[modern-monaco] Loading theme '${theme}' from CDN...`);
|
|
16
16
|
promises.push(highlighter.loadThemeFromCDN(theme));
|
|
17
17
|
}
|
|
18
18
|
if (language || filename) {
|
|
19
19
|
const languageId = language ?? getLanguageIdFromPath(filename);
|
|
20
20
|
if (languageId && !highlighter.getLoadedLanguages().includes(languageId)) {
|
|
21
21
|
console.info(
|
|
22
|
-
`[modern-monaco] Loading garmmar '${languageId}' from
|
|
22
|
+
`[modern-monaco] Loading garmmar '${languageId}' from CDN...`
|
|
23
23
|
);
|
|
24
24
|
promises.push(highlighter.loadGrammarFromCDN(languageId));
|
|
25
25
|
}
|
package/dist/ssr/workerd.js
CHANGED
|
@@ -11,14 +11,14 @@ async function renderToString(input, options) {
|
|
|
11
11
|
const highlighter = await (ssrHighlighter ?? (ssrHighlighter = initShiki(shiki)));
|
|
12
12
|
const promises = [];
|
|
13
13
|
if (theme && !highlighter.getLoadedThemes().includes(theme)) {
|
|
14
|
-
console.info(`[modern-monaco] Loading theme '${theme}' from
|
|
14
|
+
console.info(`[modern-monaco] Loading theme '${theme}' from CDN...`);
|
|
15
15
|
promises.push(highlighter.loadThemeFromCDN(theme));
|
|
16
16
|
}
|
|
17
17
|
if (language || filename) {
|
|
18
18
|
const languageId = language ?? getLanguageIdFromPath(filename);
|
|
19
19
|
if (languageId && !highlighter.getLoadedLanguages().includes(languageId)) {
|
|
20
20
|
console.info(
|
|
21
|
-
`[modern-monaco] Loading garmmar '${languageId}' from
|
|
21
|
+
`[modern-monaco] Loading garmmar '${languageId}' from CDN...`
|
|
22
22
|
);
|
|
23
23
|
promises.push(highlighter.loadGrammarFromCDN(languageId));
|
|
24
24
|
}
|