modern-monaco 0.3.8 → 0.4.1
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 +54 -7
- package/dist/cache.mjs +51 -24
- package/dist/core.mjs +6 -47
- package/dist/editor-core.mjs +1360 -6215
- package/dist/index.mjs +1 -1
- package/dist/lsp/client.mjs +39 -4
- package/dist/lsp/css/setup.mjs +11 -3
- package/dist/lsp/css/worker.mjs +13465 -2467
- package/dist/lsp/html/setup.mjs +44 -32
- package/dist/lsp/html/worker.mjs +43 -34
- package/dist/lsp/json/setup.mjs +2582 -109
- package/dist/lsp/json/worker.mjs +2 -2
- package/dist/lsp/typescript/libs.mjs +107 -99
- package/dist/lsp/typescript/setup.mjs +2553 -108
- package/dist/lsp/typescript/worker.mjs +2623 -88
- package/dist/shiki.mjs +3659 -3999
- package/dist/workspace.mjs +34 -29
- package/package.json +13 -13
- package/types/lsp.d.ts +69 -10
- package/types/textmate.d.ts +2 -2
- package/types/vscode.d.ts +6 -0
- package/types/workspace.d.ts +1 -1
package/dist/lsp/html/setup.mjs
CHANGED
|
@@ -3,6 +3,10 @@ import * as client from "../client.mjs";
|
|
|
3
3
|
async function setup(monaco, languageId, languageSettings, formattingOptions, workspace) {
|
|
4
4
|
const { editor, languages } = monaco;
|
|
5
5
|
const { tabSize, insertSpaces, insertFinalNewline, trimFinalNewlines } = formattingOptions ?? {};
|
|
6
|
+
const dataProviders = { ...languageSettings?.dataProviders };
|
|
7
|
+
if (languageSettings?.customTags) {
|
|
8
|
+
dataProviders["#custom-tags"] = { version: 1.1, tags: languageSettings.customTags };
|
|
9
|
+
}
|
|
6
10
|
const createData = {
|
|
7
11
|
suggest: {
|
|
8
12
|
attributeDefaultValue: languageSettings?.attributeDefaultValue,
|
|
@@ -24,8 +28,8 @@ async function setup(monaco, languageId, languageSettings, formattingOptions, wo
|
|
|
24
28
|
wrapAttributes: "auto"
|
|
25
29
|
},
|
|
26
30
|
data: {
|
|
27
|
-
useDefaultDataProvider: true,
|
|
28
|
-
dataProviders
|
|
31
|
+
useDefaultDataProvider: languageSettings?.useDefaultDataProvider ?? true,
|
|
32
|
+
dataProviders
|
|
29
33
|
},
|
|
30
34
|
fs: workspace ? await client.walkFS(workspace.fs, "/") : void 0
|
|
31
35
|
};
|
|
@@ -36,47 +40,55 @@ async function setup(monaco, languageId, languageSettings, formattingOptions, wo
|
|
|
36
40
|
const workerWithEmbeddedLanguages = client.createWorkerWithEmbeddedLanguages(htmlWorker);
|
|
37
41
|
client.init(monaco);
|
|
38
42
|
client.registerEmbedded(languageId, workerWithEmbeddedLanguages, ["css", "javascript", "importmap"]);
|
|
39
|
-
client.registerBasicFeatures(
|
|
43
|
+
client.registerBasicFeatures(
|
|
44
|
+
languageId,
|
|
45
|
+
workerWithEmbeddedLanguages,
|
|
46
|
+
["<", "/", "=", '"'],
|
|
47
|
+
workspace,
|
|
48
|
+
languageSettings?.diagnosticsOptions
|
|
49
|
+
);
|
|
40
50
|
client.registerAutoComplete(languageId, workerWithEmbeddedLanguages, [">", "/", "="]);
|
|
41
51
|
client.registerColorPresentation(languageId, workerWithEmbeddedLanguages);
|
|
42
52
|
client.registerDocumentLinks(languageId, workerWithEmbeddedLanguages);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
false,
|
|
50
|
-
null,
|
|
51
|
-
false
|
|
52
|
-
);
|
|
53
|
-
if (m) {
|
|
54
|
-
const m2 = model.findNextMatch(
|
|
55
|
-
`"imports":\\s*\\{`,
|
|
56
|
-
m.range.getEndPosition(),
|
|
53
|
+
if (languageSettings?.importMapCodeLens ?? true) {
|
|
54
|
+
languages.registerCodeLensProvider(languageId, {
|
|
55
|
+
provideCodeLenses: (model, _token) => {
|
|
56
|
+
const m = model.findNextMatch(
|
|
57
|
+
`<script\\s[^>]*?type=['"]importmap['"]`,
|
|
58
|
+
{ lineNumber: 4, column: 1 },
|
|
57
59
|
true,
|
|
58
60
|
false,
|
|
59
61
|
null,
|
|
60
62
|
false
|
|
61
63
|
);
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
{
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
if (m) {
|
|
65
|
+
const m2 = model.findNextMatch(
|
|
66
|
+
`"imports":\\s*\\{`,
|
|
67
|
+
m.range.getEndPosition(),
|
|
68
|
+
true,
|
|
69
|
+
false,
|
|
70
|
+
null,
|
|
71
|
+
false
|
|
72
|
+
);
|
|
73
|
+
return {
|
|
74
|
+
lenses: [
|
|
75
|
+
{
|
|
76
|
+
range: (m2 ?? m).range,
|
|
77
|
+
command: {
|
|
78
|
+
id: "importmap:add-import",
|
|
79
|
+
title: "$(sparkle-filled) Add import from esm.sh",
|
|
80
|
+
tooltip: "Add Import",
|
|
81
|
+
arguments: [model]
|
|
82
|
+
}
|
|
71
83
|
}
|
|
84
|
+
],
|
|
85
|
+
dispose: () => {
|
|
72
86
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
};
|
|
87
|
+
};
|
|
88
|
+
}
|
|
77
89
|
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
80
92
|
}
|
|
81
93
|
function createWebWorker() {
|
|
82
94
|
const workerUrl = new URL("./worker.mjs", import.meta.url);
|
package/dist/lsp/html/worker.mjs
CHANGED
|
@@ -14391,10 +14391,6 @@ var htmlData = {
|
|
|
14391
14391
|
"description": {
|
|
14392
14392
|
"kind": "markdown",
|
|
14393
14393
|
"value": "A Boolean attribute:\xA0if specified, the audio will automatically begin playback as soon as it can do so, without waiting for the entire audio file to finish downloading.\n\n**Note**: Sites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control."
|
|
14394
|
-
},
|
|
14395
|
-
"browsers": [],
|
|
14396
|
-
"status": {
|
|
14397
|
-
"baseline": false
|
|
14398
14394
|
}
|
|
14399
14395
|
},
|
|
14400
14396
|
{
|
|
@@ -16060,8 +16056,9 @@ var htmlData = {
|
|
|
16060
16056
|
"SM6"
|
|
16061
16057
|
],
|
|
16062
16058
|
"status": {
|
|
16063
|
-
"baseline": "
|
|
16064
|
-
"baseline_low_date": "2023-08-01"
|
|
16059
|
+
"baseline": "high",
|
|
16060
|
+
"baseline_low_date": "2023-08-01",
|
|
16061
|
+
"baseline_high_date": "2026-02-01"
|
|
16065
16062
|
}
|
|
16066
16063
|
},
|
|
16067
16064
|
{
|
|
@@ -16195,21 +16192,7 @@ var htmlData = {
|
|
|
16195
16192
|
"valueSet": "im"
|
|
16196
16193
|
},
|
|
16197
16194
|
{
|
|
16198
|
-
"name": "list"
|
|
16199
|
-
"browsers": [
|
|
16200
|
-
"C20",
|
|
16201
|
-
"CA25",
|
|
16202
|
-
"E12",
|
|
16203
|
-
"FF4",
|
|
16204
|
-
"FFA4",
|
|
16205
|
-
"S12.1",
|
|
16206
|
-
"SM12.2"
|
|
16207
|
-
],
|
|
16208
|
-
"status": {
|
|
16209
|
-
"baseline": "high",
|
|
16210
|
-
"baseline_low_date": "2019-03-25",
|
|
16211
|
-
"baseline_high_date": "2021-09-25"
|
|
16212
|
-
}
|
|
16195
|
+
"name": "list"
|
|
16213
16196
|
},
|
|
16214
16197
|
{
|
|
16215
16198
|
"name": "max",
|
|
@@ -16996,6 +16979,7 @@ var htmlData = {
|
|
|
16996
16979
|
"C20",
|
|
16997
16980
|
"CA33",
|
|
16998
16981
|
"E12",
|
|
16982
|
+
"FF4",
|
|
16999
16983
|
"S12.1",
|
|
17000
16984
|
"SM12.2"
|
|
17001
16985
|
],
|
|
@@ -17257,8 +17241,9 @@ var htmlData = {
|
|
|
17257
17241
|
"SM6"
|
|
17258
17242
|
],
|
|
17259
17243
|
"status": {
|
|
17260
|
-
"baseline": "
|
|
17261
|
-
"baseline_low_date": "2023-08-01"
|
|
17244
|
+
"baseline": "high",
|
|
17245
|
+
"baseline_low_date": "2023-08-01",
|
|
17246
|
+
"baseline_high_date": "2026-02-01"
|
|
17262
17247
|
}
|
|
17263
17248
|
},
|
|
17264
17249
|
{
|
|
@@ -17980,6 +17965,26 @@ var htmlData = {
|
|
|
17980
17965
|
"baseline_low_date": "2020-01-15",
|
|
17981
17966
|
"baseline_high_date": "2022-07-15"
|
|
17982
17967
|
}
|
|
17968
|
+
},
|
|
17969
|
+
{
|
|
17970
|
+
"name": "name",
|
|
17971
|
+
"description": {
|
|
17972
|
+
"kind": "markdown",
|
|
17973
|
+
"value": "This attribute enables multiple `<details>` elements to be connected, with only one open at a time. This allows developers to easily create UI features such as accordions without scripting.\n\nThe `name` attribute specifies a group name \u2014 give multiple `<details>` elements the same `name` value to group them. Only one of the grouped `<details>` elements can be open at a time \u2014 opening one will cause another to close. If multiple grouped `<details>` elements are given the `open` attribute, only the first one in the source order will be rendered open.\n\n**Note**: `<details>` elements don't have to be adjacent to one another in the source to be part of the same group."
|
|
17974
|
+
},
|
|
17975
|
+
"browsers": [
|
|
17976
|
+
"C120",
|
|
17977
|
+
"CA120",
|
|
17978
|
+
"E120",
|
|
17979
|
+
"FF130",
|
|
17980
|
+
"FFA130",
|
|
17981
|
+
"S17.2",
|
|
17982
|
+
"SM17.2"
|
|
17983
|
+
],
|
|
17984
|
+
"status": {
|
|
17985
|
+
"baseline": "low",
|
|
17986
|
+
"baseline_low_date": "2024-09-03"
|
|
17987
|
+
}
|
|
17983
17988
|
}
|
|
17984
17989
|
],
|
|
17985
17990
|
"references": [
|
|
@@ -18750,7 +18755,9 @@ var htmlData = {
|
|
|
18750
18755
|
],
|
|
18751
18756
|
"browsers": [
|
|
18752
18757
|
"FF136",
|
|
18753
|
-
"FFA136"
|
|
18758
|
+
"FFA136",
|
|
18759
|
+
"S14.1",
|
|
18760
|
+
"SM14.5"
|
|
18754
18761
|
],
|
|
18755
18762
|
"status": {
|
|
18756
18763
|
"baseline": false
|
|
@@ -18778,8 +18785,9 @@ var htmlData = {
|
|
|
18778
18785
|
"SM16.4"
|
|
18779
18786
|
],
|
|
18780
18787
|
"status": {
|
|
18781
|
-
"baseline": "
|
|
18782
|
-
"baseline_low_date": "2023-03-27"
|
|
18788
|
+
"baseline": "high",
|
|
18789
|
+
"baseline_low_date": "2023-03-27",
|
|
18790
|
+
"baseline_high_date": "2025-09-27"
|
|
18783
18791
|
}
|
|
18784
18792
|
},
|
|
18785
18793
|
{
|
|
@@ -18968,8 +18976,9 @@ var htmlData = {
|
|
|
18968
18976
|
"SM15.5"
|
|
18969
18977
|
],
|
|
18970
18978
|
"status": {
|
|
18971
|
-
"baseline": "
|
|
18972
|
-
"baseline_low_date": "2023-04-11"
|
|
18979
|
+
"baseline": "high",
|
|
18980
|
+
"baseline_low_date": "2023-04-11",
|
|
18981
|
+
"baseline_high_date": "2025-10-11"
|
|
18973
18982
|
}
|
|
18974
18983
|
},
|
|
18975
18984
|
{
|
|
@@ -19101,15 +19110,15 @@ var htmlData = {
|
|
|
19101
19110
|
"C61",
|
|
19102
19111
|
"CA61",
|
|
19103
19112
|
"E79",
|
|
19104
|
-
"
|
|
19105
|
-
"
|
|
19106
|
-
"S15.
|
|
19107
|
-
"SM15.
|
|
19113
|
+
"FF75",
|
|
19114
|
+
"FFA79",
|
|
19115
|
+
"S15.5",
|
|
19116
|
+
"SM15.5"
|
|
19108
19117
|
],
|
|
19109
19118
|
"status": {
|
|
19110
19119
|
"baseline": "high",
|
|
19111
|
-
"baseline_low_date": "2022-
|
|
19112
|
-
"baseline_high_date": "2024-
|
|
19120
|
+
"baseline_low_date": "2022-05-16",
|
|
19121
|
+
"baseline_high_date": "2024-11-16"
|
|
19113
19122
|
}
|
|
19114
19123
|
},
|
|
19115
19124
|
{
|