@marko/language-server 1.3.8 → 1.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +180 -178
- package/dist/index.js.map +4 -4
- package/dist/index.mjs +195 -193
- package/dist/index.mjs.map +4 -4
- package/dist/service/marko/complete/AttrValue.d.ts +1 -1
- package/dist/ts-plugin/host.d.ts +1 -1
- package/dist/ts-plugin/index.d.ts +1 -1
- package/dist/utils/file.d.ts +1 -1
- package/package.json +8 -9
package/dist/index.js
CHANGED
|
@@ -22,17 +22,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
22
|
mod
|
|
23
23
|
));
|
|
24
24
|
|
|
25
|
-
// src/index.ts
|
|
26
|
-
var import_util2 = require("util");
|
|
27
|
-
var import_node = require("vscode-languageserver/node");
|
|
28
|
-
var import_language_tools19 = require("@marko/language-tools");
|
|
29
|
-
|
|
30
25
|
// src/utils/project-defaults.ts
|
|
31
|
-
var import_path = __toESM(require("path"));
|
|
32
26
|
var defaultCompiler = __toESM(require("@marko/compiler"));
|
|
33
27
|
var import_config = __toESM(require("@marko/compiler/config"));
|
|
34
|
-
var defaultTranslator = __toESM(require("@marko/translator-default"));
|
|
35
28
|
var import_language_tools = require("@marko/language-tools");
|
|
29
|
+
var defaultTranslator = __toESM(require("@marko/translator-default"));
|
|
30
|
+
var import_path = __toESM(require("path"));
|
|
36
31
|
import_language_tools.Project.setDefaultTypePaths({
|
|
37
32
|
internalTypesFile: import_path.default.join(__dirname, "marko.internal.d.ts"),
|
|
38
33
|
markoTypesFile: import_path.default.join(__dirname, "marko.runtime.d.ts")
|
|
@@ -42,72 +37,19 @@ import_language_tools.Project.setDefaultCompilerMeta(defaultCompiler, {
|
|
|
42
37
|
translator: defaultTranslator
|
|
43
38
|
});
|
|
44
39
|
|
|
45
|
-
// src/
|
|
46
|
-
var
|
|
47
|
-
var
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return filename && import_path2.default.dirname(filename);
|
|
53
|
-
}
|
|
54
|
-
function getFSPath(doc) {
|
|
55
|
-
const parsed = import_vscode_uri.URI.parse(doc.uri);
|
|
56
|
-
return parsed.scheme === "file" ? parsed.fsPath : void 0;
|
|
57
|
-
}
|
|
58
|
-
function getMarkoFile(doc) {
|
|
59
|
-
const { uri } = doc;
|
|
60
|
-
const { fsPath, scheme } = import_vscode_uri.URI.parse(uri);
|
|
61
|
-
const filename = scheme === "file" ? fsPath : void 0;
|
|
62
|
-
const dirname = filename ? import_path2.default.dirname(filename) : process.cwd();
|
|
63
|
-
const cache = import_language_tools2.Project.getCache(dirname);
|
|
64
|
-
let file = cache.get(doc);
|
|
65
|
-
if (!file) {
|
|
66
|
-
const { version } = doc;
|
|
67
|
-
const code = doc.getText();
|
|
68
|
-
const parsed = (0, import_language_tools2.parse)(code, filename);
|
|
69
|
-
const lookup = import_language_tools2.Project.getTagLookup(dirname);
|
|
70
|
-
cache.set(
|
|
71
|
-
doc,
|
|
72
|
-
file = {
|
|
73
|
-
uri,
|
|
74
|
-
scheme,
|
|
75
|
-
version,
|
|
76
|
-
lookup,
|
|
77
|
-
filename,
|
|
78
|
-
dirname,
|
|
79
|
-
parsed,
|
|
80
|
-
code
|
|
81
|
-
}
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
return file;
|
|
85
|
-
}
|
|
86
|
-
function clearMarkoCacheForFile(doc) {
|
|
87
|
-
import_language_tools2.Project.getCache(getFSDir(doc)).delete(doc);
|
|
88
|
-
}
|
|
89
|
-
function processDoc(doc, process2) {
|
|
90
|
-
const file = getMarkoFile(doc);
|
|
91
|
-
const cache = processorCaches.get(file.parsed);
|
|
92
|
-
let result;
|
|
93
|
-
if (cache) {
|
|
94
|
-
result = cache.get(process2);
|
|
95
|
-
if (!result) {
|
|
96
|
-
result = process2(file);
|
|
97
|
-
cache.set(process2, result);
|
|
98
|
-
}
|
|
99
|
-
} else {
|
|
100
|
-
result = process2(file);
|
|
101
|
-
processorCaches.set(file.parsed, /* @__PURE__ */ new Map([[process2, result]]));
|
|
102
|
-
}
|
|
103
|
-
return result;
|
|
104
|
-
}
|
|
40
|
+
// src/index.ts
|
|
41
|
+
var import_language_tools19 = require("@marko/language-tools");
|
|
42
|
+
var import_util2 = require("util");
|
|
43
|
+
var import_node = require("vscode-languageserver/node");
|
|
44
|
+
|
|
45
|
+
// src/service/index.ts
|
|
46
|
+
var import_vscode_languageserver12 = require("vscode-languageserver");
|
|
105
47
|
|
|
106
48
|
// src/utils/text-documents.ts
|
|
107
49
|
var import_fs = __toESM(require("fs"));
|
|
108
|
-
var import_vscode_uri2 = require("vscode-uri");
|
|
109
50
|
var import_vscode_languageserver = require("vscode-languageserver");
|
|
110
51
|
var import_vscode_languageserver_textdocument = require("vscode-languageserver-textdocument");
|
|
52
|
+
var import_vscode_uri = require("vscode-uri");
|
|
111
53
|
var docs = /* @__PURE__ */ new Map();
|
|
112
54
|
var openDocs = /* @__PURE__ */ new Set();
|
|
113
55
|
var fileExists = /* @__PURE__ */ new Map();
|
|
@@ -122,7 +64,7 @@ function getAllOpen() {
|
|
|
122
64
|
function get(uri) {
|
|
123
65
|
const doc = docs.get(uri);
|
|
124
66
|
if (doc) return doc;
|
|
125
|
-
const { fsPath, scheme } =
|
|
67
|
+
const { fsPath, scheme } = import_vscode_uri.URI.parse(uri);
|
|
126
68
|
if (scheme === "file") {
|
|
127
69
|
if (fileExists.get(uri) === false) return void 0;
|
|
128
70
|
try {
|
|
@@ -143,7 +85,7 @@ function get(uri) {
|
|
|
143
85
|
function exists(uri) {
|
|
144
86
|
const cached = fileExists.get(uri);
|
|
145
87
|
if (cached !== void 0) return cached;
|
|
146
|
-
const { fsPath, scheme } =
|
|
88
|
+
const { fsPath, scheme } = import_vscode_uri.URI.parse(uri);
|
|
147
89
|
if (scheme === "file") {
|
|
148
90
|
try {
|
|
149
91
|
import_fs.default.accessSync(fsPath);
|
|
@@ -196,7 +138,7 @@ function doClose(params) {
|
|
|
196
138
|
if (doc) {
|
|
197
139
|
projectVersion++;
|
|
198
140
|
openDocs.delete(doc);
|
|
199
|
-
if (
|
|
141
|
+
if (import_vscode_uri.URI.parse(ref.uri).scheme !== "file") {
|
|
200
142
|
docs.delete(ref.uri);
|
|
201
143
|
}
|
|
202
144
|
}
|
|
@@ -241,75 +183,72 @@ function emitFileChange(doc) {
|
|
|
241
183
|
}
|
|
242
184
|
}
|
|
243
185
|
|
|
244
|
-
// src/
|
|
245
|
-
var
|
|
246
|
-
var
|
|
247
|
-
var
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}
|
|
258
|
-
return cached;
|
|
259
|
-
}
|
|
260
|
-
function onConfigChange(handler) {
|
|
261
|
-
configChangeHandlers.add(handler);
|
|
186
|
+
// src/service/html/index.ts
|
|
187
|
+
var import_language_tools3 = require("@marko/language-tools");
|
|
188
|
+
var import_axe_core = __toESM(require("axe-core"));
|
|
189
|
+
var import_jsdom = require("jsdom");
|
|
190
|
+
|
|
191
|
+
// src/utils/file.ts
|
|
192
|
+
var import_language_tools2 = require("@marko/language-tools");
|
|
193
|
+
var import_path2 = __toESM(require("path"));
|
|
194
|
+
var import_vscode_uri2 = require("vscode-uri");
|
|
195
|
+
var processorCaches = /* @__PURE__ */ new WeakMap();
|
|
196
|
+
function getFSDir(doc) {
|
|
197
|
+
const filename = getFSPath(doc);
|
|
198
|
+
return filename && import_path2.default.dirname(filename);
|
|
262
199
|
}
|
|
263
|
-
function
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
if (isInitialized) {
|
|
267
|
-
settingsCache.clear();
|
|
268
|
-
emitConfigChange();
|
|
269
|
-
} else {
|
|
270
|
-
isInitialized = true;
|
|
271
|
-
}
|
|
272
|
-
});
|
|
200
|
+
function getFSPath(doc) {
|
|
201
|
+
const parsed = import_vscode_uri2.URI.parse(doc.uri);
|
|
202
|
+
return parsed.scheme === "file" ? parsed.fsPath : void 0;
|
|
273
203
|
}
|
|
274
|
-
function
|
|
275
|
-
|
|
276
|
-
|
|
204
|
+
function getMarkoFile(doc) {
|
|
205
|
+
const { uri } = doc;
|
|
206
|
+
const { fsPath, scheme } = import_vscode_uri2.URI.parse(uri);
|
|
207
|
+
const filename = scheme === "file" ? fsPath : void 0;
|
|
208
|
+
const dirname = filename ? import_path2.default.dirname(filename) : process.cwd();
|
|
209
|
+
const cache = import_language_tools2.Project.getCache(dirname);
|
|
210
|
+
let file = cache.get(doc);
|
|
211
|
+
if (!file) {
|
|
212
|
+
const { version } = doc;
|
|
213
|
+
const code = doc.getText();
|
|
214
|
+
const parsed = (0, import_language_tools2.parse)(code, filename);
|
|
215
|
+
const lookup = import_language_tools2.Project.getTagLookup(dirname);
|
|
216
|
+
cache.set(
|
|
217
|
+
doc,
|
|
218
|
+
file = {
|
|
219
|
+
uri,
|
|
220
|
+
scheme,
|
|
221
|
+
version,
|
|
222
|
+
lookup,
|
|
223
|
+
filename,
|
|
224
|
+
dirname,
|
|
225
|
+
parsed,
|
|
226
|
+
code
|
|
227
|
+
}
|
|
228
|
+
);
|
|
277
229
|
}
|
|
230
|
+
return file;
|
|
278
231
|
}
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
var import_util = require("util");
|
|
282
|
-
var connection2;
|
|
283
|
-
var previousMessagesByType = /* @__PURE__ */ new Map();
|
|
284
|
-
function setup2(_) {
|
|
285
|
-
connection2 = _;
|
|
286
|
-
}
|
|
287
|
-
function displayError(data) {
|
|
288
|
-
display("showError", data);
|
|
232
|
+
function clearMarkoCacheForFile(doc) {
|
|
233
|
+
import_language_tools2.Project.getCache(getFSDir(doc)).delete(doc);
|
|
289
234
|
}
|
|
290
|
-
function
|
|
291
|
-
const
|
|
292
|
-
const
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
if (
|
|
297
|
-
|
|
235
|
+
function processDoc(doc, process2) {
|
|
236
|
+
const file = getMarkoFile(doc);
|
|
237
|
+
const cache = processorCaches.get(file.parsed);
|
|
238
|
+
let result;
|
|
239
|
+
if (cache) {
|
|
240
|
+
result = cache.get(process2);
|
|
241
|
+
if (!result) {
|
|
242
|
+
result = process2(file);
|
|
243
|
+
cache.set(process2, result);
|
|
298
244
|
}
|
|
299
245
|
} else {
|
|
300
|
-
|
|
246
|
+
result = process2(file);
|
|
247
|
+
processorCaches.set(file.parsed, /* @__PURE__ */ new Map([[process2, result]]));
|
|
301
248
|
}
|
|
302
|
-
|
|
249
|
+
return result;
|
|
303
250
|
}
|
|
304
251
|
|
|
305
|
-
// src/service/index.ts
|
|
306
|
-
var import_vscode_languageserver12 = require("vscode-languageserver");
|
|
307
|
-
|
|
308
|
-
// src/service/html/index.ts
|
|
309
|
-
var import_axe_core = __toESM(require("axe-core"));
|
|
310
|
-
var import_language_tools3 = require("@marko/language-tools");
|
|
311
|
-
var import_jsdom = require("jsdom");
|
|
312
|
-
|
|
313
252
|
// src/service/html/axe-rules/axe-rules.ts
|
|
314
253
|
var keyboard = {
|
|
315
254
|
/**
|
|
@@ -853,7 +792,7 @@ var ruleExceptions = {
|
|
|
853
792
|
[aria.ariaInputFieldName]: { unknownBody: true, attrSpread: true },
|
|
854
793
|
[aria.ariaMeterName]: { unknownBody: true, attrSpread: true },
|
|
855
794
|
[aria.ariaProgressbarName]: { unknownBody: true, attrSpread: true },
|
|
856
|
-
[aria.ariaProhibitedAttr]: {},
|
|
795
|
+
[aria.ariaProhibitedAttr]: { dynamicAttrs: ["role"] },
|
|
857
796
|
[aria.ariaRequiredAttr]: { attrSpread: true },
|
|
858
797
|
[aria.ariaRequiredChildren]: { unknownBody: true },
|
|
859
798
|
[aria.ariaRoles]: { dynamicAttrs: ["role"] },
|
|
@@ -1107,31 +1046,6 @@ function isExternalModule(file) {
|
|
|
1107
1046
|
var import_path3 = __toESM(require("path"));
|
|
1108
1047
|
var import_vscode_languageserver3 = require("vscode-languageserver");
|
|
1109
1048
|
|
|
1110
|
-
// src/service/marko/util/is-document-link-attr.ts
|
|
1111
|
-
var import_language_tools4 = require("@marko/language-tools");
|
|
1112
|
-
var linkedAttrs = /* @__PURE__ */ new Map([
|
|
1113
|
-
[
|
|
1114
|
-
"src",
|
|
1115
|
-
/* @__PURE__ */ new Set([
|
|
1116
|
-
"audio",
|
|
1117
|
-
"embed",
|
|
1118
|
-
"iframe",
|
|
1119
|
-
"img",
|
|
1120
|
-
"input",
|
|
1121
|
-
"script",
|
|
1122
|
-
"source",
|
|
1123
|
-
"track",
|
|
1124
|
-
"video"
|
|
1125
|
-
])
|
|
1126
|
-
],
|
|
1127
|
-
["href", /* @__PURE__ */ new Set(["a", "area", "link"])],
|
|
1128
|
-
["data", /* @__PURE__ */ new Set(["object"])],
|
|
1129
|
-
["poster", /* @__PURE__ */ new Set(["video"])]
|
|
1130
|
-
]);
|
|
1131
|
-
function isDocumentLinkAttr(code, tag, attr) {
|
|
1132
|
-
return tag.nameText && attr.type === import_language_tools4.NodeType.AttrNamed && attr.value?.type === import_language_tools4.NodeType.AttrValue && /^['"]$/.test(code[attr.value.value.start]) && linkedAttrs.get(code.slice(attr.name.start, attr.name.end))?.has(tag.nameText) || false;
|
|
1133
|
-
}
|
|
1134
|
-
|
|
1135
1049
|
// src/utils/file-system.ts
|
|
1136
1050
|
var import_promises = __toESM(require("fs/promises"));
|
|
1137
1051
|
var import_url = require("url");
|
|
@@ -1186,6 +1100,31 @@ function resolveUrl(to, base) {
|
|
|
1186
1100
|
}
|
|
1187
1101
|
}
|
|
1188
1102
|
|
|
1103
|
+
// src/service/marko/util/is-document-link-attr.ts
|
|
1104
|
+
var import_language_tools4 = require("@marko/language-tools");
|
|
1105
|
+
var linkedAttrs = /* @__PURE__ */ new Map([
|
|
1106
|
+
[
|
|
1107
|
+
"src",
|
|
1108
|
+
/* @__PURE__ */ new Set([
|
|
1109
|
+
"audio",
|
|
1110
|
+
"embed",
|
|
1111
|
+
"iframe",
|
|
1112
|
+
"img",
|
|
1113
|
+
"input",
|
|
1114
|
+
"script",
|
|
1115
|
+
"source",
|
|
1116
|
+
"track",
|
|
1117
|
+
"video"
|
|
1118
|
+
])
|
|
1119
|
+
],
|
|
1120
|
+
["href", /* @__PURE__ */ new Set(["a", "area", "link"])],
|
|
1121
|
+
["data", /* @__PURE__ */ new Set(["object"])],
|
|
1122
|
+
["poster", /* @__PURE__ */ new Set(["video"])]
|
|
1123
|
+
]);
|
|
1124
|
+
function isDocumentLinkAttr(code, tag, attr) {
|
|
1125
|
+
return tag.nameText && attr.type === import_language_tools4.NodeType.AttrNamed && attr.value?.type === import_language_tools4.NodeType.AttrValue && /^['"]$/.test(code[attr.value.value.start]) && linkedAttrs.get(code.slice(attr.name.start, attr.name.end))?.has(tag.nameText) || false;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1189
1128
|
// src/service/marko/complete/AttrValue.ts
|
|
1190
1129
|
async function AttrValue({
|
|
1191
1130
|
offset,
|
|
@@ -1376,8 +1315,8 @@ function OpenTagName({
|
|
|
1376
1315
|
}
|
|
1377
1316
|
|
|
1378
1317
|
// src/service/marko/complete/Tag.ts
|
|
1379
|
-
var import_vscode_languageserver6 = require("vscode-languageserver");
|
|
1380
1318
|
var import_language_tools6 = require("@marko/language-tools");
|
|
1319
|
+
var import_vscode_languageserver6 = require("vscode-languageserver");
|
|
1381
1320
|
var partialCloseTagReg = /<\/(?:[^><]*>)?/iy;
|
|
1382
1321
|
function Tag({
|
|
1383
1322
|
node,
|
|
@@ -1447,9 +1386,19 @@ var doComplete = async (doc, params) => {
|
|
|
1447
1386
|
var import_language_tools10 = require("@marko/language-tools");
|
|
1448
1387
|
|
|
1449
1388
|
// src/service/marko/definition/AttrName.ts
|
|
1389
|
+
var import_language_tools8 = require("@marko/language-tools");
|
|
1450
1390
|
var import_fs2 = __toESM(require("fs"));
|
|
1451
1391
|
var import_vscode_uri4 = require("vscode-uri");
|
|
1452
|
-
|
|
1392
|
+
|
|
1393
|
+
// src/utils/constants.ts
|
|
1394
|
+
var START_POSITION = {
|
|
1395
|
+
line: 0,
|
|
1396
|
+
character: 0
|
|
1397
|
+
};
|
|
1398
|
+
var START_LOCATION = {
|
|
1399
|
+
start: START_POSITION,
|
|
1400
|
+
end: START_POSITION
|
|
1401
|
+
};
|
|
1453
1402
|
|
|
1454
1403
|
// src/utils/regexp-builder.ts
|
|
1455
1404
|
function RegExpBuilder(strings, ...expressions) {
|
|
@@ -1475,16 +1424,6 @@ function escape(val) {
|
|
|
1475
1424
|
return String(val).replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&");
|
|
1476
1425
|
}
|
|
1477
1426
|
|
|
1478
|
-
// src/utils/constants.ts
|
|
1479
|
-
var START_POSITION = {
|
|
1480
|
-
line: 0,
|
|
1481
|
-
character: 0
|
|
1482
|
-
};
|
|
1483
|
-
var START_LOCATION = {
|
|
1484
|
-
start: START_POSITION,
|
|
1485
|
-
end: START_POSITION
|
|
1486
|
-
};
|
|
1487
|
-
|
|
1488
1427
|
// src/service/marko/definition/AttrName.ts
|
|
1489
1428
|
function AttrName2({
|
|
1490
1429
|
node,
|
|
@@ -1526,10 +1465,10 @@ function AttrName2({
|
|
|
1526
1465
|
}
|
|
1527
1466
|
|
|
1528
1467
|
// src/service/marko/definition/OpenTagName.ts
|
|
1468
|
+
var import_language_tools9 = require("@marko/language-tools");
|
|
1529
1469
|
var import_fs3 = __toESM(require("fs"));
|
|
1530
1470
|
var import_path5 = __toESM(require("path"));
|
|
1531
1471
|
var import_vscode_uri5 = require("vscode-uri");
|
|
1532
|
-
var import_language_tools9 = require("@marko/language-tools");
|
|
1533
1472
|
function OpenTagName2({
|
|
1534
1473
|
node,
|
|
1535
1474
|
file: { parsed, lookup }
|
|
@@ -1671,8 +1610,8 @@ function extractDocumentLinks({
|
|
|
1671
1610
|
}
|
|
1672
1611
|
|
|
1673
1612
|
// src/service/marko/document-symbols.ts
|
|
1674
|
-
var import_vscode_languageserver7 = require("vscode-languageserver");
|
|
1675
1613
|
var import_language_tools12 = require("@marko/language-tools");
|
|
1614
|
+
var import_vscode_languageserver7 = require("vscode-languageserver");
|
|
1676
1615
|
var findDocumentSymbols = async (doc) => processDoc(doc, extractDocumentSymbols);
|
|
1677
1616
|
function extractDocumentSymbols({
|
|
1678
1617
|
uri,
|
|
@@ -1716,6 +1655,33 @@ var import_language_tools13 = require("@marko/language-tools");
|
|
|
1716
1655
|
var prettier = __toESM(require("prettier"));
|
|
1717
1656
|
var markoPrettier = __toESM(require("prettier-plugin-marko"));
|
|
1718
1657
|
var import_vscode_languageserver8 = require("vscode-languageserver");
|
|
1658
|
+
|
|
1659
|
+
// src/utils/messages.ts
|
|
1660
|
+
var import_util = require("util");
|
|
1661
|
+
var connection;
|
|
1662
|
+
var previousMessagesByType = /* @__PURE__ */ new Map();
|
|
1663
|
+
function setup(_) {
|
|
1664
|
+
connection = _;
|
|
1665
|
+
}
|
|
1666
|
+
function displayError(data) {
|
|
1667
|
+
display("showError", data);
|
|
1668
|
+
}
|
|
1669
|
+
function display(type, data) {
|
|
1670
|
+
const msg = typeof data === "string" ? data : (0, import_util.inspect)(data, { colors: false });
|
|
1671
|
+
const previousMessages = previousMessagesByType.get(type);
|
|
1672
|
+
if (previousMessages) {
|
|
1673
|
+
if (previousMessages.includes(msg)) return;
|
|
1674
|
+
previousMessages.push(msg);
|
|
1675
|
+
if (previousMessages.length > 3) {
|
|
1676
|
+
previousMessages.unshift();
|
|
1677
|
+
}
|
|
1678
|
+
} else {
|
|
1679
|
+
previousMessagesByType.set(type, [msg]);
|
|
1680
|
+
}
|
|
1681
|
+
setImmediate(() => connection.sendNotification(type, msg));
|
|
1682
|
+
}
|
|
1683
|
+
|
|
1684
|
+
// src/service/marko/format.ts
|
|
1719
1685
|
async function formatDocument(doc, formatOptions, cancel) {
|
|
1720
1686
|
try {
|
|
1721
1687
|
const dir = getFSDir(doc);
|
|
@@ -1794,10 +1760,10 @@ var doHover = async (doc, params) => {
|
|
|
1794
1760
|
};
|
|
1795
1761
|
|
|
1796
1762
|
// src/service/marko/validate.ts
|
|
1797
|
-
var
|
|
1763
|
+
var import_babel_utils = require("@marko/babel-utils");
|
|
1798
1764
|
var import_language_tools15 = require("@marko/language-tools");
|
|
1765
|
+
var import_path6 = __toESM(require("path"));
|
|
1799
1766
|
var import_vscode_languageserver9 = require("vscode-languageserver");
|
|
1800
|
-
var import_babel_utils = require("@marko/babel-utils");
|
|
1801
1767
|
var markoErrorRegExp = /^(.+?)\.marko(?:\((\d+)(?:\s*,\s*(\d+))?\))?: (.*)$/gm;
|
|
1802
1768
|
var compilerConfig = {
|
|
1803
1769
|
code: false,
|
|
@@ -1958,17 +1924,17 @@ var marko_default = {
|
|
|
1958
1924
|
};
|
|
1959
1925
|
|
|
1960
1926
|
// src/service/script/index.ts
|
|
1927
|
+
var import_language_tools17 = require("@marko/language-tools");
|
|
1961
1928
|
var import_path8 = __toESM(require("path"));
|
|
1929
|
+
var prettier2 = __toESM(require("prettier"));
|
|
1962
1930
|
var import_relative_import_path = require("relative-import-path");
|
|
1963
1931
|
var import_tsserverlibrary = __toESM(require("typescript/lib/tsserverlibrary"));
|
|
1964
1932
|
var import_vscode_languageserver10 = require("vscode-languageserver");
|
|
1965
1933
|
var import_vscode_uri6 = require("vscode-uri");
|
|
1966
|
-
var prettier2 = __toESM(require("prettier"));
|
|
1967
|
-
var import_language_tools17 = require("@marko/language-tools");
|
|
1968
1934
|
|
|
1969
1935
|
// src/ts-plugin/host.ts
|
|
1970
|
-
var import_path7 = __toESM(require("path"));
|
|
1971
1936
|
var import_language_tools16 = require("@marko/language-tools");
|
|
1937
|
+
var import_path7 = __toESM(require("path"));
|
|
1972
1938
|
var fsPathReg = /^(?:[./\\]|[A-Z]:)/i;
|
|
1973
1939
|
var modulePartsReg = /^((?:@(?:[^/]+)\/)?(?:[^/]+))(.*)$/;
|
|
1974
1940
|
function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
|
|
@@ -2139,6 +2105,42 @@ function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
|
|
|
2139
2105
|
}
|
|
2140
2106
|
}
|
|
2141
2107
|
|
|
2108
|
+
// src/utils/workspace.ts
|
|
2109
|
+
var isInitialized = false;
|
|
2110
|
+
var connection2;
|
|
2111
|
+
var configChangeHandlers = /* @__PURE__ */ new Set();
|
|
2112
|
+
var settingsCache = /* @__PURE__ */ new Map();
|
|
2113
|
+
async function getConfig(section) {
|
|
2114
|
+
let cached = settingsCache.get(section);
|
|
2115
|
+
if (!cached) {
|
|
2116
|
+
try {
|
|
2117
|
+
cached = await connection2.workspace.getConfiguration(section) || {};
|
|
2118
|
+
settingsCache.set(section, cached);
|
|
2119
|
+
} catch {
|
|
2120
|
+
}
|
|
2121
|
+
}
|
|
2122
|
+
return cached;
|
|
2123
|
+
}
|
|
2124
|
+
function onConfigChange(handler) {
|
|
2125
|
+
configChangeHandlers.add(handler);
|
|
2126
|
+
}
|
|
2127
|
+
function setup2(_) {
|
|
2128
|
+
connection2 = _;
|
|
2129
|
+
connection2.onDidChangeConfiguration(() => {
|
|
2130
|
+
if (isInitialized) {
|
|
2131
|
+
settingsCache.clear();
|
|
2132
|
+
emitConfigChange();
|
|
2133
|
+
} else {
|
|
2134
|
+
isInitialized = true;
|
|
2135
|
+
}
|
|
2136
|
+
});
|
|
2137
|
+
}
|
|
2138
|
+
function emitConfigChange() {
|
|
2139
|
+
for (const handler of configChangeHandlers) {
|
|
2140
|
+
handler();
|
|
2141
|
+
}
|
|
2142
|
+
}
|
|
2143
|
+
|
|
2142
2144
|
// src/service/script/util/print-jsdoc-tag.ts
|
|
2143
2145
|
var REG_BACK_TICK = /`/g;
|
|
2144
2146
|
var REG_LINE = /\r\n|\n/;
|
|
@@ -3053,10 +3055,10 @@ function getCanonicalFileName(fileName) {
|
|
|
3053
3055
|
}
|
|
3054
3056
|
|
|
3055
3057
|
// src/service/style/index.ts
|
|
3058
|
+
var import_language_tools18 = require("@marko/language-tools");
|
|
3056
3059
|
var import_vscode_css_languageservice2 = require("vscode-css-languageservice");
|
|
3057
3060
|
var import_vscode_languageserver11 = require("vscode-languageserver");
|
|
3058
3061
|
var import_vscode_languageserver_textdocument2 = require("vscode-languageserver-textdocument");
|
|
3059
|
-
var import_language_tools18 = require("@marko/language-tools");
|
|
3060
3062
|
var services = {
|
|
3061
3063
|
".css": import_vscode_css_languageservice2.getCSSLanguageService,
|
|
3062
3064
|
".less": import_vscode_css_languageservice2.getLESSLanguageService,
|
|
@@ -3724,7 +3726,7 @@ console.error = (...args) => {
|
|
|
3724
3726
|
process.on("uncaughtException", console.error);
|
|
3725
3727
|
process.on("unhandledRejection", console.error);
|
|
3726
3728
|
connection3.onInitialize(async (params) => {
|
|
3727
|
-
|
|
3729
|
+
setup(connection3);
|
|
3728
3730
|
await service.initialize(params);
|
|
3729
3731
|
return {
|
|
3730
3732
|
capabilities: {
|
|
@@ -3766,7 +3768,7 @@ connection3.onInitialize(async (params) => {
|
|
|
3766
3768
|
}
|
|
3767
3769
|
};
|
|
3768
3770
|
});
|
|
3769
|
-
|
|
3771
|
+
setup2(connection3);
|
|
3770
3772
|
onConfigChange(validateDocs);
|
|
3771
3773
|
connection3.onDidOpenTextDocument(async (params) => {
|
|
3772
3774
|
doOpen(params);
|