@marko/language-server 1.4.25 → 1.4.26

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 CHANGED
@@ -38,7 +38,7 @@ import_language_tools.Project.setDefaultCompilerMeta(defaultCompiler, {
38
38
  });
39
39
 
40
40
  // src/index.ts
41
- var import_language_tools19 = require("@marko/language-tools");
41
+ var import_language_tools20 = require("@marko/language-tools");
42
42
  var import_util2 = require("util");
43
43
  var import_node = require("vscode-languageserver/node");
44
44
 
@@ -938,7 +938,7 @@ async function acquireMutexLock() {
938
938
  var html_default = HTMLService;
939
939
 
940
940
  // src/service/marko/complete/index.ts
941
- var import_language_tools7 = require("@marko/language-tools");
941
+ var import_language_tools8 = require("@marko/language-tools");
942
942
 
943
943
  // src/service/marko/complete/AttrName.ts
944
944
  var import_vscode_languageserver2 = require("vscode-languageserver");
@@ -1180,6 +1180,7 @@ async function AttrValue({
1180
1180
  }
1181
1181
 
1182
1182
  // src/service/marko/complete/Import.ts
1183
+ var import_language_tools5 = require("@marko/language-tools");
1183
1184
  var import_vscode_languageserver5 = require("vscode-languageserver");
1184
1185
 
1185
1186
  // src/service/marko/util/get-tag-name-completion.ts
@@ -1239,12 +1240,16 @@ ${autocomplete.description}`;
1239
1240
  }
1240
1241
 
1241
1242
  // src/service/marko/complete/Import.ts
1243
+ var staticImportReg = /^\s*(?:static|client|server) import\b/;
1242
1244
  var importTagReg = /(['"])<((?:[^'"\\>]|\\.)*)>?\1/;
1243
1245
  function Import({
1244
1246
  node,
1245
1247
  file: { parsed, filename, lookup }
1246
1248
  }) {
1247
1249
  const value = parsed.read(node);
1250
+ if (node.type === import_language_tools5.NodeType.Static && !staticImportReg.test(value)) {
1251
+ return;
1252
+ }
1248
1253
  const match = importTagReg.exec(value);
1249
1254
  if (match) {
1250
1255
  const [{ length }] = match;
@@ -1270,14 +1275,14 @@ function Import({
1270
1275
  }
1271
1276
 
1272
1277
  // src/service/marko/complete/OpenTagName.ts
1273
- var import_language_tools5 = require("@marko/language-tools");
1278
+ var import_language_tools6 = require("@marko/language-tools");
1274
1279
  function OpenTagName({
1275
1280
  node,
1276
1281
  file: { parsed, filename, lookup }
1277
1282
  }) {
1278
1283
  const tag = node.parent;
1279
1284
  const range = parsed.locationAt(node);
1280
- const isAttrTag = tag.type === import_language_tools5.NodeType.AttrTag;
1285
+ const isAttrTag = tag.type === import_language_tools6.NodeType.AttrTag;
1281
1286
  const result = [];
1282
1287
  if (isAttrTag) {
1283
1288
  const ownerTagDef = tag.owner && tag.owner.nameText && lookup.getTag(tag.owner.nameText);
@@ -1298,7 +1303,7 @@ function OpenTagName({
1298
1303
  }
1299
1304
  }
1300
1305
  } else {
1301
- const skipStatements = !(tag.concise && tag.parent.type === import_language_tools5.NodeType.Program);
1306
+ const skipStatements = !(tag.concise && tag.parent.type === import_language_tools6.NodeType.Program);
1302
1307
  for (const tag2 of lookup.getTagsSorted()) {
1303
1308
  if (!(tag2.name === "*" || tag2.isNestedTag || skipStatements && tag2.parseOptions?.statement || tag2.name[0] === "_" && /^@?marko[/-]|[\\/]node_modules[\\/]/.test(tag2.filePath))) {
1304
1309
  const completion = getTagNameCompletion({
@@ -1316,7 +1321,7 @@ function OpenTagName({
1316
1321
  }
1317
1322
 
1318
1323
  // src/service/marko/complete/Tag.ts
1319
- var import_language_tools6 = require("@marko/language-tools");
1324
+ var import_language_tools7 = require("@marko/language-tools");
1320
1325
  var import_vscode_languageserver6 = require("vscode-languageserver");
1321
1326
  var partialCloseTagReg = /<\/(?:[^><]*>)?/iy;
1322
1327
  function Tag({
@@ -1324,7 +1329,7 @@ function Tag({
1324
1329
  offset,
1325
1330
  file: { parsed, code }
1326
1331
  }) {
1327
- const isClosed = node.end !== import_language_tools6.UNFINISHED;
1332
+ const isClosed = node.end !== import_language_tools7.UNFINISHED;
1328
1333
  if (isClosed || node.concise) return;
1329
1334
  const closingTagStr = `</${node.nameText || ""}>`;
1330
1335
  if (offset === node.open.end) {
@@ -1366,14 +1371,15 @@ var handlers = {
1366
1371
  OpenTagName,
1367
1372
  AttrName,
1368
1373
  AttrValue,
1369
- Import
1374
+ Import,
1375
+ Static: Import
1370
1376
  };
1371
1377
  var doComplete = async (doc, params) => {
1372
1378
  const file = getMarkoFile(doc);
1373
1379
  const offset = doc.offsetAt(params.position);
1374
1380
  const node = file.parsed.nodeAt(offset);
1375
1381
  return {
1376
- items: await handlers[import_language_tools7.NodeType[node.type]]?.({
1382
+ items: await handlers[import_language_tools8.NodeType[node.type]]?.({
1377
1383
  file,
1378
1384
  params,
1379
1385
  offset,
@@ -1384,10 +1390,10 @@ var doComplete = async (doc, params) => {
1384
1390
  };
1385
1391
 
1386
1392
  // src/service/marko/definition/index.ts
1387
- var import_language_tools10 = require("@marko/language-tools");
1393
+ var import_language_tools11 = require("@marko/language-tools");
1388
1394
 
1389
1395
  // src/service/marko/definition/AttrName.ts
1390
- var import_language_tools8 = require("@marko/language-tools");
1396
+ var import_language_tools9 = require("@marko/language-tools");
1391
1397
  var import_fs2 = __toESM(require("fs"));
1392
1398
  var import_vscode_uri4 = require("vscode-uri");
1393
1399
 
@@ -1448,8 +1454,8 @@ function AttrName2({
1448
1454
  tagDefSource
1449
1455
  );
1450
1456
  if (match && match.index) {
1451
- range = (0, import_language_tools8.getLocation)(
1452
- (0, import_language_tools8.getLines)(tagDefSource),
1457
+ range = (0, import_language_tools9.getLocation)(
1458
+ (0, import_language_tools9.getLines)(tagDefSource),
1453
1459
  match.index,
1454
1460
  match.index + match[0].length
1455
1461
  );
@@ -1466,7 +1472,7 @@ function AttrName2({
1466
1472
  }
1467
1473
 
1468
1474
  // src/service/marko/definition/OpenTagName.ts
1469
- var import_language_tools9 = require("@marko/language-tools");
1475
+ var import_language_tools10 = require("@marko/language-tools");
1470
1476
  var import_fs3 = __toESM(require("fs"));
1471
1477
  var import_path5 = __toESM(require("path"));
1472
1478
  var import_vscode_uri5 = require("vscode-uri");
@@ -1477,7 +1483,7 @@ function OpenTagName2({
1477
1483
  const tag = node.parent;
1478
1484
  let tagDef;
1479
1485
  let range = START_LOCATION;
1480
- if (tag.type === import_language_tools9.NodeType.AttrTag) {
1486
+ if (tag.type === import_language_tools10.NodeType.AttrTag) {
1481
1487
  tagDef = tag.owner && tag.owner.nameText ? lookup.getTag(tag.owner.nameText) : void 0;
1482
1488
  } else {
1483
1489
  tagDef = tag.nameText ? lookup.getTag(tag.nameText) : void 0;
@@ -1495,8 +1501,8 @@ function OpenTagName2({
1495
1501
  tagDefSource
1496
1502
  );
1497
1503
  if (match && match.index) {
1498
- range = (0, import_language_tools9.getLocation)(
1499
- (0, import_language_tools9.getLines)(tagDefSource),
1504
+ range = (0, import_language_tools10.getLocation)(
1505
+ (0, import_language_tools10.getLines)(tagDefSource),
1500
1506
  match.index,
1501
1507
  match.index + match[0].length
1502
1508
  );
@@ -1521,7 +1527,7 @@ var findDefinition = async (doc, params) => {
1521
1527
  const file = getMarkoFile(doc);
1522
1528
  const offset = doc.offsetAt(params.position);
1523
1529
  const node = file.parsed.nodeAt(offset);
1524
- return await handlers2[import_language_tools10.NodeType[node.type]]?.({
1530
+ return await handlers2[import_language_tools11.NodeType[node.type]]?.({
1525
1531
  file,
1526
1532
  params,
1527
1533
  offset,
@@ -1530,7 +1536,7 @@ var findDefinition = async (doc, params) => {
1530
1536
  };
1531
1537
 
1532
1538
  // src/service/marko/document-links.ts
1533
- var import_language_tools11 = require("@marko/language-tools");
1539
+ var import_language_tools12 = require("@marko/language-tools");
1534
1540
  var importTagReg2 = /(['"])<((?:[^'"\\>]|\\.)*)>?\1/g;
1535
1541
  var findDocumentLinks = async (doc) => {
1536
1542
  return processDoc(doc, extractDocumentLinks);
@@ -1549,14 +1555,14 @@ function extractDocumentLinks({
1549
1555
  const { program, read } = parsed;
1550
1556
  const visit = (node) => {
1551
1557
  switch (node.type) {
1552
- case import_language_tools11.NodeType.AttrTag:
1558
+ case import_language_tools12.NodeType.AttrTag:
1553
1559
  if (node.body) {
1554
1560
  for (const child of node.body) {
1555
1561
  visit(child);
1556
1562
  }
1557
1563
  }
1558
1564
  break;
1559
- case import_language_tools11.NodeType.Tag:
1565
+ case import_language_tools12.NodeType.Tag:
1560
1566
  if (node.attrs && node.nameText) {
1561
1567
  for (const attr of node.attrs) {
1562
1568
  if (isDocumentLinkAttr(code, node, attr)) {
@@ -1582,7 +1588,7 @@ function extractDocumentLinks({
1582
1588
  }
1583
1589
  };
1584
1590
  for (const node of program.static) {
1585
- if (node.type === import_language_tools11.NodeType.Import) {
1591
+ if (node.type === import_language_tools12.NodeType.Import) {
1586
1592
  importTagReg2.lastIndex = 0;
1587
1593
  const value = parsed.read(node);
1588
1594
  const match = importTagReg2.exec(value);
@@ -1609,7 +1615,7 @@ function extractDocumentLinks({
1609
1615
  }
1610
1616
 
1611
1617
  // src/service/marko/document-symbols.ts
1612
- var import_language_tools12 = require("@marko/language-tools");
1618
+ var import_language_tools13 = require("@marko/language-tools");
1613
1619
  var import_vscode_languageserver7 = require("vscode-languageserver");
1614
1620
  var findDocumentSymbols = async (doc) => processDoc(doc, extractDocumentSymbols);
1615
1621
  function extractDocumentSymbols({
@@ -1625,10 +1631,10 @@ function extractDocumentSymbols({
1625
1631
  const { program } = parsed;
1626
1632
  const visit = (node) => {
1627
1633
  switch (node.type) {
1628
- case import_language_tools12.NodeType.Tag:
1629
- case import_language_tools12.NodeType.AttrTag:
1634
+ case import_language_tools13.NodeType.Tag:
1635
+ case import_language_tools13.NodeType.AttrTag:
1630
1636
  symbols.push({
1631
- name: (node.type === import_language_tools12.NodeType.AttrTag ? node.nameText?.slice(node.nameText.indexOf("@")) : node.nameText) || "<${...}>",
1637
+ name: (node.type === import_language_tools13.NodeType.AttrTag ? node.nameText?.slice(node.nameText.indexOf("@")) : node.nameText) || "<${...}>",
1632
1638
  kind: node.nameText && lookup.getTag(node.nameText)?.html && import_vscode_languageserver7.SymbolKind.Property || import_vscode_languageserver7.SymbolKind.Class,
1633
1639
  location: {
1634
1640
  uri,
@@ -1650,7 +1656,7 @@ function extractDocumentSymbols({
1650
1656
  }
1651
1657
 
1652
1658
  // src/service/marko/format.ts
1653
- var import_language_tools13 = require("@marko/language-tools");
1659
+ var import_language_tools14 = require("@marko/language-tools");
1654
1660
  var prettier = __toESM(require("prettier"));
1655
1661
  var markoPrettier = __toESM(require("prettier-plugin-marko"));
1656
1662
  var import_vscode_languageserver8 = require("vscode-languageserver");
@@ -1697,7 +1703,7 @@ async function formatDocument(doc, formatOptions, cancel) {
1697
1703
  editorconfig: true
1698
1704
  }).catch(() => null) : null
1699
1705
  };
1700
- markoPrettier.setCompiler(import_language_tools13.Project.getCompiler(dir), import_language_tools13.Project.getConfig(dir));
1706
+ markoPrettier.setCompiler(import_language_tools14.Project.getCompiler(dir), import_language_tools14.Project.getConfig(dir));
1701
1707
  if (cancel?.isCancellationRequested) return;
1702
1708
  return [
1703
1709
  import_vscode_languageserver8.TextEdit.replace(
@@ -1717,7 +1723,7 @@ var format2 = async (doc, params, cancel) => {
1717
1723
  };
1718
1724
 
1719
1725
  // src/service/marko/hover/index.ts
1720
- var import_language_tools14 = require("@marko/language-tools");
1726
+ var import_language_tools15 = require("@marko/language-tools");
1721
1727
 
1722
1728
  // src/service/marko/hover/OpenTagName.ts
1723
1729
  function OpenTagName3({
@@ -1750,7 +1756,7 @@ var doHover = async (doc, params) => {
1750
1756
  const file = getMarkoFile(doc);
1751
1757
  const offset = doc.offsetAt(params.position);
1752
1758
  const node = file.parsed.nodeAt(offset);
1753
- return await handlers3[import_language_tools14.NodeType[node.type]]?.({
1759
+ return await handlers3[import_language_tools15.NodeType[node.type]]?.({
1754
1760
  file,
1755
1761
  params,
1756
1762
  offset,
@@ -1760,7 +1766,7 @@ var doHover = async (doc, params) => {
1760
1766
 
1761
1767
  // src/service/marko/validate.ts
1762
1768
  var import_babel_utils = require("@marko/babel-utils");
1763
- var import_language_tools15 = require("@marko/language-tools");
1769
+ var import_language_tools16 = require("@marko/language-tools");
1764
1770
  var import_path6 = __toESM(require("path"));
1765
1771
  var import_vscode_languageserver9 = require("vscode-languageserver");
1766
1772
  var markoErrorRegExp = /^(.+?)\.marko(?:\((\d+)(?:\s*,\s*(\d+))?\))?: (.*)$/gm;
@@ -1786,7 +1792,7 @@ var doValidate = (doc) => {
1786
1792
  const filename = getFSPath(doc);
1787
1793
  const diagnostics = [];
1788
1794
  try {
1789
- const { meta } = import_language_tools15.Project.getCompiler(
1795
+ const { meta } = import_language_tools16.Project.getCompiler(
1790
1796
  filename && import_path6.default.dirname(filename)
1791
1797
  ).compileSync(doc.getText(), filename || "untitled.marko", compilerConfig);
1792
1798
  if (meta.diagnostics) {
@@ -1923,7 +1929,7 @@ var marko_default = {
1923
1929
  };
1924
1930
 
1925
1931
  // src/service/script/index.ts
1926
- var import_language_tools17 = require("@marko/language-tools");
1932
+ var import_language_tools18 = require("@marko/language-tools");
1927
1933
  var import_path8 = __toESM(require("path"));
1928
1934
  var prettier2 = __toESM(require("prettier"));
1929
1935
  var import_relative_import_path = require("relative-import-path");
@@ -1932,12 +1938,13 @@ var import_vscode_languageserver10 = require("vscode-languageserver");
1932
1938
  var import_vscode_uri6 = require("vscode-uri");
1933
1939
 
1934
1940
  // src/ts-plugin/host.ts
1935
- var import_language_tools16 = require("@marko/language-tools");
1941
+ var import_language_tools17 = require("@marko/language-tools");
1936
1942
  var import_path7 = __toESM(require("path"));
1937
1943
  var fsPathReg = /^(?:[./\\]|[A-Z]:)/i;
1938
1944
  var modulePartsReg = /^((?:@(?:[^/]+)\/)?(?:[^/]+))(.*)$/;
1945
+ var importTagReg3 = /<([^>]+)>/;
1939
1946
  function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
1940
- const processors = import_language_tools16.Processors.create({
1947
+ const processors = import_language_tools17.Processors.create({
1941
1948
  ts: ts2,
1942
1949
  host,
1943
1950
  configFile
@@ -1999,7 +2006,7 @@ function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
1999
2006
  host.readDirectory = (path9, extensions, exclude, include, depth) => {
2000
2007
  return readDirectory2(
2001
2008
  path9,
2002
- extensions?.concat(import_language_tools16.Processors.extensions),
2009
+ extensions?.concat(import_language_tools17.Processors.extensions),
2003
2010
  exclude,
2004
2011
  include,
2005
2012
  depth
@@ -2013,7 +2020,18 @@ function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
2013
2020
  let resolvedModules;
2014
2021
  for (let i = 0; i < moduleLiterals.length; i++) {
2015
2022
  const moduleLiteral = moduleLiterals[i];
2016
- const moduleName = moduleLiteral.text;
2023
+ let moduleName = moduleLiteral.text;
2024
+ const tagNameMatch = importTagReg3.exec(moduleName);
2025
+ if (tagNameMatch) {
2026
+ const [, tagName] = tagNameMatch;
2027
+ const tagDef = import_language_tools17.Project.getTagLookup(
2028
+ import_path7.default.dirname(containingFile)
2029
+ ).getTag(tagName);
2030
+ const tagFileName = tagDef && (tagDef.template || tagDef.renderer);
2031
+ if (tagFileName) {
2032
+ moduleName = tagFileName;
2033
+ }
2034
+ }
2017
2035
  const processor = moduleName[0] !== "*" ? getProcessor(moduleName) : void 0;
2018
2036
  if (processor) {
2019
2037
  let resolvedFileName;
@@ -2046,12 +2064,12 @@ function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
2046
2064
  }
2047
2065
  }
2048
2066
  if (resolvedFileName) {
2049
- if ((0, import_language_tools16.isDefinitionFile)(resolvedFileName)) {
2067
+ if ((0, import_language_tools17.isDefinitionFile)(resolvedFileName)) {
2050
2068
  if (!host.fileExists(resolvedFileName)) {
2051
2069
  resolvedFileName = void 0;
2052
2070
  }
2053
2071
  } else {
2054
- const ext = (0, import_language_tools16.getExt)(resolvedFileName);
2072
+ const ext = (0, import_language_tools17.getExt)(resolvedFileName);
2055
2073
  const definitionFile = `${resolvedFileName.slice(
2056
2074
  0,
2057
2075
  -ext.length
@@ -2099,7 +2117,7 @@ function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
2099
2117
  }
2100
2118
  return host;
2101
2119
  function getProcessor(fileName) {
2102
- const ext = (0, import_language_tools16.getExt)(fileName);
2120
+ const ext = (0, import_language_tools17.getExt)(fileName);
2103
2121
  return ext ? processors[ext] : void 0;
2104
2122
  }
2105
2123
  }
@@ -2334,7 +2352,7 @@ var ScriptService = {
2334
2352
  if (!filename) return;
2335
2353
  const tsProject = getTSProject(filename);
2336
2354
  const extracted = processScript(doc, tsProject);
2337
- const lang = import_language_tools17.Project.getScriptLang(
2355
+ const lang = import_language_tools18.Project.getScriptLang(
2338
2356
  filename,
2339
2357
  tsProject.markoScriptLang,
2340
2358
  import_tsserverlibrary.default,
@@ -2342,10 +2360,10 @@ var ScriptService = {
2342
2360
  );
2343
2361
  const generated = extracted.toString();
2344
2362
  const content = await prettier2.format(generated, {
2345
- parser: lang === import_language_tools17.ScriptLang.ts ? "typescript" : "babel"
2363
+ parser: lang === import_language_tools18.ScriptLang.ts ? "typescript" : "babel"
2346
2364
  }).catch(() => generated);
2347
2365
  return {
2348
- language: lang === import_language_tools17.ScriptLang.ts ? "typescript" : "javascript",
2366
+ language: lang === import_language_tools18.ScriptLang.ts ? "typescript" : "javascript",
2349
2367
  content
2350
2368
  };
2351
2369
  }
@@ -2684,13 +2702,13 @@ ${documentation}`;
2684
2702
  function processScript(doc, tsProject) {
2685
2703
  return processDoc(doc, ({ filename, parsed, lookup, dirname }) => {
2686
2704
  const { host, markoScriptLang } = tsProject;
2687
- return (0, import_language_tools17.extractScript)({
2705
+ return (0, import_language_tools18.extractScript)({
2688
2706
  ts: import_tsserverlibrary.default,
2689
2707
  parsed,
2690
2708
  lookup,
2691
- translator: import_language_tools17.Project.getConfig(dirname).translator,
2692
- scriptLang: filename ? import_language_tools17.Project.getScriptLang(filename, markoScriptLang, import_tsserverlibrary.default, host) : markoScriptLang,
2693
- runtimeTypesCode: import_language_tools17.Project.getTypeLibs(tsProject.rootDir, import_tsserverlibrary.default, host)?.markoTypesCode
2709
+ translator: import_language_tools18.Project.getConfig(dirname).translator,
2710
+ scriptLang: filename ? import_language_tools18.Project.getScriptLang(filename, markoScriptLang, import_tsserverlibrary.default, host) : markoScriptLang,
2711
+ runtimeTypesCode: import_language_tools18.Project.getTypeLibs(tsProject.rootDir, import_tsserverlibrary.default, host)?.markoTypesCode
2694
2712
  });
2695
2713
  });
2696
2714
  }
@@ -2701,9 +2719,9 @@ function getInsertModuleStatementOffset(parsed) {
2701
2719
  let lastImport;
2702
2720
  for (const node of program.static) {
2703
2721
  switch (node.type) {
2704
- case import_language_tools17.NodeType.Export:
2722
+ case import_language_tools18.NodeType.Export:
2705
2723
  return node.start;
2706
- case import_language_tools17.NodeType.Import:
2724
+ case import_language_tools18.NodeType.Import:
2707
2725
  lastImport = node;
2708
2726
  break;
2709
2727
  }
@@ -2743,7 +2761,7 @@ function docLocationAtTextSpan(doc, { start, length }) {
2743
2761
  function getTSConfigFile(fileName) {
2744
2762
  let configFile;
2745
2763
  const docFsDir = import_path8.default.dirname(fileName);
2746
- const cache = import_language_tools17.Project.getCache(docFsDir);
2764
+ const cache = import_language_tools18.Project.getCache(docFsDir);
2747
2765
  let configFileCache = cache.get(getTSConfigFile);
2748
2766
  if (configFileCache) {
2749
2767
  configFile = configFileCache.get(docFsDir);
@@ -2759,15 +2777,15 @@ function getTSConfigFile(fileName) {
2759
2777
  }
2760
2778
  function getTSProject(docFsPath) {
2761
2779
  let configFile;
2762
- let markoScriptLang = import_language_tools17.ScriptLang.js;
2780
+ let markoScriptLang = import_language_tools18.ScriptLang.js;
2763
2781
  if (docFsPath) {
2764
2782
  configFile = getTSConfigFile(docFsPath);
2765
2783
  if (configFile?.endsWith("tsconfig.json")) {
2766
- markoScriptLang = import_language_tools17.ScriptLang.ts;
2784
+ markoScriptLang = import_language_tools18.ScriptLang.ts;
2767
2785
  }
2768
2786
  }
2769
2787
  const basePath = configFile && import_path8.default.dirname(configFile) || process.cwd();
2770
- const cache = import_language_tools17.Project.getCache(configFile && basePath);
2788
+ const cache = import_language_tools18.Project.getCache(configFile && basePath);
2771
2789
  let projectCache = cache.get(getTSProject);
2772
2790
  let cached;
2773
2791
  if (projectCache) {
@@ -2903,7 +2921,7 @@ function filenameToURI(filename) {
2903
2921
  return import_vscode_uri6.URI.file(filename).toString();
2904
2922
  }
2905
2923
  async function getPreferences(scriptLang) {
2906
- const configName = scriptLang === import_language_tools17.ScriptLang.js ? "javascript" : "typescript";
2924
+ const configName = scriptLang === import_language_tools18.ScriptLang.js ? "javascript" : "typescript";
2907
2925
  const [preferencesConfig, suggestConfig, inlayHintsConfig] = await Promise.all([
2908
2926
  getConfig(`${configName}.preferences`),
2909
2927
  getConfig(`${configName}.suggest`),
@@ -3055,7 +3073,7 @@ function getCanonicalFileName(fileName) {
3055
3073
  }
3056
3074
 
3057
3075
  // src/service/style/index.ts
3058
- var import_language_tools18 = require("@marko/language-tools");
3076
+ var import_language_tools19 = require("@marko/language-tools");
3059
3077
  var import_vscode_css_languageservice2 = require("vscode-css-languageservice");
3060
3078
  var import_vscode_languageserver11 = require("vscode-languageserver");
3061
3079
  var import_vscode_languageserver_textdocument2 = require("vscode-languageserver-textdocument");
@@ -3355,7 +3373,7 @@ var StyleSheetService = {
3355
3373
  function processStyle(doc) {
3356
3374
  return processDoc(doc, ({ uri, version, parsed, lookup }) => {
3357
3375
  const result = [];
3358
- for (const [ext, extracted] of (0, import_language_tools18.extractStyle)({
3376
+ for (const [ext, extracted] of (0, import_language_tools19.extractStyle)({
3359
3377
  parsed,
3360
3378
  lookup
3361
3379
  })) {
@@ -3885,7 +3903,7 @@ for (const command in service.commands) {
3885
3903
  }
3886
3904
  function validateDocs() {
3887
3905
  queueDiagnostic();
3888
- import_language_tools19.Project.clearCaches();
3906
+ import_language_tools20.Project.clearCaches();
3889
3907
  }
3890
3908
  function queueDiagnostic() {
3891
3909
  clearTimeout(diagnosticTimeout);