@marko/language-server 2.0.2 → 2.1.0

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
@@ -1187,6 +1187,13 @@ var import_vscode_languageserver5 = require("vscode-languageserver");
1187
1187
  var import_path4 = __toESM(require("path"));
1188
1188
  var import_vscode_languageserver4 = require("vscode-languageserver");
1189
1189
  var import_vscode_uri3 = require("vscode-uri");
1190
+
1191
+ // src/service/marko/util/is-html.ts
1192
+ function isHTML(tag) {
1193
+ return tag ? !(tag.types || tag.template || tag.renderer) && tag.html : false;
1194
+ }
1195
+
1196
+ // src/service/marko/util/get-tag-name-completion.ts
1190
1197
  var deprecated = [import_vscode_languageserver4.CompletionItemTag.Deprecated];
1191
1198
  function getTagNameCompletion({
1192
1199
  tag,
@@ -1202,9 +1209,10 @@ function getTagNameCompletion({
1202
1209
  );
1203
1210
  const nodeModuleName = nodeModuleMatch && nodeModuleMatch[1];
1204
1211
  const isCoreTag = /^@?marko[/-]/.test(tag.taglibId || tag.filePath) || nodeModuleName === "marko";
1212
+ const html = isHTML(tag);
1205
1213
  const documentation = {
1206
1214
  kind: import_vscode_languageserver4.MarkupKind.Markdown,
1207
- value: tag.html ? `Built in [<${tag.name}>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/${tag.name}) HTML tag.` : isCoreTag ? `Core Marko <${tag.name}> tag.` : nodeModuleName ? `Custom Marko tag discovered from the ["${nodeModuleName}"](${fileURIForTag}) npm package.` : `Custom Marko tag discovered from:
1215
+ value: html ? `Built in [<${tag.name}>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/${tag.name}) HTML tag.` : isCoreTag ? `Core Marko <${tag.name}> tag.` : nodeModuleName ? `Custom Marko tag discovered from the ["${nodeModuleName}"](${fileURIForTag}) npm package.` : `Custom Marko tag discovered from:
1208
1216
 
1209
1217
  [${importer ? import_path4.default.relative(importer, fileForTag) : fileForTag}](${fileURIForTag})`
1210
1218
  };
@@ -1234,7 +1242,7 @@ ${autocomplete.description}`;
1234
1242
  documentation,
1235
1243
  tags: tag.deprecated ? deprecated : void 0,
1236
1244
  insertTextFormat: autocomplete ? import_vscode_languageserver4.InsertTextFormat.Snippet : void 0,
1237
- kind: tag.html ? import_vscode_languageserver4.CompletionItemKind.Property : import_vscode_languageserver4.CompletionItemKind.Class,
1245
+ kind: html ? import_vscode_languageserver4.CompletionItemKind.Property : import_vscode_languageserver4.CompletionItemKind.Class,
1238
1246
  textEdit: range && import_vscode_languageserver4.TextEdit.replace(range, autocomplete?.snippet || label)
1239
1247
  };
1240
1248
  }
@@ -1635,7 +1643,7 @@ function extractDocumentSymbols({
1635
1643
  case import_language_tools13.NodeType.AttrTag:
1636
1644
  symbols.push({
1637
1645
  name: (node.type === import_language_tools13.NodeType.AttrTag ? node.nameText?.slice(node.nameText.indexOf("@")) : node.nameText) || "<${...}>",
1638
- kind: node.nameText && lookup.getTag(node.nameText)?.html && import_vscode_languageserver7.SymbolKind.Property || import_vscode_languageserver7.SymbolKind.Class,
1646
+ kind: node.nameText && isHTML(lookup.getTag(node.nameText)) && import_vscode_languageserver7.SymbolKind.Property || import_vscode_languageserver7.SymbolKind.Class,
1639
1647
  location: {
1640
1648
  uri,
1641
1649
  range: parsed.locationAt(node)
@@ -1765,7 +1773,7 @@ var doHover = async (doc, params) => {
1765
1773
  };
1766
1774
 
1767
1775
  // src/service/marko/validate.ts
1768
- var import_babel_utils = require("@marko/babel-utils");
1776
+ var import_babel_utils = require("@marko/compiler/babel-utils");
1769
1777
  var import_language_tools16 = require("@marko/language-tools");
1770
1778
  var import_path6 = __toESM(require("path"));
1771
1779
  var import_vscode_languageserver9 = require("vscode-languageserver");
@@ -2314,6 +2322,7 @@ var optionalModifierReg = /\boptional\b/;
2314
2322
  var deprecatedModifierReg = /\bdeprecated\b/;
2315
2323
  var colorModifierReg = /\bcolor\b/;
2316
2324
  var localInternalsPrefix = "__marko_internal_";
2325
+ var getCanonicalFileName = import_tsserverlibrary.default.sys.useCaseSensitiveFileNames ? (fileName) => fileName : (fileName) => fileName.toLocaleLowerCase();
2317
2326
  var requiredTSCompilerOptions = {
2318
2327
  module: import_tsserverlibrary.default.ModuleKind.ESNext,
2319
2328
  moduleResolution: import_tsserverlibrary.default.ModuleResolutionKind.Bundler,
@@ -3068,9 +3077,6 @@ function getTSTriggerChar(char) {
3068
3077
  if (char && tsTriggerChars.has(char))
3069
3078
  return char;
3070
3079
  }
3071
- function getCanonicalFileName(fileName) {
3072
- return import_tsserverlibrary.default.sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase();
3073
- }
3074
3080
 
3075
3081
  // src/service/style/index.ts
3076
3082
  var import_language_tools19 = require("@marko/language-tools");