@marko/language-server 2.1.29 → 2.1.30
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 +30 -33
- package/dist/index.js.map +3 -3
- package/dist/index.mjs +13 -16
- package/dist/index.mjs.map +3 -3
- package/package.json +8 -8
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
|
|
41
|
+
var import_language_tools19 = require("@marko/language-tools");
|
|
42
42
|
var import_util2 = require("util");
|
|
43
43
|
var import_node = require("vscode-languageserver/node");
|
|
44
44
|
|
|
@@ -1664,7 +1664,6 @@ function extractDocumentSymbols({
|
|
|
1664
1664
|
}
|
|
1665
1665
|
|
|
1666
1666
|
// src/service/marko/format.ts
|
|
1667
|
-
var import_language_tools14 = require("@marko/language-tools");
|
|
1668
1667
|
var prettier = __toESM(require("prettier"));
|
|
1669
1668
|
var markoPrettier = __toESM(require("prettier-plugin-marko"));
|
|
1670
1669
|
var import_vscode_languageserver8 = require("vscode-languageserver");
|
|
@@ -1697,7 +1696,6 @@ function display(type, data) {
|
|
|
1697
1696
|
// src/service/marko/format.ts
|
|
1698
1697
|
async function formatDocument(doc, formatOptions, cancel) {
|
|
1699
1698
|
try {
|
|
1700
|
-
const dir = getFSDir(doc);
|
|
1701
1699
|
const filepath = getFSPath(doc);
|
|
1702
1700
|
const text = doc.getText();
|
|
1703
1701
|
const options = {
|
|
@@ -1711,7 +1709,6 @@ async function formatDocument(doc, formatOptions, cancel) {
|
|
|
1711
1709
|
editorconfig: true
|
|
1712
1710
|
}).catch(() => null) : null
|
|
1713
1711
|
};
|
|
1714
|
-
markoPrettier.setCompiler(import_language_tools14.Project.getCompiler(dir), import_language_tools14.Project.getConfig(dir));
|
|
1715
1712
|
if (cancel?.isCancellationRequested) return;
|
|
1716
1713
|
return [
|
|
1717
1714
|
import_vscode_languageserver8.TextEdit.replace(
|
|
@@ -1731,7 +1728,7 @@ var format2 = async (doc, params, cancel) => {
|
|
|
1731
1728
|
};
|
|
1732
1729
|
|
|
1733
1730
|
// src/service/marko/hover/index.ts
|
|
1734
|
-
var
|
|
1731
|
+
var import_language_tools14 = require("@marko/language-tools");
|
|
1735
1732
|
|
|
1736
1733
|
// src/service/marko/hover/OpenTagName.ts
|
|
1737
1734
|
function OpenTagName3({
|
|
@@ -1764,7 +1761,7 @@ var doHover = async (doc, params) => {
|
|
|
1764
1761
|
const file = getMarkoFile(doc);
|
|
1765
1762
|
const offset = doc.offsetAt(params.position);
|
|
1766
1763
|
const node = file.parsed.nodeAt(offset);
|
|
1767
|
-
return await handlers3[
|
|
1764
|
+
return await handlers3[import_language_tools14.NodeType[node.type]]?.({
|
|
1768
1765
|
file,
|
|
1769
1766
|
params,
|
|
1770
1767
|
offset,
|
|
@@ -1774,7 +1771,7 @@ var doHover = async (doc, params) => {
|
|
|
1774
1771
|
|
|
1775
1772
|
// src/service/marko/validate.ts
|
|
1776
1773
|
var import_babel_utils = require("@marko/compiler/babel-utils");
|
|
1777
|
-
var
|
|
1774
|
+
var import_language_tools15 = require("@marko/language-tools");
|
|
1778
1775
|
var import_path6 = __toESM(require("path"));
|
|
1779
1776
|
var import_vscode_languageserver9 = require("vscode-languageserver");
|
|
1780
1777
|
var markoErrorRegExp = /^(.+?)\.marko(?:\((\d+)(?:\s*,\s*(\d+))?\))?: (.*)$/gm;
|
|
@@ -1800,7 +1797,7 @@ var doValidate = (doc) => {
|
|
|
1800
1797
|
const filename = getFSPath(doc);
|
|
1801
1798
|
const diagnostics = [];
|
|
1802
1799
|
try {
|
|
1803
|
-
const { meta } =
|
|
1800
|
+
const { meta } = import_language_tools15.Project.getCompiler(
|
|
1804
1801
|
filename && import_path6.default.dirname(filename)
|
|
1805
1802
|
).compileSync(doc.getText(), filename || "untitled.marko", compilerConfig);
|
|
1806
1803
|
if (meta.diagnostics) {
|
|
@@ -1937,7 +1934,7 @@ var marko_default = {
|
|
|
1937
1934
|
};
|
|
1938
1935
|
|
|
1939
1936
|
// src/service/script/index.ts
|
|
1940
|
-
var
|
|
1937
|
+
var import_language_tools17 = require("@marko/language-tools");
|
|
1941
1938
|
var import_path8 = __toESM(require("path"));
|
|
1942
1939
|
var prettier2 = __toESM(require("prettier"));
|
|
1943
1940
|
var import_relative_import_path = require("relative-import-path");
|
|
@@ -1946,13 +1943,13 @@ var import_vscode_languageserver10 = require("vscode-languageserver");
|
|
|
1946
1943
|
var import_vscode_uri6 = require("vscode-uri");
|
|
1947
1944
|
|
|
1948
1945
|
// src/ts-plugin/host.ts
|
|
1949
|
-
var
|
|
1946
|
+
var import_language_tools16 = require("@marko/language-tools");
|
|
1950
1947
|
var import_path7 = __toESM(require("path"));
|
|
1951
1948
|
var fsPathReg = /^(?:[./\\]|[A-Z]:)/i;
|
|
1952
1949
|
var modulePartsReg = /^((?:@(?:[^/]+)\/)?(?:[^/]+))(.*)$/;
|
|
1953
1950
|
var importTagReg3 = /^<([^>]+)>$/;
|
|
1954
1951
|
function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
|
|
1955
|
-
const processors =
|
|
1952
|
+
const processors = import_language_tools16.Processors.create({
|
|
1956
1953
|
ts: ts2,
|
|
1957
1954
|
host,
|
|
1958
1955
|
configFile
|
|
@@ -2014,7 +2011,7 @@ function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
|
|
|
2014
2011
|
host.readDirectory = (path9, extensions, exclude, include, depth) => {
|
|
2015
2012
|
return readDirectory2(
|
|
2016
2013
|
path9,
|
|
2017
|
-
extensions?.concat(
|
|
2014
|
+
extensions?.concat(import_language_tools16.Processors.extensions),
|
|
2018
2015
|
exclude,
|
|
2019
2016
|
include,
|
|
2020
2017
|
depth
|
|
@@ -2032,7 +2029,7 @@ function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
|
|
|
2032
2029
|
const tagNameMatch = importTagReg3.exec(moduleName);
|
|
2033
2030
|
if (tagNameMatch) {
|
|
2034
2031
|
const [, tagName] = tagNameMatch;
|
|
2035
|
-
const tagDef =
|
|
2032
|
+
const tagDef = import_language_tools16.Project.getTagLookup(
|
|
2036
2033
|
import_path7.default.dirname(containingFile)
|
|
2037
2034
|
).getTag(tagName);
|
|
2038
2035
|
const tagFileName = tagDef && (tagDef.template || tagDef.renderer);
|
|
@@ -2072,12 +2069,12 @@ function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
|
|
|
2072
2069
|
}
|
|
2073
2070
|
}
|
|
2074
2071
|
if (resolvedFileName) {
|
|
2075
|
-
if ((0,
|
|
2072
|
+
if ((0, import_language_tools16.isDefinitionFile)(resolvedFileName)) {
|
|
2076
2073
|
if (!host.fileExists(resolvedFileName)) {
|
|
2077
2074
|
resolvedFileName = void 0;
|
|
2078
2075
|
}
|
|
2079
2076
|
} else {
|
|
2080
|
-
const ext = (0,
|
|
2077
|
+
const ext = (0, import_language_tools16.getExt)(resolvedFileName);
|
|
2081
2078
|
const definitionFile = `${resolvedFileName.slice(
|
|
2082
2079
|
0,
|
|
2083
2080
|
-ext.length
|
|
@@ -2125,7 +2122,7 @@ function patch(ts2, configFile, extractCache3, resolutionCache, host, ps) {
|
|
|
2125
2122
|
}
|
|
2126
2123
|
return host;
|
|
2127
2124
|
function getProcessor(fileName) {
|
|
2128
|
-
const ext = (0,
|
|
2125
|
+
const ext = (0, import_language_tools16.getExt)(fileName);
|
|
2129
2126
|
return ext ? processors[ext] : void 0;
|
|
2130
2127
|
}
|
|
2131
2128
|
}
|
|
@@ -2361,7 +2358,7 @@ var ScriptService = {
|
|
|
2361
2358
|
if (!filename) return;
|
|
2362
2359
|
const tsProject = getTSProject(filename);
|
|
2363
2360
|
const extracted = processScript(doc, tsProject);
|
|
2364
|
-
const lang =
|
|
2361
|
+
const lang = import_language_tools17.Project.getScriptLang(
|
|
2365
2362
|
filename,
|
|
2366
2363
|
tsProject.markoScriptLang,
|
|
2367
2364
|
import_tsserverlibrary.default,
|
|
@@ -2369,10 +2366,10 @@ var ScriptService = {
|
|
|
2369
2366
|
);
|
|
2370
2367
|
const generated = extracted.toString();
|
|
2371
2368
|
const content = await prettier2.format(generated, {
|
|
2372
|
-
parser: lang ===
|
|
2369
|
+
parser: lang === import_language_tools17.ScriptLang.ts ? "typescript" : "babel"
|
|
2373
2370
|
}).catch(() => generated);
|
|
2374
2371
|
return {
|
|
2375
|
-
language: lang ===
|
|
2372
|
+
language: lang === import_language_tools17.ScriptLang.ts ? "typescript" : "javascript",
|
|
2376
2373
|
content
|
|
2377
2374
|
};
|
|
2378
2375
|
}
|
|
@@ -2711,13 +2708,13 @@ ${documentation}`;
|
|
|
2711
2708
|
function processScript(doc, tsProject) {
|
|
2712
2709
|
return processDoc(doc, ({ filename, parsed, lookup, dirname }) => {
|
|
2713
2710
|
const { host, markoScriptLang } = tsProject;
|
|
2714
|
-
return (0,
|
|
2711
|
+
return (0, import_language_tools17.extractScript)({
|
|
2715
2712
|
ts: import_tsserverlibrary.default,
|
|
2716
2713
|
parsed,
|
|
2717
2714
|
lookup,
|
|
2718
|
-
translator:
|
|
2719
|
-
scriptLang: filename ?
|
|
2720
|
-
runtimeTypesCode:
|
|
2715
|
+
translator: import_language_tools17.Project.getConfig(dirname).translator,
|
|
2716
|
+
scriptLang: filename ? import_language_tools17.Project.getScriptLang(filename, markoScriptLang, import_tsserverlibrary.default, host) : markoScriptLang,
|
|
2717
|
+
runtimeTypesCode: import_language_tools17.Project.getTypeLibs(tsProject.rootDir, import_tsserverlibrary.default, host)?.markoTypesCode
|
|
2721
2718
|
});
|
|
2722
2719
|
});
|
|
2723
2720
|
}
|
|
@@ -2728,9 +2725,9 @@ function getInsertModuleStatementOffset(parsed) {
|
|
|
2728
2725
|
let lastImport;
|
|
2729
2726
|
for (const node of program.static) {
|
|
2730
2727
|
switch (node.type) {
|
|
2731
|
-
case
|
|
2728
|
+
case import_language_tools17.NodeType.Export:
|
|
2732
2729
|
return node.start;
|
|
2733
|
-
case
|
|
2730
|
+
case import_language_tools17.NodeType.Import:
|
|
2734
2731
|
lastImport = node;
|
|
2735
2732
|
break;
|
|
2736
2733
|
}
|
|
@@ -2770,7 +2767,7 @@ function docLocationAtTextSpan(doc, { start, length }) {
|
|
|
2770
2767
|
function getTSConfigFile(fileName) {
|
|
2771
2768
|
let configFile;
|
|
2772
2769
|
const docFsDir = import_path8.default.dirname(fileName);
|
|
2773
|
-
const cache =
|
|
2770
|
+
const cache = import_language_tools17.Project.getCache(docFsDir);
|
|
2774
2771
|
let configFileCache = cache.get(getTSConfigFile);
|
|
2775
2772
|
if (configFileCache) {
|
|
2776
2773
|
configFile = configFileCache.get(docFsDir);
|
|
@@ -2786,15 +2783,15 @@ function getTSConfigFile(fileName) {
|
|
|
2786
2783
|
}
|
|
2787
2784
|
function getTSProject(docFsPath) {
|
|
2788
2785
|
let configFile;
|
|
2789
|
-
let markoScriptLang =
|
|
2786
|
+
let markoScriptLang = import_language_tools17.ScriptLang.js;
|
|
2790
2787
|
if (docFsPath) {
|
|
2791
2788
|
configFile = getTSConfigFile(docFsPath);
|
|
2792
2789
|
if (configFile?.endsWith("tsconfig.json")) {
|
|
2793
|
-
markoScriptLang =
|
|
2790
|
+
markoScriptLang = import_language_tools17.ScriptLang.ts;
|
|
2794
2791
|
}
|
|
2795
2792
|
}
|
|
2796
2793
|
const basePath = configFile && import_path8.default.dirname(configFile) || process.cwd();
|
|
2797
|
-
const cache =
|
|
2794
|
+
const cache = import_language_tools17.Project.getCache(configFile && basePath);
|
|
2798
2795
|
let projectCache = cache.get(getTSProject);
|
|
2799
2796
|
let cached;
|
|
2800
2797
|
if (projectCache) {
|
|
@@ -2930,7 +2927,7 @@ function filenameToURI(filename) {
|
|
|
2930
2927
|
return import_vscode_uri6.URI.file(filename).toString();
|
|
2931
2928
|
}
|
|
2932
2929
|
async function getPreferences(scriptLang) {
|
|
2933
|
-
const configName = scriptLang ===
|
|
2930
|
+
const configName = scriptLang === import_language_tools17.ScriptLang.js ? "javascript" : "typescript";
|
|
2934
2931
|
const [preferencesConfig, suggestConfig, inlayHintsConfig] = await Promise.all([
|
|
2935
2932
|
getConfig(`${configName}.preferences`),
|
|
2936
2933
|
getConfig(`${configName}.suggest`),
|
|
@@ -3079,7 +3076,7 @@ function getTSTriggerChar(char) {
|
|
|
3079
3076
|
}
|
|
3080
3077
|
|
|
3081
3078
|
// src/service/style/index.ts
|
|
3082
|
-
var
|
|
3079
|
+
var import_language_tools18 = require("@marko/language-tools");
|
|
3083
3080
|
var import_vscode_css_languageservice2 = require("vscode-css-languageservice");
|
|
3084
3081
|
var import_vscode_languageserver11 = require("vscode-languageserver");
|
|
3085
3082
|
var import_vscode_languageserver_textdocument2 = require("vscode-languageserver-textdocument");
|
|
@@ -3379,7 +3376,7 @@ var StyleSheetService = {
|
|
|
3379
3376
|
function processStyle(doc) {
|
|
3380
3377
|
return processDoc(doc, ({ uri, version, parsed, lookup }) => {
|
|
3381
3378
|
const result = [];
|
|
3382
|
-
for (const [ext, extracted] of (0,
|
|
3379
|
+
for (const [ext, extracted] of (0, import_language_tools18.extractStyle)({
|
|
3383
3380
|
parsed,
|
|
3384
3381
|
lookup
|
|
3385
3382
|
})) {
|
|
@@ -3909,7 +3906,7 @@ for (const command in service.commands) {
|
|
|
3909
3906
|
}
|
|
3910
3907
|
function validateDocs() {
|
|
3911
3908
|
queueDiagnostic();
|
|
3912
|
-
|
|
3909
|
+
import_language_tools19.Project.clearCaches();
|
|
3913
3910
|
}
|
|
3914
3911
|
function queueDiagnostic() {
|
|
3915
3912
|
clearTimeout(diagnosticTimeout);
|