@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 +13 -7
- package/dist/index.js.map +3 -3
- package/dist/index.mjs +13 -7
- 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");
|
|
@@ -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");
|