typescript-language-server 0.11.1 → 1.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/CHANGELOG.md +52 -0
- package/README.md +160 -27
- package/lib/calls.d.ts +3 -3
- package/lib/calls.d.ts.map +1 -1
- package/lib/calls.js +143 -195
- package/lib/calls.js.map +1 -1
- package/lib/cli.js +9 -33
- package/lib/cli.js.map +1 -1
- package/lib/commands.d.ts +1 -0
- package/lib/commands.d.ts.map +1 -1
- package/lib/commands.js +4 -5
- package/lib/commands.js.map +1 -1
- package/lib/completion.d.ts +8 -11
- package/lib/completion.d.ts.map +1 -1
- package/lib/completion.js +121 -163
- package/lib/completion.js.map +1 -1
- package/lib/configuration-manager.d.ts +47 -0
- package/lib/configuration-manager.d.ts.map +1 -0
- package/lib/configuration-manager.js +105 -0
- package/lib/configuration-manager.js.map +1 -0
- package/lib/diagnostic-queue.d.ts +10 -9
- package/lib/diagnostic-queue.d.ts.map +1 -1
- package/lib/diagnostic-queue.js +13 -21
- package/lib/diagnostic-queue.js.map +1 -1
- package/lib/document-symbol.d.ts +2 -2
- package/lib/document-symbol.d.ts.map +1 -1
- package/lib/document-symbol.js +20 -25
- package/lib/document-symbol.js.map +1 -1
- package/lib/document.d.ts +1 -1
- package/lib/document.d.ts.map +1 -1
- package/lib/document.js +6 -34
- package/lib/document.js.map +1 -1
- package/lib/features/fix-all.d.ts +4 -4
- package/lib/features/fix-all.d.ts.map +1 -1
- package/lib/features/fix-all.js +104 -147
- package/lib/features/fix-all.js.map +1 -1
- package/lib/features/inlay-hints.d.ts +11 -0
- package/lib/features/inlay-hints.d.ts.map +1 -0
- package/lib/features/inlay-hints.js +70 -0
- package/lib/features/inlay-hints.js.map +1 -0
- package/lib/features/source-definition.d.ts +11 -0
- package/lib/features/source-definition.d.ts.map +1 -0
- package/lib/features/source-definition.js +50 -0
- package/lib/features/source-definition.js.map +1 -0
- package/lib/file-lsp-server.spec.js +26 -36
- package/lib/file-lsp-server.spec.js.map +1 -1
- package/lib/hover.d.ts +4 -3
- package/lib/hover.d.ts.map +1 -1
- package/lib/hover.js +53 -17
- package/lib/hover.js.map +1 -1
- package/lib/logger.d.ts +12 -4
- package/lib/logger.d.ts.map +1 -1
- package/lib/logger.js +37 -44
- package/lib/logger.js.map +1 -1
- package/lib/lsp-client.d.ts +13 -17
- package/lib/lsp-client.d.ts.map +1 -1
- package/lib/lsp-client.js +32 -91
- package/lib/lsp-client.js.map +1 -1
- package/lib/lsp-connection.d.ts +1 -1
- package/lib/lsp-connection.d.ts.map +1 -1
- package/lib/lsp-connection.js +13 -39
- package/lib/lsp-connection.js.map +1 -1
- package/lib/lsp-protocol.calls.proposed.d.ts +1 -1
- package/lib/lsp-protocol.calls.proposed.d.ts.map +1 -1
- package/lib/lsp-protocol.calls.proposed.js +7 -32
- package/lib/lsp-protocol.calls.proposed.js.map +1 -1
- package/lib/lsp-protocol.inlayHints.proposed.d.ts +2 -11
- package/lib/lsp-protocol.inlayHints.proposed.d.ts.map +1 -1
- package/lib/lsp-protocol.inlayHints.proposed.js +2 -28
- package/lib/lsp-protocol.inlayHints.proposed.js.map +1 -1
- package/lib/lsp-server.d.ts +27 -28
- package/lib/lsp-server.d.ts.map +1 -1
- package/lib/lsp-server.js +868 -926
- package/lib/lsp-server.js.map +1 -1
- package/lib/lsp-server.spec.js +956 -606
- package/lib/lsp-server.spec.js.map +1 -1
- package/lib/organize-imports.d.ts +3 -3
- package/lib/organize-imports.d.ts.map +1 -1
- package/lib/organize-imports.js +5 -32
- package/lib/organize-imports.js.map +1 -1
- package/lib/organize-imports.spec.js +17 -42
- package/lib/organize-imports.spec.js.map +1 -1
- package/lib/protocol-translation.d.ts +5 -10
- package/lib/protocol-translation.d.ts.map +1 -1
- package/lib/protocol-translation.js +39 -168
- package/lib/protocol-translation.js.map +1 -1
- package/lib/quickfix.d.ts +3 -3
- package/lib/quickfix.d.ts.map +1 -1
- package/lib/quickfix.js +7 -35
- package/lib/quickfix.js.map +1 -1
- package/lib/refactor.d.ts +2 -2
- package/lib/refactor.d.ts.map +1 -1
- package/lib/refactor.js +11 -36
- package/lib/refactor.js.map +1 -1
- package/lib/semantic-tokens.d.ts +1 -1
- package/lib/semantic-tokens.d.ts.map +1 -1
- package/lib/semantic-tokens.js +1 -5
- package/lib/semantic-tokens.js.map +1 -1
- package/lib/test-utils.d.ts +11 -5
- package/lib/test-utils.d.ts.map +1 -1
- package/lib/test-utils.js +137 -120
- package/lib/test-utils.js.map +1 -1
- package/lib/ts-protocol.d.ts +8 -20
- package/lib/ts-protocol.d.ts.map +1 -1
- package/lib/ts-protocol.js +4 -31
- package/lib/ts-protocol.js.map +1 -1
- package/lib/tsp-client.d.ts +46 -43
- package/lib/tsp-client.d.ts.map +1 -1
- package/lib/tsp-client.js +31 -52
- package/lib/tsp-client.js.map +1 -1
- package/lib/tsp-client.spec.js +48 -75
- package/lib/tsp-client.spec.js.map +1 -1
- package/lib/tsp-command-types.d.ts +1 -0
- package/lib/tsp-command-types.d.ts.map +1 -1
- package/lib/tsp-command-types.js +4 -8
- package/lib/tsp-command-types.js.map +1 -1
- package/lib/utils/SnippetString.js +1 -4
- package/lib/utils/SnippetString.js.map +1 -1
- package/lib/utils/api.d.ts +1 -0
- package/lib/utils/api.d.ts.map +1 -1
- package/lib/utils/api.js +3 -28
- package/lib/utils/api.js.map +1 -1
- package/lib/utils/configuration.d.ts +2 -2
- package/lib/utils/configuration.d.ts.map +1 -1
- package/lib/utils/configuration.js +1 -2
- package/lib/utils/errorCodes.js +11 -14
- package/lib/utils/errorCodes.js.map +1 -1
- package/lib/utils/fixNames.js +13 -16
- package/lib/utils/fixNames.js.map +1 -1
- package/lib/utils/modules-resolver.js +7 -34
- package/lib/utils/modules-resolver.js.map +1 -1
- package/lib/utils/modules-resolver.spec.d.ts +1 -1
- package/lib/utils/modules-resolver.spec.d.ts.map +1 -1
- package/lib/utils/modules-resolver.spec.js +11 -34
- package/lib/utils/modules-resolver.spec.js.map +1 -1
- package/lib/utils/typeConverters.d.ts +20 -2
- package/lib/utils/typeConverters.d.ts.map +1 -1
- package/lib/utils/typeConverters.js +105 -9
- package/lib/utils/typeConverters.js.map +1 -1
- package/lib/utils/types.js +2 -29
- package/lib/utils/types.js.map +1 -1
- package/lib/utils/versionProvider.d.ts +3 -3
- package/lib/utils/versionProvider.d.ts.map +1 -1
- package/lib/utils/versionProvider.js +52 -60
- package/lib/utils/versionProvider.js.map +1 -1
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +3 -5
- package/lib/utils.js.map +1 -1
- package/package.json +38 -33
package/lib/calls.js
CHANGED
|
@@ -1,189 +1,143 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import * as lsp from 'vscode-languageserver';
|
|
2
|
+
import * as lspcalls from './lsp-protocol.calls.proposed.js';
|
|
3
|
+
import { uriToPath, toLocation, toSymbolKind, pathToUri } from './protocol-translation.js';
|
|
4
|
+
import { Range } from './utils/typeConverters.js';
|
|
5
|
+
export async function computeCallers(tspClient, args) {
|
|
6
|
+
const nullResult = { calls: [] };
|
|
7
|
+
const contextDefinition = await getDefinition(tspClient, args);
|
|
8
|
+
if (!contextDefinition) {
|
|
9
|
+
return nullResult;
|
|
7
10
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.computeCallees = exports.computeCallers = void 0;
|
|
36
|
-
const lsp = __importStar(require("vscode-languageserver/node"));
|
|
37
|
-
const lspcalls = __importStar(require("./lsp-protocol.calls.proposed"));
|
|
38
|
-
const protocol_translation_1 = require("./protocol-translation");
|
|
39
|
-
function computeCallers(tspClient, args) {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const nullResult = { calls: [] };
|
|
42
|
-
const contextDefinition = yield getDefinition(tspClient, args);
|
|
43
|
-
if (!contextDefinition) {
|
|
44
|
-
return nullResult;
|
|
45
|
-
}
|
|
46
|
-
const contextSymbol = yield findEnclosingSymbol(tspClient, contextDefinition);
|
|
47
|
-
if (!contextSymbol) {
|
|
48
|
-
return nullResult;
|
|
49
|
-
}
|
|
50
|
-
const callerReferences = yield findNonDefinitionReferences(tspClient, contextDefinition);
|
|
51
|
-
const calls = [];
|
|
52
|
-
for (const callerReference of callerReferences) {
|
|
53
|
-
const symbol = yield findEnclosingSymbol(tspClient, callerReference);
|
|
54
|
-
if (!symbol) {
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
const location = (0, protocol_translation_1.toLocation)(callerReference, undefined);
|
|
58
|
-
calls.push({
|
|
59
|
-
location,
|
|
60
|
-
symbol
|
|
61
|
-
});
|
|
11
|
+
const contextSymbol = await findEnclosingSymbol(tspClient, contextDefinition);
|
|
12
|
+
if (!contextSymbol) {
|
|
13
|
+
return nullResult;
|
|
14
|
+
}
|
|
15
|
+
const callerReferences = await findNonDefinitionReferences(tspClient, contextDefinition);
|
|
16
|
+
const calls = [];
|
|
17
|
+
for (const callerReference of callerReferences) {
|
|
18
|
+
const symbol = await findEnclosingSymbol(tspClient, callerReference);
|
|
19
|
+
if (!symbol) {
|
|
20
|
+
continue;
|
|
62
21
|
}
|
|
63
|
-
|
|
64
|
-
|
|
22
|
+
const location = toLocation(callerReference, undefined);
|
|
23
|
+
calls.push({
|
|
24
|
+
location,
|
|
25
|
+
symbol,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return { calls, symbol: contextSymbol };
|
|
65
29
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
30
|
+
export async function computeCallees(tspClient, args, documentProvider) {
|
|
31
|
+
const nullResult = { calls: [] };
|
|
32
|
+
const contextDefinition = await getDefinition(tspClient, args);
|
|
33
|
+
if (!contextDefinition) {
|
|
34
|
+
return nullResult;
|
|
35
|
+
}
|
|
36
|
+
const contextSymbol = await findEnclosingSymbol(tspClient, contextDefinition);
|
|
37
|
+
if (!contextSymbol) {
|
|
38
|
+
return nullResult;
|
|
39
|
+
}
|
|
40
|
+
const outgoingCallReferences = await findOutgoingCalls(tspClient, contextSymbol, documentProvider);
|
|
41
|
+
const calls = [];
|
|
42
|
+
for (const reference of outgoingCallReferences) {
|
|
43
|
+
const definitionReferences = await findDefinitionReferences(tspClient, reference);
|
|
44
|
+
const definitionReference = definitionReferences[0];
|
|
45
|
+
if (!definitionReference) {
|
|
46
|
+
continue;
|
|
77
47
|
}
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const definitionReferences = yield findDefinitionReferences(tspClient, reference);
|
|
82
|
-
const definitionReference = definitionReferences[0];
|
|
83
|
-
if (!definitionReference) {
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
const definitionSymbol = yield findEnclosingSymbol(tspClient, definitionReference);
|
|
87
|
-
if (!definitionSymbol) {
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
const location = (0, protocol_translation_1.toLocation)(reference, undefined);
|
|
91
|
-
calls.push({
|
|
92
|
-
location,
|
|
93
|
-
symbol: definitionSymbol
|
|
94
|
-
});
|
|
48
|
+
const definitionSymbol = await findEnclosingSymbol(tspClient, definitionReference);
|
|
49
|
+
if (!definitionSymbol) {
|
|
50
|
+
continue;
|
|
95
51
|
}
|
|
96
|
-
|
|
97
|
-
|
|
52
|
+
const location = toLocation(reference, undefined);
|
|
53
|
+
calls.push({
|
|
54
|
+
location,
|
|
55
|
+
symbol: definitionSymbol,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return { calls, symbol: contextSymbol };
|
|
98
59
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const end = start + identifier.length;
|
|
117
|
-
candidates.push({ identifier, start, end });
|
|
118
|
-
}
|
|
119
|
-
match = regex.exec(symbolText);
|
|
60
|
+
async function findOutgoingCalls(tspClient, contextSymbol, documentProvider) {
|
|
61
|
+
/**
|
|
62
|
+
* The TSP does not provide call references.
|
|
63
|
+
* As long as we are not able to access the AST in a tsserver plugin and return the information necessary as metadata to the reponse,
|
|
64
|
+
* we need to test possible calls.
|
|
65
|
+
*/
|
|
66
|
+
const computeCallCandidates = (document, range) => {
|
|
67
|
+
const symbolText = document.getText(range);
|
|
68
|
+
const regex = /\W([$_a-zA-Z0-9\u{00C0}-\u{E007F}]+)(<.*>)?\(/gmu; // Example: matches `candidate` in " candidate()", "Foo.candidate<T>()", etc.
|
|
69
|
+
let match = regex.exec(symbolText);
|
|
70
|
+
const candidates = [];
|
|
71
|
+
while (match) {
|
|
72
|
+
const identifier = match[1];
|
|
73
|
+
if (identifier) {
|
|
74
|
+
const start = match.index + match[0].indexOf(identifier);
|
|
75
|
+
const end = start + identifier.length;
|
|
76
|
+
candidates.push({ identifier, start, end });
|
|
120
77
|
}
|
|
121
|
-
|
|
122
|
-
const candidateRanges = candidates.map(c => lsp.Range.create(document.positionAt(offset + c.start), document.positionAt(offset + c.end)));
|
|
123
|
-
return candidateRanges;
|
|
124
|
-
};
|
|
125
|
-
/**
|
|
126
|
-
* This function tests a candidate and returns a locaion for a valid call.
|
|
127
|
-
*/
|
|
128
|
-
const validateCall = (file, candidateRange) => __awaiter(this, void 0, void 0, function* () {
|
|
129
|
-
const tspPosition = { line: candidateRange.start.line + 1, offset: candidateRange.start.character + 1 };
|
|
130
|
-
const references = yield findNonDefinitionReferences(tspClient, { file, start: tspPosition, end: tspPosition });
|
|
131
|
-
for (const reference of references) {
|
|
132
|
-
const tspPosition = { line: candidateRange.start.line + 1, offset: candidateRange.start.character + 1 };
|
|
133
|
-
if (tspPosition.line === reference.start.line) {
|
|
134
|
-
return reference;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
const calls = [];
|
|
139
|
-
const file = (0, protocol_translation_1.uriToPath)(contextSymbol.location.uri);
|
|
140
|
-
const document = documentProvider(file);
|
|
141
|
-
if (!document) {
|
|
142
|
-
return calls;
|
|
78
|
+
match = regex.exec(symbolText);
|
|
143
79
|
}
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
80
|
+
const offset = document.offsetAt(range.start);
|
|
81
|
+
const candidateRanges = candidates.map(c => lsp.Range.create(document.positionAt(offset + c.start), document.positionAt(offset + c.end)));
|
|
82
|
+
return candidateRanges;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* This function tests a candidate and returns a locaion for a valid call.
|
|
86
|
+
*/
|
|
87
|
+
const validateCall = async (file, candidateRange) => {
|
|
88
|
+
const tspPosition = { line: candidateRange.start.line + 1, offset: candidateRange.start.character + 1 };
|
|
89
|
+
const references = await findNonDefinitionReferences(tspClient, { file, start: tspPosition, end: tspPosition });
|
|
90
|
+
for (const reference of references) {
|
|
91
|
+
const tspPosition = { line: candidateRange.start.line + 1, offset: candidateRange.start.character + 1 };
|
|
92
|
+
if (tspPosition.line === reference.start.line) {
|
|
93
|
+
return reference;
|
|
149
94
|
}
|
|
150
95
|
}
|
|
96
|
+
};
|
|
97
|
+
const calls = [];
|
|
98
|
+
const file = uriToPath(contextSymbol.location.uri);
|
|
99
|
+
const document = documentProvider(file);
|
|
100
|
+
if (!document) {
|
|
151
101
|
return calls;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
return undefined;
|
|
102
|
+
}
|
|
103
|
+
const candidateRanges = computeCallCandidates(document, contextSymbol.location.range);
|
|
104
|
+
for (const candidateRange of candidateRanges) {
|
|
105
|
+
const call = await validateCall(file, candidateRange);
|
|
106
|
+
if (call) {
|
|
107
|
+
calls.push(call);
|
|
159
108
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
line: args.position.line + 1,
|
|
163
|
-
offset: args.position.character + 1
|
|
164
|
-
});
|
|
165
|
-
return definitionResult.body ? definitionResult.body[0] : undefined;
|
|
166
|
-
});
|
|
109
|
+
}
|
|
110
|
+
return calls;
|
|
167
111
|
}
|
|
168
|
-
function
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
const symbol = yield findEnclosingSymbolInTree(tree, lsp.Range.create(pos, pos));
|
|
178
|
-
if (!symbol) {
|
|
179
|
-
return undefined;
|
|
180
|
-
}
|
|
181
|
-
const uri = (0, protocol_translation_1.pathToUri)(file, undefined);
|
|
182
|
-
return lspcalls.DefinitionSymbol.create(uri, symbol);
|
|
112
|
+
async function getDefinition(tspClient, args) {
|
|
113
|
+
const file = uriToPath(args.textDocument.uri);
|
|
114
|
+
if (!file) {
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
const definitionResult = await tspClient.request("definition" /* CommandTypes.Definition */, {
|
|
118
|
+
file,
|
|
119
|
+
line: args.position.line + 1,
|
|
120
|
+
offset: args.position.character + 1,
|
|
183
121
|
});
|
|
122
|
+
return definitionResult.body ? definitionResult.body[0] : undefined;
|
|
123
|
+
}
|
|
124
|
+
async function findEnclosingSymbol(tspClient, args) {
|
|
125
|
+
const file = args.file;
|
|
126
|
+
const response = await tspClient.request("navtree" /* CommandTypes.NavTree */, { file });
|
|
127
|
+
const tree = response.body;
|
|
128
|
+
if (!tree || !tree.childItems) {
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
131
|
+
const pos = lsp.Position.create(args.start.line - 1, args.start.offset - 1);
|
|
132
|
+
const symbol = findEnclosingSymbolInTree(tree, lsp.Range.create(pos, pos));
|
|
133
|
+
if (!symbol) {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
const uri = pathToUri(file, undefined);
|
|
137
|
+
return lspcalls.DefinitionSymbol.create(uri, symbol);
|
|
184
138
|
}
|
|
185
139
|
function findEnclosingSymbolInTree(parent, range) {
|
|
186
|
-
const inSpan = (span) => !!
|
|
140
|
+
const inSpan = (span) => !!Range.intersection(Range.fromTextSpan(span), range);
|
|
187
141
|
const inTree = (tree) => tree.spans.some(span => inSpan(span));
|
|
188
142
|
let candidate = inTree(parent) ? parent : undefined;
|
|
189
143
|
outer: while (candidate) {
|
|
@@ -200,43 +154,37 @@ function findEnclosingSymbolInTree(parent, range) {
|
|
|
200
154
|
return undefined;
|
|
201
155
|
}
|
|
202
156
|
const span = candidate.spans.find(span => inSpan(span));
|
|
203
|
-
const spanRange =
|
|
157
|
+
const spanRange = Range.fromTextSpan(span);
|
|
204
158
|
let selectionRange = spanRange;
|
|
205
159
|
if (candidate.nameSpan) {
|
|
206
|
-
const nameRange =
|
|
207
|
-
if (
|
|
160
|
+
const nameRange = Range.fromTextSpan(candidate.nameSpan);
|
|
161
|
+
if (Range.intersection(spanRange, nameRange)) {
|
|
208
162
|
selectionRange = nameRange;
|
|
209
163
|
}
|
|
210
164
|
}
|
|
211
165
|
return {
|
|
212
166
|
name: candidate.text,
|
|
213
|
-
kind:
|
|
167
|
+
kind: toSymbolKind(candidate.kind),
|
|
214
168
|
range: spanRange,
|
|
215
|
-
selectionRange: selectionRange
|
|
169
|
+
selectionRange: selectionRange,
|
|
216
170
|
};
|
|
217
171
|
}
|
|
218
|
-
function findDefinitionReferences(tspClient, args) {
|
|
219
|
-
return
|
|
220
|
-
return (yield findReferences(tspClient, args)).filter(ref => ref.isDefinition);
|
|
221
|
-
});
|
|
172
|
+
async function findDefinitionReferences(tspClient, args) {
|
|
173
|
+
return (await findReferences(tspClient, args)).filter(ref => ref.isDefinition);
|
|
222
174
|
}
|
|
223
|
-
function findNonDefinitionReferences(tspClient, args) {
|
|
224
|
-
return
|
|
225
|
-
return (yield findReferences(tspClient, args)).filter(ref => !ref.isDefinition);
|
|
226
|
-
});
|
|
175
|
+
async function findNonDefinitionReferences(tspClient, args) {
|
|
176
|
+
return (await findReferences(tspClient, args)).filter(ref => !ref.isDefinition);
|
|
227
177
|
}
|
|
228
|
-
function findReferences(tspClient, args) {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
offset: args.start.offset
|
|
235
|
-
});
|
|
236
|
-
if (!result.body) {
|
|
237
|
-
return [];
|
|
238
|
-
}
|
|
239
|
-
return result.body.refs;
|
|
178
|
+
async function findReferences(tspClient, args) {
|
|
179
|
+
const file = args.file;
|
|
180
|
+
const result = await tspClient.request("references" /* CommandTypes.References */, {
|
|
181
|
+
file,
|
|
182
|
+
line: args.start.line,
|
|
183
|
+
offset: args.start.offset,
|
|
240
184
|
});
|
|
185
|
+
if (!result.body) {
|
|
186
|
+
return [];
|
|
187
|
+
}
|
|
188
|
+
return result.body.refs;
|
|
241
189
|
}
|
|
242
190
|
//# sourceMappingURL=calls.js.map
|
package/lib/calls.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../src/calls.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../src/calls.ts"],"names":[],"mappings":"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"}
|
package/lib/cli.js
CHANGED
|
@@ -1,42 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
2
|
/*
|
|
4
3
|
* Copyright (C) 2017, 2018 TypeFox and others.
|
|
5
4
|
*
|
|
6
5
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
|
|
7
6
|
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
8
7
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
-
}
|
|
15
|
-
Object.defineProperty(o, k2, desc);
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
-
if (mod && mod.__esModule) return mod;
|
|
27
|
-
var result = {};
|
|
28
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
-
__setModuleDefault(result, mod);
|
|
30
|
-
return result;
|
|
31
|
-
};
|
|
32
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
-
const commander_1 = require("commander");
|
|
34
|
-
const lsp_connection_1 = require("./lsp-connection");
|
|
35
|
-
const lsp = __importStar(require("vscode-languageserver/node"));
|
|
8
|
+
import { readFileSync } from 'node:fs';
|
|
9
|
+
import { Command } from 'commander';
|
|
10
|
+
import { createLspConnection } from './lsp-connection.js';
|
|
11
|
+
import * as lsp from 'vscode-languageserver';
|
|
36
12
|
const DEFAULT_LOG_LEVEL = lsp.MessageType.Info;
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
.version(
|
|
13
|
+
const { version } = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), { encoding: 'utf8' }));
|
|
14
|
+
const program = new Command('typescript-language-server')
|
|
15
|
+
.version(version)
|
|
40
16
|
.requiredOption('--stdio', 'use stdio')
|
|
41
17
|
.option('--log-level <logLevel>', 'A number indicating the log level (4 = log, 3 = info, 2 = warn, 1 = error). Defaults to `2`.')
|
|
42
18
|
.option('--tsserver-log-file <tsserverLogFile>', 'Specify a tsserver log file. example: --tsserver-log-file ts-logs.txt')
|
|
@@ -56,10 +32,10 @@ if (options.logLevel) {
|
|
|
56
32
|
logLevel = DEFAULT_LOG_LEVEL;
|
|
57
33
|
}
|
|
58
34
|
}
|
|
59
|
-
|
|
35
|
+
createLspConnection({
|
|
60
36
|
tsserverPath: options.tsserverPath,
|
|
61
37
|
tsserverLogFile: options.tsserverLogFile,
|
|
62
38
|
tsserverLogVerbosity: options.tsserverLogVerbosity,
|
|
63
|
-
showMessageLevel: logLevel
|
|
39
|
+
showMessageLevel: logLevel,
|
|
64
40
|
}).listen();
|
|
65
41
|
//# sourceMappingURL=cli.js.map
|
package/lib/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAE7C,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,4BAA4B,CAAC;KACpD,OAAO,CAAC,OAAO,CAAC;KAChB,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC;KACtC,MAAM,CAAC,wBAAwB,EAAE,8FAA8F,CAAC;KAChI,MAAM,CAAC,uCAAuC,EAAE,uEAAuE,CAAC;KACxH,MAAM,CAAC,iDAAiD,EAAE,kFAAkF;IAC3I,4CAA4C,CAAC;KAC9C,MAAM,CAAC,wBAAwB,EAAE,wFAAwF,CAAC;KAC1H,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAE/B,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE;IAC1D,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC;CAC3C;AAED,IAAI,QAAQ,GAAG,iBAAiB,CAAC;AACjC,IAAI,OAAO,CAAC,QAAQ,EAAE;IAClB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE;QAC5C,OAAO,CAAC,KAAK,CAAC,wBAAwB,QAAQ,kCAAkC,CAAC,CAAC;QAClF,QAAQ,GAAG,iBAAiB,CAAC;KAChC;CACJ;AAED,mBAAmB,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC,YAAsB;IAC5C,eAAe,EAAE,OAAO,CAAC,eAAyB;IAClD,oBAAoB,EAAE,OAAO,CAAC,oBAA8B;IAC5D,gBAAgB,EAAE,QAA2B;CAChD,CAAC,CAAC,MAAM,EAAE,CAAC"}
|
package/lib/commands.d.ts
CHANGED
package/lib/commands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,QAAQ;;;;;;;IAOjB,yDAAyD;;;CAG5D,CAAC"}
|
package/lib/commands.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (C) 2018 TypeFox and others.
|
|
4
3
|
*
|
|
5
4
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
|
|
6
5
|
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports.Commands = {
|
|
7
|
+
import { SourceDefinitionCommand } from './features/source-definition.js';
|
|
8
|
+
export const Commands = {
|
|
11
9
|
APPLY_WORKSPACE_EDIT: '_typescript.applyWorkspaceEdit',
|
|
12
10
|
APPLY_CODE_ACTION: '_typescript.applyCodeAction',
|
|
13
11
|
APPLY_REFACTORING: '_typescript.applyRefactoring',
|
|
@@ -15,6 +13,7 @@ exports.Commands = {
|
|
|
15
13
|
APPLY_RENAME_FILE: '_typescript.applyRenameFile',
|
|
16
14
|
APPLY_COMPLETION_CODE_ACTION: '_typescript.applyCompletionCodeAction',
|
|
17
15
|
/** Commands below should be implemented by the client */
|
|
18
|
-
SELECT_REFACTORING: '_typescript.selectRefactoring'
|
|
16
|
+
SELECT_REFACTORING: '_typescript.selectRefactoring',
|
|
17
|
+
SOURCE_DEFINITION: SourceDefinitionCommand.id,
|
|
19
18
|
};
|
|
20
19
|
//# sourceMappingURL=commands.js.map
|
package/lib/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,oBAAoB,EAAE,gCAAgC;IACtD,iBAAiB,EAAE,6BAA6B;IAChD,iBAAiB,EAAE,8BAA8B;IACjD,gBAAgB,EAAE,6BAA6B;IAC/C,iBAAiB,EAAE,6BAA6B;IAChD,4BAA4B,EAAE,uCAAuC;IACrE,yDAAyD;IACzD,kBAAkB,EAAE,+BAA+B;IACnD,iBAAiB,EAAE,uBAAuB,CAAC,EAAE;CAChD,CAAC"}
|
package/lib/completion.d.ts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import * as lsp from 'vscode-languageserver
|
|
2
|
-
import type tsp from 'typescript/lib/protocol';
|
|
3
|
-
import { LspDocument } from './document';
|
|
4
|
-
import { TspClient } from './tsp-client';
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export declare function asCompletionItem(entry: tsp.CompletionEntry, file: string, position: lsp.Position, document: LspDocument): TSCompletionItem;
|
|
10
|
-
export declare function asResolvedCompletionItem(item: lsp.CompletionItem, details: tsp.CompletionEntryDetails, client: TspClient, options: CompletionOptions): Promise<lsp.CompletionItem>;
|
|
1
|
+
import * as lsp from 'vscode-languageserver';
|
|
2
|
+
import type tsp from 'typescript/lib/protocol.js';
|
|
3
|
+
import { LspDocument } from './document.js';
|
|
4
|
+
import { TspClient } from './tsp-client.js';
|
|
5
|
+
import { SupportedFeatures } from './ts-protocol.js';
|
|
6
|
+
import type { WorkspaceConfigurationCompletionOptions } from './configuration-manager.js';
|
|
7
|
+
export declare function asCompletionItem(entry: tsp.CompletionEntry, file: string, position: lsp.Position, document: LspDocument, features: SupportedFeatures): lsp.CompletionItem | null;
|
|
8
|
+
export declare function asResolvedCompletionItem(item: lsp.CompletionItem, details: tsp.CompletionEntryDetails, client: TspClient, options: WorkspaceConfigurationCompletionOptions, features: SupportedFeatures): Promise<lsp.CompletionItem>;
|
|
11
9
|
export declare function isValidFunctionCompletionContext(filepath: string, position: lsp.Position, client: TspClient): Promise<boolean>;
|
|
12
10
|
export declare function getCompletionTriggerCharacter(character: string | undefined): tsp.CompletionsTriggerCharacter | undefined;
|
|
13
|
-
export {};
|
|
14
11
|
//# sourceMappingURL=completion.d.ts.map
|
package/lib/completion.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAmB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,4BAA4B,CAAC;AAO1F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,GAAG,GAAG,CAAC,cAAc,GAAG,IAAI,CA4FhL;AA6ED,wBAAsB,wBAAwB,CAC1C,IAAI,EAAE,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,sBAAsB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,uCAAuC,EAAE,QAAQ,EAAE,iBAAiB,GAChK,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAkB7B;AAED,wBAAsB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBpI;AAmJD,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,2BAA2B,GAAG,SAAS,CAexH"}
|