@angular/language-server 22.0.0-next.2 → 22.0.0-next.4
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/index.js +389 -58
- package/package.json +2 -2
package/index.js
CHANGED
|
@@ -9908,9 +9908,19 @@ var require_api_bundle = __commonJS({
|
|
|
9908
9908
|
var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
|
|
9909
9909
|
var api_exports = {};
|
|
9910
9910
|
__export2(api_exports, {
|
|
9911
|
+
AngularSymbolKind: () => AngularSymbolKind,
|
|
9911
9912
|
isNgLanguageService: () => isNgLanguageService
|
|
9912
9913
|
});
|
|
9913
9914
|
module2.exports = __toCommonJS2(api_exports);
|
|
9915
|
+
var AngularSymbolKind = ((AngularSymbolKind2) => {
|
|
9916
|
+
AngularSymbolKind2[AngularSymbolKind2["Namespace"] = 3] = "Namespace";
|
|
9917
|
+
AngularSymbolKind2[AngularSymbolKind2["Class"] = 5] = "Class";
|
|
9918
|
+
AngularSymbolKind2[AngularSymbolKind2["Array"] = 18] = "Array";
|
|
9919
|
+
AngularSymbolKind2[AngularSymbolKind2["Object"] = 19] = "Object";
|
|
9920
|
+
AngularSymbolKind2[AngularSymbolKind2["Struct"] = 23] = "Struct";
|
|
9921
|
+
AngularSymbolKind2[AngularSymbolKind2["Event"] = 24] = "Event";
|
|
9922
|
+
return AngularSymbolKind2;
|
|
9923
|
+
})(AngularSymbolKind || {});
|
|
9914
9924
|
function isNgLanguageService(ls) {
|
|
9915
9925
|
return "getTcb" in ls;
|
|
9916
9926
|
}
|
|
@@ -9990,6 +10000,63 @@ var require_requests = __commonJS({
|
|
|
9990
10000
|
}
|
|
9991
10001
|
});
|
|
9992
10002
|
|
|
10003
|
+
// vscode-ng-language-service/server/src/config.js
|
|
10004
|
+
var require_config = __commonJS({
|
|
10005
|
+
"vscode-ng-language-service/server/src/config.js"(exports2) {
|
|
10006
|
+
"use strict";
|
|
10007
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
10008
|
+
exports2.getWorkspaceConfiguration = getWorkspaceConfiguration;
|
|
10009
|
+
exports2.getWorkspaceConfigurationCached = getWorkspaceConfigurationCached;
|
|
10010
|
+
exports2.clearWorkspaceConfigurationCache = clearWorkspaceConfigurationCache;
|
|
10011
|
+
exports2.flattenConfiguration = flattenConfiguration;
|
|
10012
|
+
var workspaceConfigCache = /* @__PURE__ */ new WeakMap();
|
|
10013
|
+
function getWorkspaceConfiguration(connection, items) {
|
|
10014
|
+
return __async(this, null, function* () {
|
|
10015
|
+
try {
|
|
10016
|
+
return yield connection.workspace.getConfiguration(items);
|
|
10017
|
+
} catch (error) {
|
|
10018
|
+
return items.map(() => ({}));
|
|
10019
|
+
}
|
|
10020
|
+
});
|
|
10021
|
+
}
|
|
10022
|
+
function getWorkspaceConfigurationCached(connection, items) {
|
|
10023
|
+
return __async(this, null, function* () {
|
|
10024
|
+
const key = JSON.stringify(items);
|
|
10025
|
+
let cache = workspaceConfigCache.get(connection);
|
|
10026
|
+
if (!cache) {
|
|
10027
|
+
cache = /* @__PURE__ */ new Map();
|
|
10028
|
+
workspaceConfigCache.set(connection, cache);
|
|
10029
|
+
}
|
|
10030
|
+
const cached = cache.get(key);
|
|
10031
|
+
if (cached !== void 0) {
|
|
10032
|
+
return cached;
|
|
10033
|
+
}
|
|
10034
|
+
const value = yield getWorkspaceConfiguration(connection, items);
|
|
10035
|
+
cache.set(key, value);
|
|
10036
|
+
return value;
|
|
10037
|
+
});
|
|
10038
|
+
}
|
|
10039
|
+
function clearWorkspaceConfigurationCache(connection) {
|
|
10040
|
+
workspaceConfigCache.delete(connection);
|
|
10041
|
+
}
|
|
10042
|
+
function flattenConfiguration(config, prefix) {
|
|
10043
|
+
const result = {};
|
|
10044
|
+
function flatten(obj, currentPrefix) {
|
|
10045
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
10046
|
+
const newKey = `${currentPrefix}.${key}`;
|
|
10047
|
+
if (value !== null && typeof value === "object" && !Array.isArray(value)) {
|
|
10048
|
+
flatten(value, newKey);
|
|
10049
|
+
} else {
|
|
10050
|
+
result[newKey] = value;
|
|
10051
|
+
}
|
|
10052
|
+
}
|
|
10053
|
+
}
|
|
10054
|
+
flatten(config, prefix);
|
|
10055
|
+
return result;
|
|
10056
|
+
}
|
|
10057
|
+
}
|
|
10058
|
+
});
|
|
10059
|
+
|
|
9993
10060
|
// node_modules/.aspect_rules_js/vscode-uri@3.1.0/node_modules/vscode-uri/lib/umd/index.js
|
|
9994
10061
|
var require_umd = __commonJS({
|
|
9995
10062
|
"node_modules/.aspect_rules_js/vscode-uri@3.1.0/node_modules/vscode-uri/lib/umd/index.js"(exports2, module2) {
|
|
@@ -307868,6 +307935,7 @@ var require_initialization = __commonJS({
|
|
|
307868
307935
|
return {
|
|
307869
307936
|
capabilities: {
|
|
307870
307937
|
foldingRangeProvider: true,
|
|
307938
|
+
documentSymbolProvider: true,
|
|
307871
307939
|
codeLensProvider: { resolveProvider: true },
|
|
307872
307940
|
textDocumentSync: lsp.TextDocumentSyncKind.Incremental,
|
|
307873
307941
|
completionProvider: {
|
|
@@ -307940,6 +308008,322 @@ var require_linked_editing_range = __commonJS({
|
|
|
307940
308008
|
}
|
|
307941
308009
|
});
|
|
307942
308010
|
|
|
308011
|
+
// vscode-ng-language-service/server/src/handlers/document_symbols.js
|
|
308012
|
+
var require_document_symbols = __commonJS({
|
|
308013
|
+
"vscode-ng-language-service/server/src/handlers/document_symbols.js"(exports2) {
|
|
308014
|
+
"use strict";
|
|
308015
|
+
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
308016
|
+
if (k2 === void 0)
|
|
308017
|
+
k2 = k;
|
|
308018
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
308019
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
308020
|
+
desc = { enumerable: true, get: function() {
|
|
308021
|
+
return m[k];
|
|
308022
|
+
} };
|
|
308023
|
+
}
|
|
308024
|
+
Object.defineProperty(o, k2, desc);
|
|
308025
|
+
} : function(o, m, k, k2) {
|
|
308026
|
+
if (k2 === void 0)
|
|
308027
|
+
k2 = k;
|
|
308028
|
+
o[k2] = m[k];
|
|
308029
|
+
});
|
|
308030
|
+
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
|
|
308031
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
308032
|
+
} : function(o, v) {
|
|
308033
|
+
o["default"] = v;
|
|
308034
|
+
});
|
|
308035
|
+
var __importStar = exports2 && exports2.__importStar || /* @__PURE__ */ function() {
|
|
308036
|
+
var ownKeys = function(o) {
|
|
308037
|
+
ownKeys = Object.getOwnPropertyNames || function(o2) {
|
|
308038
|
+
var ar = [];
|
|
308039
|
+
for (var k in o2)
|
|
308040
|
+
if (Object.prototype.hasOwnProperty.call(o2, k))
|
|
308041
|
+
ar[ar.length] = k;
|
|
308042
|
+
return ar;
|
|
308043
|
+
};
|
|
308044
|
+
return ownKeys(o);
|
|
308045
|
+
};
|
|
308046
|
+
return function(mod) {
|
|
308047
|
+
if (mod && mod.__esModule)
|
|
308048
|
+
return mod;
|
|
308049
|
+
var result = {};
|
|
308050
|
+
if (mod != null) {
|
|
308051
|
+
for (var k = ownKeys(mod), i = 0; i < k.length; i++)
|
|
308052
|
+
if (k[i] !== "default")
|
|
308053
|
+
__createBinding(result, mod, k[i]);
|
|
308054
|
+
}
|
|
308055
|
+
__setModuleDefault(result, mod);
|
|
308056
|
+
return result;
|
|
308057
|
+
};
|
|
308058
|
+
}();
|
|
308059
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
308060
|
+
exports2.onDocumentSymbol = onDocumentSymbol;
|
|
308061
|
+
var lsp = __importStar(require_main4());
|
|
308062
|
+
var ts = __importStar(require("typescript/lib/tsserverlibrary"));
|
|
308063
|
+
var api_1 = require_api_bundle();
|
|
308064
|
+
var config_1 = require_config();
|
|
308065
|
+
var utils_1 = require_utils();
|
|
308066
|
+
function onDocumentSymbol(session, params) {
|
|
308067
|
+
return __async(this, null, function* () {
|
|
308068
|
+
var _a3, _b;
|
|
308069
|
+
const lsInfo = session.getLSAndScriptInfo(params.textDocument);
|
|
308070
|
+
if (lsInfo === null) {
|
|
308071
|
+
return null;
|
|
308072
|
+
}
|
|
308073
|
+
const { scriptInfo, languageService } = lsInfo;
|
|
308074
|
+
const isHtmlFile = params.textDocument.uri.endsWith(".html");
|
|
308075
|
+
const [config] = yield (0, config_1.getWorkspaceConfiguration)(session.connection, [
|
|
308076
|
+
{ scopeUri: params.textDocument.uri, section: "angular.documentSymbols" }
|
|
308077
|
+
]);
|
|
308078
|
+
const isEnabled = (config === null || config === void 0 ? void 0 : config.enabled) !== false;
|
|
308079
|
+
if (!isEnabled) {
|
|
308080
|
+
return null;
|
|
308081
|
+
}
|
|
308082
|
+
if (isHtmlFile) {
|
|
308083
|
+
if (isEnabled && (0, api_1.isNgLanguageService)(languageService)) {
|
|
308084
|
+
const templateSymbols2 = languageService.getTemplateDocumentSymbols(scriptInfo.fileName, {
|
|
308085
|
+
showImplicitForVariables: (_a3 = config === null || config === void 0 ? void 0 : config.showImplicitForVariables) !== null && _a3 !== void 0 ? _a3 : false
|
|
308086
|
+
});
|
|
308087
|
+
if (templateSymbols2.length > 0) {
|
|
308088
|
+
return convertTemplateSymbols(templateSymbols2, scriptInfo);
|
|
308089
|
+
}
|
|
308090
|
+
}
|
|
308091
|
+
return null;
|
|
308092
|
+
}
|
|
308093
|
+
let templateSymbols = [];
|
|
308094
|
+
if ((0, api_1.isNgLanguageService)(languageService)) {
|
|
308095
|
+
templateSymbols = languageService.getTemplateDocumentSymbols(scriptInfo.fileName, {
|
|
308096
|
+
showImplicitForVariables: (_b = config === null || config === void 0 ? void 0 : config.showImplicitForVariables) !== null && _b !== void 0 ? _b : false
|
|
308097
|
+
});
|
|
308098
|
+
}
|
|
308099
|
+
const navigationTree = languageService.getNavigationTree(scriptInfo.fileName);
|
|
308100
|
+
if (!navigationTree) {
|
|
308101
|
+
return null;
|
|
308102
|
+
}
|
|
308103
|
+
const classNamesWithTemplates = /* @__PURE__ */ new Set();
|
|
308104
|
+
for (const symbol of templateSymbols) {
|
|
308105
|
+
if (symbol.className) {
|
|
308106
|
+
classNamesWithTemplates.add(symbol.className);
|
|
308107
|
+
}
|
|
308108
|
+
}
|
|
308109
|
+
const tsSymbols = filterNavigationTreeToTemplateClasses(navigationTree, scriptInfo, classNamesWithTemplates);
|
|
308110
|
+
if (templateSymbols.length > 0) {
|
|
308111
|
+
mergeTemplateSymbolsIntoClass(tsSymbols, templateSymbols, scriptInfo);
|
|
308112
|
+
}
|
|
308113
|
+
return tsSymbols;
|
|
308114
|
+
});
|
|
308115
|
+
}
|
|
308116
|
+
function mergeTemplateSymbolsIntoClass(tsSymbols, templateSymbols, scriptInfo) {
|
|
308117
|
+
var _a3;
|
|
308118
|
+
if (templateSymbols.length === 0) {
|
|
308119
|
+
return;
|
|
308120
|
+
}
|
|
308121
|
+
const symbolsByClass = /* @__PURE__ */ new Map();
|
|
308122
|
+
const symbolsWithoutClass = [];
|
|
308123
|
+
for (const symbol of templateSymbols) {
|
|
308124
|
+
if (symbol.className) {
|
|
308125
|
+
const existing = (_a3 = symbolsByClass.get(symbol.className)) !== null && _a3 !== void 0 ? _a3 : [];
|
|
308126
|
+
existing.push(symbol);
|
|
308127
|
+
symbolsByClass.set(symbol.className, existing);
|
|
308128
|
+
} else {
|
|
308129
|
+
symbolsWithoutClass.push(symbol);
|
|
308130
|
+
}
|
|
308131
|
+
}
|
|
308132
|
+
for (const tsSymbol of tsSymbols) {
|
|
308133
|
+
if (tsSymbol.kind === lsp.SymbolKind.Class) {
|
|
308134
|
+
const classTemplateSymbols = symbolsByClass.get(tsSymbol.name);
|
|
308135
|
+
if (classTemplateSymbols && classTemplateSymbols.length > 0) {
|
|
308136
|
+
const converted = convertTemplateSymbols(classTemplateSymbols, scriptInfo);
|
|
308137
|
+
addTemplateSymbolsToClass(tsSymbol, converted);
|
|
308138
|
+
symbolsByClass.delete(tsSymbol.name);
|
|
308139
|
+
}
|
|
308140
|
+
}
|
|
308141
|
+
}
|
|
308142
|
+
if (symbolsWithoutClass.length > 0) {
|
|
308143
|
+
const converted = convertTemplateSymbols(symbolsWithoutClass, scriptInfo);
|
|
308144
|
+
for (const tsSymbol of tsSymbols) {
|
|
308145
|
+
if (tsSymbol.kind === lsp.SymbolKind.Class) {
|
|
308146
|
+
addTemplateSymbolsToClass(tsSymbol, converted);
|
|
308147
|
+
break;
|
|
308148
|
+
}
|
|
308149
|
+
}
|
|
308150
|
+
}
|
|
308151
|
+
}
|
|
308152
|
+
function addTemplateSymbolsToClass(classSymbol, templateSymbols) {
|
|
308153
|
+
if (!classSymbol.children) {
|
|
308154
|
+
classSymbol.children = [];
|
|
308155
|
+
}
|
|
308156
|
+
const templateContainer = {
|
|
308157
|
+
name: "(template)",
|
|
308158
|
+
kind: lsp.SymbolKind.Namespace,
|
|
308159
|
+
range: templateSymbols[0].range,
|
|
308160
|
+
selectionRange: templateSymbols[0].selectionRange,
|
|
308161
|
+
children: templateSymbols
|
|
308162
|
+
};
|
|
308163
|
+
classSymbol.children.push(templateContainer);
|
|
308164
|
+
}
|
|
308165
|
+
function filterNavigationTreeToTemplateClasses(tree, scriptInfo, classNamesWithTemplates) {
|
|
308166
|
+
const result = [];
|
|
308167
|
+
if (classNamesWithTemplates.size === 0) {
|
|
308168
|
+
return result;
|
|
308169
|
+
}
|
|
308170
|
+
if (tree.kind === ts.ScriptElementKind.moduleElement && tree.childItems) {
|
|
308171
|
+
for (const child of tree.childItems) {
|
|
308172
|
+
const filtered = filterNavigationItem(child, scriptInfo, classNamesWithTemplates);
|
|
308173
|
+
if (filtered) {
|
|
308174
|
+
result.push(filtered);
|
|
308175
|
+
}
|
|
308176
|
+
}
|
|
308177
|
+
} else {
|
|
308178
|
+
const filtered = filterNavigationItem(tree, scriptInfo, classNamesWithTemplates);
|
|
308179
|
+
if (filtered) {
|
|
308180
|
+
result.push(filtered);
|
|
308181
|
+
}
|
|
308182
|
+
}
|
|
308183
|
+
return result;
|
|
308184
|
+
}
|
|
308185
|
+
function filterNavigationItem(item, scriptInfo, classNamesWithTemplates) {
|
|
308186
|
+
if ((item.kind === ts.ScriptElementKind.classElement || item.kind === ts.ScriptElementKind.localClassElement) && item.text && classNamesWithTemplates.has(item.text)) {
|
|
308187
|
+
const spans = item.spans;
|
|
308188
|
+
if (!spans || spans.length === 0) {
|
|
308189
|
+
return null;
|
|
308190
|
+
}
|
|
308191
|
+
const range = (0, utils_1.tsTextSpanToLspRange)(scriptInfo, spans[0]);
|
|
308192
|
+
const selectionRange = item.nameSpan !== void 0 ? (0, utils_1.tsTextSpanToLspRange)(scriptInfo, item.nameSpan) : range;
|
|
308193
|
+
return {
|
|
308194
|
+
name: item.text,
|
|
308195
|
+
kind: lsp.SymbolKind.Class,
|
|
308196
|
+
range,
|
|
308197
|
+
selectionRange
|
|
308198
|
+
// No children - template symbols will be added later
|
|
308199
|
+
};
|
|
308200
|
+
}
|
|
308201
|
+
if (item.kind === ts.ScriptElementKind.moduleElement || item.kind === ts.ScriptElementKind.directory) {
|
|
308202
|
+
if (item.childItems && item.childItems.length > 0) {
|
|
308203
|
+
const filteredChildren = [];
|
|
308204
|
+
for (const child of item.childItems) {
|
|
308205
|
+
const filtered = filterNavigationItem(child, scriptInfo, classNamesWithTemplates);
|
|
308206
|
+
if (filtered) {
|
|
308207
|
+
filteredChildren.push(filtered);
|
|
308208
|
+
}
|
|
308209
|
+
}
|
|
308210
|
+
if (filteredChildren.length > 0) {
|
|
308211
|
+
const spans = item.spans;
|
|
308212
|
+
if (!spans || spans.length === 0) {
|
|
308213
|
+
const childRange = filteredChildren[0].range;
|
|
308214
|
+
return {
|
|
308215
|
+
name: item.text || "",
|
|
308216
|
+
kind: scriptElementKindToSymbolKind(item.kind),
|
|
308217
|
+
range: childRange,
|
|
308218
|
+
selectionRange: childRange,
|
|
308219
|
+
children: filteredChildren
|
|
308220
|
+
};
|
|
308221
|
+
}
|
|
308222
|
+
const range = (0, utils_1.tsTextSpanToLspRange)(scriptInfo, spans[0]);
|
|
308223
|
+
const selectionRange = item.nameSpan !== void 0 ? (0, utils_1.tsTextSpanToLspRange)(scriptInfo, item.nameSpan) : range;
|
|
308224
|
+
return {
|
|
308225
|
+
name: item.text || "",
|
|
308226
|
+
kind: scriptElementKindToSymbolKind(item.kind),
|
|
308227
|
+
range,
|
|
308228
|
+
selectionRange,
|
|
308229
|
+
children: filteredChildren
|
|
308230
|
+
};
|
|
308231
|
+
}
|
|
308232
|
+
}
|
|
308233
|
+
}
|
|
308234
|
+
return null;
|
|
308235
|
+
}
|
|
308236
|
+
function scriptElementKindToSymbolKind(kind) {
|
|
308237
|
+
switch (kind) {
|
|
308238
|
+
case ts.ScriptElementKind.moduleElement:
|
|
308239
|
+
return lsp.SymbolKind.Module;
|
|
308240
|
+
case ts.ScriptElementKind.classElement:
|
|
308241
|
+
return lsp.SymbolKind.Class;
|
|
308242
|
+
case ts.ScriptElementKind.localClassElement:
|
|
308243
|
+
return lsp.SymbolKind.Class;
|
|
308244
|
+
case ts.ScriptElementKind.interfaceElement:
|
|
308245
|
+
return lsp.SymbolKind.Interface;
|
|
308246
|
+
case ts.ScriptElementKind.typeElement:
|
|
308247
|
+
return lsp.SymbolKind.TypeParameter;
|
|
308248
|
+
case ts.ScriptElementKind.enumElement:
|
|
308249
|
+
return lsp.SymbolKind.Enum;
|
|
308250
|
+
case ts.ScriptElementKind.enumMemberElement:
|
|
308251
|
+
return lsp.SymbolKind.EnumMember;
|
|
308252
|
+
case ts.ScriptElementKind.variableElement:
|
|
308253
|
+
return lsp.SymbolKind.Variable;
|
|
308254
|
+
case ts.ScriptElementKind.localVariableElement:
|
|
308255
|
+
return lsp.SymbolKind.Variable;
|
|
308256
|
+
case ts.ScriptElementKind.functionElement:
|
|
308257
|
+
return lsp.SymbolKind.Function;
|
|
308258
|
+
case ts.ScriptElementKind.localFunctionElement:
|
|
308259
|
+
return lsp.SymbolKind.Function;
|
|
308260
|
+
case ts.ScriptElementKind.memberFunctionElement:
|
|
308261
|
+
return lsp.SymbolKind.Method;
|
|
308262
|
+
case ts.ScriptElementKind.memberGetAccessorElement:
|
|
308263
|
+
return lsp.SymbolKind.Property;
|
|
308264
|
+
case ts.ScriptElementKind.memberSetAccessorElement:
|
|
308265
|
+
return lsp.SymbolKind.Property;
|
|
308266
|
+
case ts.ScriptElementKind.memberVariableElement:
|
|
308267
|
+
return lsp.SymbolKind.Field;
|
|
308268
|
+
case ts.ScriptElementKind.constructorImplementationElement:
|
|
308269
|
+
return lsp.SymbolKind.Constructor;
|
|
308270
|
+
case ts.ScriptElementKind.callSignatureElement:
|
|
308271
|
+
return lsp.SymbolKind.Function;
|
|
308272
|
+
case ts.ScriptElementKind.indexSignatureElement:
|
|
308273
|
+
return lsp.SymbolKind.Key;
|
|
308274
|
+
case ts.ScriptElementKind.constructSignatureElement:
|
|
308275
|
+
return lsp.SymbolKind.Constructor;
|
|
308276
|
+
case ts.ScriptElementKind.parameterElement:
|
|
308277
|
+
return lsp.SymbolKind.Variable;
|
|
308278
|
+
case ts.ScriptElementKind.typeParameterElement:
|
|
308279
|
+
return lsp.SymbolKind.TypeParameter;
|
|
308280
|
+
case ts.ScriptElementKind.constElement:
|
|
308281
|
+
return lsp.SymbolKind.Constant;
|
|
308282
|
+
case ts.ScriptElementKind.letElement:
|
|
308283
|
+
return lsp.SymbolKind.Variable;
|
|
308284
|
+
case ts.ScriptElementKind.alias:
|
|
308285
|
+
return lsp.SymbolKind.Variable;
|
|
308286
|
+
default:
|
|
308287
|
+
return lsp.SymbolKind.Variable;
|
|
308288
|
+
}
|
|
308289
|
+
}
|
|
308290
|
+
function convertTemplateSymbols(symbols, scriptInfo) {
|
|
308291
|
+
const result = [];
|
|
308292
|
+
for (const symbol of symbols) {
|
|
308293
|
+
const converted = convertTemplateSymbol(symbol, scriptInfo);
|
|
308294
|
+
if (converted) {
|
|
308295
|
+
result.push(converted);
|
|
308296
|
+
}
|
|
308297
|
+
}
|
|
308298
|
+
return result;
|
|
308299
|
+
}
|
|
308300
|
+
function convertTemplateSymbol(symbol, scriptInfo) {
|
|
308301
|
+
if (!symbol.spans || symbol.spans.length === 0) {
|
|
308302
|
+
return null;
|
|
308303
|
+
}
|
|
308304
|
+
const range = (0, utils_1.tsTextSpanToLspRange)(scriptInfo, symbol.spans[0]);
|
|
308305
|
+
const selectionRange = symbol.nameSpan ? (0, utils_1.tsTextSpanToLspRange)(scriptInfo, symbol.nameSpan) : range;
|
|
308306
|
+
const children = [];
|
|
308307
|
+
if (symbol.childItems) {
|
|
308308
|
+
for (const child of symbol.childItems) {
|
|
308309
|
+
const childSymbol = convertTemplateSymbol(child, scriptInfo);
|
|
308310
|
+
if (childSymbol) {
|
|
308311
|
+
children.push(childSymbol);
|
|
308312
|
+
}
|
|
308313
|
+
}
|
|
308314
|
+
}
|
|
308315
|
+
const kind = symbol.lspKind !== void 0 ? symbol.lspKind : scriptElementKindToSymbolKind(symbol.kind);
|
|
308316
|
+
return {
|
|
308317
|
+
name: symbol.text,
|
|
308318
|
+
kind,
|
|
308319
|
+
range,
|
|
308320
|
+
selectionRange,
|
|
308321
|
+
children: children.length > 0 ? children : void 0
|
|
308322
|
+
};
|
|
308323
|
+
}
|
|
308324
|
+
}
|
|
308325
|
+
});
|
|
308326
|
+
|
|
307943
308327
|
// vscode-ng-language-service/server/src/handlers/rename.js
|
|
307944
308328
|
var require_rename = __commonJS({
|
|
307945
308329
|
"vscode-ng-language-service/server/src/handlers/rename.js"(exports2) {
|
|
@@ -308109,63 +308493,6 @@ var require_did_change_watched_files = __commonJS({
|
|
|
308109
308493
|
}
|
|
308110
308494
|
});
|
|
308111
308495
|
|
|
308112
|
-
// vscode-ng-language-service/server/src/config.js
|
|
308113
|
-
var require_config = __commonJS({
|
|
308114
|
-
"vscode-ng-language-service/server/src/config.js"(exports2) {
|
|
308115
|
-
"use strict";
|
|
308116
|
-
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
308117
|
-
exports2.getWorkspaceConfiguration = getWorkspaceConfiguration;
|
|
308118
|
-
exports2.getWorkspaceConfigurationCached = getWorkspaceConfigurationCached;
|
|
308119
|
-
exports2.clearWorkspaceConfigurationCache = clearWorkspaceConfigurationCache;
|
|
308120
|
-
exports2.flattenConfiguration = flattenConfiguration;
|
|
308121
|
-
var workspaceConfigCache = /* @__PURE__ */ new WeakMap();
|
|
308122
|
-
function getWorkspaceConfiguration(connection, items) {
|
|
308123
|
-
return __async(this, null, function* () {
|
|
308124
|
-
try {
|
|
308125
|
-
return yield connection.workspace.getConfiguration(items);
|
|
308126
|
-
} catch (error) {
|
|
308127
|
-
return items.map(() => ({}));
|
|
308128
|
-
}
|
|
308129
|
-
});
|
|
308130
|
-
}
|
|
308131
|
-
function getWorkspaceConfigurationCached(connection, items) {
|
|
308132
|
-
return __async(this, null, function* () {
|
|
308133
|
-
const key = JSON.stringify(items);
|
|
308134
|
-
let cache = workspaceConfigCache.get(connection);
|
|
308135
|
-
if (!cache) {
|
|
308136
|
-
cache = /* @__PURE__ */ new Map();
|
|
308137
|
-
workspaceConfigCache.set(connection, cache);
|
|
308138
|
-
}
|
|
308139
|
-
const cached = cache.get(key);
|
|
308140
|
-
if (cached !== void 0) {
|
|
308141
|
-
return cached;
|
|
308142
|
-
}
|
|
308143
|
-
const value = yield getWorkspaceConfiguration(connection, items);
|
|
308144
|
-
cache.set(key, value);
|
|
308145
|
-
return value;
|
|
308146
|
-
});
|
|
308147
|
-
}
|
|
308148
|
-
function clearWorkspaceConfigurationCache(connection) {
|
|
308149
|
-
workspaceConfigCache.delete(connection);
|
|
308150
|
-
}
|
|
308151
|
-
function flattenConfiguration(config, prefix) {
|
|
308152
|
-
const result = {};
|
|
308153
|
-
function flatten(obj, currentPrefix) {
|
|
308154
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
308155
|
-
const newKey = `${currentPrefix}.${key}`;
|
|
308156
|
-
if (value !== null && typeof value === "object" && !Array.isArray(value)) {
|
|
308157
|
-
flatten(value, newKey);
|
|
308158
|
-
} else {
|
|
308159
|
-
result[newKey] = value;
|
|
308160
|
-
}
|
|
308161
|
-
}
|
|
308162
|
-
}
|
|
308163
|
-
flatten(config, prefix);
|
|
308164
|
-
return result;
|
|
308165
|
-
}
|
|
308166
|
-
}
|
|
308167
|
-
});
|
|
308168
|
-
|
|
308169
308496
|
// vscode-ng-language-service/server/src/handlers/inlay_hints.js
|
|
308170
308497
|
var require_inlay_hints = __commonJS({
|
|
308171
308498
|
"vscode-ng-language-service/server/src/handlers/inlay_hints.js"(exports2) {
|
|
@@ -308473,6 +308800,7 @@ var require_session = __commonJS({
|
|
|
308473
308800
|
var lsp = __importStar(require_node3());
|
|
308474
308801
|
var notifications_1 = require_notifications();
|
|
308475
308802
|
var requests_1 = require_requests();
|
|
308803
|
+
var config_1 = require_config();
|
|
308476
308804
|
var diagnostic_1 = require_diagnostic2();
|
|
308477
308805
|
var utils_1 = require_utils();
|
|
308478
308806
|
var code_actions_1 = require_code_actions();
|
|
@@ -308483,13 +308811,13 @@ var require_session = __commonJS({
|
|
|
308483
308811
|
var hover_1 = require_hover();
|
|
308484
308812
|
var initialization_1 = require_initialization();
|
|
308485
308813
|
var linked_editing_range_1 = require_linked_editing_range();
|
|
308814
|
+
var document_symbols_1 = require_document_symbols();
|
|
308486
308815
|
var rename_1 = require_rename();
|
|
308487
308816
|
var signature_1 = require_signature();
|
|
308488
308817
|
var tcb_1 = require_tcb();
|
|
308489
308818
|
var template_info_1 = require_template_info();
|
|
308490
308819
|
var did_change_watched_files_1 = require_did_change_watched_files();
|
|
308491
308820
|
var inlay_hints_1 = require_inlay_hints();
|
|
308492
|
-
var config_1 = require_config();
|
|
308493
308821
|
var LanguageId;
|
|
308494
308822
|
(function(LanguageId2) {
|
|
308495
308823
|
LanguageId2["TS"] = "typescript";
|
|
@@ -308632,6 +308960,9 @@ var require_session = __commonJS({
|
|
|
308632
308960
|
conn.onHover((p) => (0, hover_1.onHover)(this, p));
|
|
308633
308961
|
conn.onFoldingRanges((p) => (0, folding_1.onFoldingRanges)(this, p));
|
|
308634
308962
|
conn.languages.onLinkedEditingRange((p) => (0, linked_editing_range_1.onLinkedEditingRange)(this, p));
|
|
308963
|
+
conn.onDocumentSymbol((p) => __async(this, null, function* () {
|
|
308964
|
+
return yield (0, document_symbols_1.onDocumentSymbol)(this, p);
|
|
308965
|
+
}));
|
|
308635
308966
|
conn.onCompletion((p) => (0, completions_1.onCompletion)(this, p));
|
|
308636
308967
|
conn.onCompletionResolve((p) => (0, completions_1.onCompletionResolve)(this, p));
|
|
308637
308968
|
conn.onRequest(requests_1.GetComponentsWithTemplateFile, (p) => (0, code_lens_1.getComponentsWithTemplateFile)(this, p));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/language-server",
|
|
3
3
|
"description": "LSP server for Angular Language Service",
|
|
4
|
-
"version": "22.0.0-next.
|
|
4
|
+
"version": "22.0.0-next.4",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/angular/angular.git",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"ngserver": "./bin/ngserver"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@angular/language-service": "22.0.0-next.
|
|
20
|
+
"@angular/language-service": "22.0.0-next.4",
|
|
21
21
|
"typescript": "6.0.1-rc"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|