@marko/language-server 2.0.2 → 2.0.3
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 +12 -4
- package/dist/index.js.map +3 -3
- package/dist/index.mjs +12 -4
- package/dist/index.mjs.map +4 -4
- package/dist/service/marko/util/get-tag-name-completion.d.ts +1 -1
- package/dist/service/marko/util/is-html.d.ts +2 -0
- package/dist/utils/file.d.ts +1 -1
- package/package.json +2 -3
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:
|
|
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:
|
|
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)
|
|
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");
|