typescript-language-server 0.11.2 → 1.0.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 +28 -0
- package/README.md +32 -6
- package/lib/calls.d.ts +3 -3
- package/lib/calls.d.ts.map +1 -1
- package/lib/calls.js +18 -46
- package/lib/calls.js.map +1 -1
- package/lib/cli.js +8 -32
- package/lib/cli.js.map +1 -1
- package/lib/commands.js +1 -4
- package/lib/commands.js.map +1 -1
- package/lib/completion.d.ts +6 -6
- package/lib/completion.d.ts.map +1 -1
- package/lib/completion.js +76 -116
- package/lib/completion.js.map +1 -1
- package/lib/diagnostic-queue.d.ts +5 -5
- package/lib/diagnostic-queue.d.ts.map +1 -1
- package/lib/diagnostic-queue.js +7 -14
- 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 +16 -22
- 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 +17 -44
- package/lib/features/fix-all.js.map +1 -1
- package/lib/file-lsp-server.spec.js +17 -18
- package/lib/file-lsp-server.spec.js.map +1 -1
- package/lib/hover.d.ts +2 -2
- package/lib/hover.d.ts.map +1 -1
- package/lib/hover.js +8 -12
- 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 +36 -43
- package/lib/logger.js.map +1 -1
- package/lib/lsp-client.d.ts +3 -3
- package/lib/lsp-client.d.ts.map +1 -1
- package/lib/lsp-client.js +4 -31
- 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 +10 -37
- 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 -2
- 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 +13 -9
- package/lib/lsp-server.d.ts.map +1 -1
- package/lib/lsp-server.js +226 -189
- package/lib/lsp-server.js.map +1 -1
- package/lib/lsp-server.spec.js +243 -245
- 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 +9 -34
- package/lib/organize-imports.spec.js.map +1 -1
- package/lib/protocol-translation.d.ts +3 -3
- package/lib/protocol-translation.d.ts.map +1 -1
- package/lib/protocol-translation.js +26 -70
- 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 +7 -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 +4 -2
- package/lib/test-utils.d.ts.map +1 -1
- package/lib/test-utils.js +39 -60
- package/lib/test-utils.js.map +1 -1
- package/lib/ts-protocol.d.ts +7 -4
- 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 +42 -43
- package/lib/tsp-client.d.ts.map +1 -1
- package/lib/tsp-client.js +23 -46
- package/lib/tsp-client.js.map +1 -1
- package/lib/tsp-client.spec.js +36 -56
- package/lib/tsp-client.spec.js.map +1 -1
- package/lib/tsp-command-types.js +3 -7
- 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 +1 -1
- package/lib/utils/typeConverters.d.ts.map +1 -1
- package/lib/utils/typeConverters.js +2 -5
- 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 +35 -41
- package/lib/utils/versionProvider.js.map +1 -1
- package/lib/utils.js +1 -5
- package/lib/utils.js.map +1 -1
- package/package.json +35 -33
package/lib/completion.js
CHANGED
|
@@ -1,33 +1,9 @@
|
|
|
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
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
-
}
|
|
14
|
-
Object.defineProperty(o, k2, desc);
|
|
15
|
-
}) : (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
o[k2] = m[k];
|
|
18
|
-
}));
|
|
19
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
-
}) : function(o, v) {
|
|
22
|
-
o["default"] = v;
|
|
23
|
-
});
|
|
24
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
-
if (mod && mod.__esModule) return mod;
|
|
26
|
-
var result = {};
|
|
27
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
-
__setModuleDefault(result, mod);
|
|
29
|
-
return result;
|
|
30
|
-
};
|
|
31
7
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
32
8
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
33
9
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -37,26 +13,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
37
13
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
38
14
|
});
|
|
39
15
|
};
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
const ts_protocol_1 = require("./ts-protocol");
|
|
50
|
-
const SnippetString_1 = __importDefault(require("./utils/SnippetString"));
|
|
51
|
-
const typeConverters = __importStar(require("./utils/typeConverters"));
|
|
52
|
-
function asCompletionItem(entry, file, position, document) {
|
|
53
|
-
const item = {
|
|
54
|
-
label: entry.name,
|
|
55
|
-
kind: asCompletionItemKind(entry.kind),
|
|
56
|
-
sortText: entry.sortText,
|
|
57
|
-
commitCharacters: asCommitCharacters(entry.kind),
|
|
58
|
-
preselect: entry.isRecommended,
|
|
59
|
-
data: {
|
|
16
|
+
import * as lsp from 'vscode-languageserver';
|
|
17
|
+
import { KindModifiers, ScriptElementKind } from './tsp-command-types.js';
|
|
18
|
+
import { asRange, toTextEdit, asPlainText, asDocumentation, normalizePath } from './protocol-translation.js';
|
|
19
|
+
import { Commands } from './commands.js';
|
|
20
|
+
import { DisplayPartKind } from './ts-protocol.js';
|
|
21
|
+
import SnippetString from './utils/SnippetString.js';
|
|
22
|
+
import * as typeConverters from './utils/typeConverters.js';
|
|
23
|
+
export function asCompletionItem(entry, file, position, document, features) {
|
|
24
|
+
const item = Object.assign(Object.assign({ label: entry.name }, features.labelDetails ? { labelDetails: entry.labelDetails } : {}), { kind: asCompletionItemKind(entry.kind), sortText: entry.sortText, commitCharacters: asCommitCharacters(entry.kind), preselect: entry.isRecommended, data: {
|
|
60
25
|
file,
|
|
61
26
|
line: position.line + 1,
|
|
62
27
|
offset: position.character + 1,
|
|
@@ -67,8 +32,7 @@ function asCompletionItem(entry, file, position, document) {
|
|
|
67
32
|
data: entry.data
|
|
68
33
|
} : entry.name
|
|
69
34
|
]
|
|
70
|
-
}
|
|
71
|
-
};
|
|
35
|
+
} });
|
|
72
36
|
if (entry.source && entry.hasAction) {
|
|
73
37
|
// De-prioritze auto-imports
|
|
74
38
|
// https://github.com/Microsoft/vscode/issues/40311
|
|
@@ -76,13 +40,13 @@ function asCompletionItem(entry, file, position, document) {
|
|
|
76
40
|
}
|
|
77
41
|
const { sourceDisplay, isSnippet } = entry;
|
|
78
42
|
if (sourceDisplay) {
|
|
79
|
-
item.detail =
|
|
43
|
+
item.detail = asPlainText(sourceDisplay);
|
|
80
44
|
}
|
|
81
45
|
if (entry.isImportStatementCompletion || isSnippet || item.kind === lsp.CompletionItemKind.Function || item.kind === lsp.CompletionItemKind.Method) {
|
|
82
46
|
item.insertTextFormat = lsp.InsertTextFormat.Snippet;
|
|
83
47
|
}
|
|
84
48
|
let insertText = entry.insertText;
|
|
85
|
-
let replacementRange = entry.replacementSpan &&
|
|
49
|
+
let replacementRange = entry.replacementSpan && asRange(entry.replacementSpan);
|
|
86
50
|
// Make sure we only replace a single line at most
|
|
87
51
|
if (replacementRange && replacementRange.start.line !== replacementRange.end.line) {
|
|
88
52
|
replacementRange = lsp.Range.create(replacementRange.start, document.getLineEnd(replacementRange.start.line));
|
|
@@ -92,7 +56,7 @@ function asCompletionItem(entry, file, position, document) {
|
|
|
92
56
|
}
|
|
93
57
|
if (entry.kindModifiers) {
|
|
94
58
|
const kindModifiers = new Set(entry.kindModifiers.split(/,|\s+/g));
|
|
95
|
-
if (kindModifiers.has(
|
|
59
|
+
if (kindModifiers.has(KindModifiers.optional)) {
|
|
96
60
|
if (!insertText) {
|
|
97
61
|
insertText = item.label;
|
|
98
62
|
}
|
|
@@ -101,14 +65,14 @@ function asCompletionItem(entry, file, position, document) {
|
|
|
101
65
|
}
|
|
102
66
|
item.label += '?';
|
|
103
67
|
}
|
|
104
|
-
if (kindModifiers.has(
|
|
68
|
+
if (kindModifiers.has(KindModifiers.deprecated)) {
|
|
105
69
|
item.tags = [lsp.CompletionItemTag.Deprecated];
|
|
106
70
|
}
|
|
107
|
-
if (kindModifiers.has(
|
|
71
|
+
if (kindModifiers.has(KindModifiers.color)) {
|
|
108
72
|
item.kind = lsp.CompletionItemKind.Color;
|
|
109
73
|
}
|
|
110
|
-
if (entry.kind ===
|
|
111
|
-
for (const extModifier of
|
|
74
|
+
if (entry.kind === ScriptElementKind.scriptElement) {
|
|
75
|
+
for (const extModifier of KindModifiers.fileExtensionKindModifiers) {
|
|
112
76
|
if (kindModifiers.has(extModifier)) {
|
|
113
77
|
if (entry.name.toLowerCase().endsWith(extModifier)) {
|
|
114
78
|
item.detail = entry.name;
|
|
@@ -132,46 +96,45 @@ function asCompletionItem(entry, file, position, document) {
|
|
|
132
96
|
}
|
|
133
97
|
return item;
|
|
134
98
|
}
|
|
135
|
-
exports.asCompletionItem = asCompletionItem;
|
|
136
99
|
function asCompletionItemKind(kind) {
|
|
137
100
|
switch (kind) {
|
|
138
|
-
case
|
|
139
|
-
case
|
|
101
|
+
case ScriptElementKind.primitiveType:
|
|
102
|
+
case ScriptElementKind.keyword:
|
|
140
103
|
return lsp.CompletionItemKind.Keyword;
|
|
141
|
-
case
|
|
104
|
+
case ScriptElementKind.constElement:
|
|
142
105
|
return lsp.CompletionItemKind.Constant;
|
|
143
|
-
case
|
|
144
|
-
case
|
|
145
|
-
case
|
|
146
|
-
case
|
|
106
|
+
case ScriptElementKind.letElement:
|
|
107
|
+
case ScriptElementKind.variableElement:
|
|
108
|
+
case ScriptElementKind.localVariableElement:
|
|
109
|
+
case ScriptElementKind.alias:
|
|
147
110
|
return lsp.CompletionItemKind.Variable;
|
|
148
|
-
case
|
|
149
|
-
case
|
|
150
|
-
case
|
|
111
|
+
case ScriptElementKind.memberVariableElement:
|
|
112
|
+
case ScriptElementKind.memberGetAccessorElement:
|
|
113
|
+
case ScriptElementKind.memberSetAccessorElement:
|
|
151
114
|
return lsp.CompletionItemKind.Field;
|
|
152
|
-
case
|
|
115
|
+
case ScriptElementKind.functionElement:
|
|
153
116
|
return lsp.CompletionItemKind.Function;
|
|
154
|
-
case
|
|
155
|
-
case
|
|
156
|
-
case
|
|
157
|
-
case
|
|
117
|
+
case ScriptElementKind.memberFunctionElement:
|
|
118
|
+
case ScriptElementKind.constructSignatureElement:
|
|
119
|
+
case ScriptElementKind.callSignatureElement:
|
|
120
|
+
case ScriptElementKind.indexSignatureElement:
|
|
158
121
|
return lsp.CompletionItemKind.Method;
|
|
159
|
-
case
|
|
122
|
+
case ScriptElementKind.enumElement:
|
|
160
123
|
return lsp.CompletionItemKind.Enum;
|
|
161
|
-
case
|
|
162
|
-
case
|
|
124
|
+
case ScriptElementKind.moduleElement:
|
|
125
|
+
case ScriptElementKind.externalModuleName:
|
|
163
126
|
return lsp.CompletionItemKind.Module;
|
|
164
|
-
case
|
|
165
|
-
case
|
|
127
|
+
case ScriptElementKind.classElement:
|
|
128
|
+
case ScriptElementKind.typeElement:
|
|
166
129
|
return lsp.CompletionItemKind.Class;
|
|
167
|
-
case
|
|
130
|
+
case ScriptElementKind.interfaceElement:
|
|
168
131
|
return lsp.CompletionItemKind.Interface;
|
|
169
|
-
case
|
|
170
|
-
case
|
|
132
|
+
case ScriptElementKind.warning:
|
|
133
|
+
case ScriptElementKind.scriptElement:
|
|
171
134
|
return lsp.CompletionItemKind.File;
|
|
172
|
-
case
|
|
135
|
+
case ScriptElementKind.directory:
|
|
173
136
|
return lsp.CompletionItemKind.Folder;
|
|
174
|
-
case
|
|
137
|
+
case ScriptElementKind.string:
|
|
175
138
|
return lsp.CompletionItemKind.Constant;
|
|
176
139
|
}
|
|
177
140
|
return lsp.CompletionItemKind.Property;
|
|
@@ -179,37 +142,37 @@ function asCompletionItemKind(kind) {
|
|
|
179
142
|
function asCommitCharacters(kind) {
|
|
180
143
|
const commitCharacters = [];
|
|
181
144
|
switch (kind) {
|
|
182
|
-
case
|
|
183
|
-
case
|
|
184
|
-
case
|
|
185
|
-
case
|
|
186
|
-
case
|
|
187
|
-
case
|
|
188
|
-
case
|
|
145
|
+
case ScriptElementKind.memberGetAccessorElement:
|
|
146
|
+
case ScriptElementKind.memberSetAccessorElement:
|
|
147
|
+
case ScriptElementKind.constructSignatureElement:
|
|
148
|
+
case ScriptElementKind.callSignatureElement:
|
|
149
|
+
case ScriptElementKind.indexSignatureElement:
|
|
150
|
+
case ScriptElementKind.enumElement:
|
|
151
|
+
case ScriptElementKind.interfaceElement:
|
|
189
152
|
commitCharacters.push('.');
|
|
190
153
|
break;
|
|
191
|
-
case
|
|
192
|
-
case
|
|
193
|
-
case
|
|
194
|
-
case
|
|
195
|
-
case
|
|
196
|
-
case
|
|
197
|
-
case
|
|
198
|
-
case
|
|
199
|
-
case
|
|
200
|
-
case
|
|
154
|
+
case ScriptElementKind.moduleElement:
|
|
155
|
+
case ScriptElementKind.alias:
|
|
156
|
+
case ScriptElementKind.constElement:
|
|
157
|
+
case ScriptElementKind.letElement:
|
|
158
|
+
case ScriptElementKind.variableElement:
|
|
159
|
+
case ScriptElementKind.localVariableElement:
|
|
160
|
+
case ScriptElementKind.memberVariableElement:
|
|
161
|
+
case ScriptElementKind.classElement:
|
|
162
|
+
case ScriptElementKind.functionElement:
|
|
163
|
+
case ScriptElementKind.memberFunctionElement:
|
|
201
164
|
commitCharacters.push('.', ',');
|
|
202
165
|
commitCharacters.push('(');
|
|
203
166
|
break;
|
|
204
167
|
}
|
|
205
168
|
return commitCharacters.length === 0 ? undefined : commitCharacters;
|
|
206
169
|
}
|
|
207
|
-
function asResolvedCompletionItem(item, details, client, options) {
|
|
170
|
+
export function asResolvedCompletionItem(item, details, client, options) {
|
|
208
171
|
var _a;
|
|
209
172
|
return __awaiter(this, void 0, void 0, function* () {
|
|
210
173
|
item.detail = asDetail(details);
|
|
211
|
-
item.documentation =
|
|
212
|
-
const filepath =
|
|
174
|
+
item.documentation = asDocumentation(details);
|
|
175
|
+
const filepath = normalizePath(item.data.file);
|
|
213
176
|
if ((_a = details.codeActions) === null || _a === void 0 ? void 0 : _a.length) {
|
|
214
177
|
item.additionalTextEdits = asAdditionalTextEdits(details.codeActions, filepath);
|
|
215
178
|
item.command = asCommand(details.codeActions, item.data.file);
|
|
@@ -226,14 +189,13 @@ function asResolvedCompletionItem(item, details, client, options) {
|
|
|
226
189
|
return item;
|
|
227
190
|
});
|
|
228
191
|
}
|
|
229
|
-
|
|
230
|
-
function isValidFunctionCompletionContext(filepath, position, client) {
|
|
192
|
+
export function isValidFunctionCompletionContext(filepath, position, client) {
|
|
231
193
|
return __awaiter(this, void 0, void 0, function* () {
|
|
232
194
|
// Workaround for https://github.com/Microsoft/TypeScript/issues/12677
|
|
233
195
|
// Don't complete function calls inside of destructive assigments or imports
|
|
234
196
|
try {
|
|
235
197
|
const args = typeConverters.Position.toFileLocationRequestArgs(filepath, position);
|
|
236
|
-
const response = yield client.request("quickinfo" /* Quickinfo */, args);
|
|
198
|
+
const response = yield client.request("quickinfo" /* CommandTypes.Quickinfo */, args);
|
|
237
199
|
if (response.type !== 'response') {
|
|
238
200
|
return true;
|
|
239
201
|
}
|
|
@@ -253,11 +215,10 @@ function isValidFunctionCompletionContext(filepath, position, client) {
|
|
|
253
215
|
}
|
|
254
216
|
});
|
|
255
217
|
}
|
|
256
|
-
exports.isValidFunctionCompletionContext = isValidFunctionCompletionContext;
|
|
257
218
|
function createSnippetOfFunctionCall(item, detail) {
|
|
258
219
|
const { displayParts } = detail;
|
|
259
220
|
const parameterListParts = getParameterListParts(displayParts);
|
|
260
|
-
const snippet = new
|
|
221
|
+
const snippet = new SnippetString();
|
|
261
222
|
snippet.appendText(`${item.insertText || item.label}(`);
|
|
262
223
|
appendJoinedPlaceholders(snippet, parameterListParts.parts, ', ');
|
|
263
224
|
if (parameterListParts.hasOptionalParameters) {
|
|
@@ -276,15 +237,15 @@ function getParameterListParts(displayParts) {
|
|
|
276
237
|
outer: for (let i = 0; i < displayParts.length; ++i) {
|
|
277
238
|
const part = displayParts[i];
|
|
278
239
|
switch (part.kind) {
|
|
279
|
-
case
|
|
280
|
-
case
|
|
281
|
-
case
|
|
282
|
-
case
|
|
240
|
+
case DisplayPartKind.methodName:
|
|
241
|
+
case DisplayPartKind.functionName:
|
|
242
|
+
case DisplayPartKind.text:
|
|
243
|
+
case DisplayPartKind.propertyName:
|
|
283
244
|
if (parenCount === 0 && braceCount === 0) {
|
|
284
245
|
isInMethod = true;
|
|
285
246
|
}
|
|
286
247
|
break;
|
|
287
|
-
case
|
|
248
|
+
case DisplayPartKind.parameterName:
|
|
288
249
|
if (parenCount === 1 && braceCount === 0 && isInMethod) {
|
|
289
250
|
// Only take top level paren names
|
|
290
251
|
const next = displayParts[i + 1];
|
|
@@ -298,7 +259,7 @@ function getParameterListParts(displayParts) {
|
|
|
298
259
|
hasOptionalParameters = hasOptionalParameters || nameIsFollowedByOptionalIndicator;
|
|
299
260
|
}
|
|
300
261
|
break;
|
|
301
|
-
case
|
|
262
|
+
case DisplayPartKind.punctuation:
|
|
302
263
|
if (part.text === '(') {
|
|
303
264
|
++parenCount;
|
|
304
265
|
}
|
|
@@ -342,7 +303,7 @@ function asAdditionalTextEdits(codeActions, filepath) {
|
|
|
342
303
|
for (const change of tsAction.changes) {
|
|
343
304
|
if (change.fileName === filepath) {
|
|
344
305
|
for (const textChange of change.textChanges) {
|
|
345
|
-
additionalTextEdits.push(
|
|
306
|
+
additionalTextEdits.push(toTextEdit(textChange));
|
|
346
307
|
}
|
|
347
308
|
}
|
|
348
309
|
}
|
|
@@ -370,7 +331,7 @@ function asCommand(codeActions, filepath) {
|
|
|
370
331
|
// Create command that applies all edits not in the current file.
|
|
371
332
|
return {
|
|
372
333
|
title: '',
|
|
373
|
-
command:
|
|
334
|
+
command: Commands.APPLY_COMPLETION_CODE_ACTION,
|
|
374
335
|
arguments: [filepath, codeActions.map(codeAction => ({
|
|
375
336
|
commands: codeAction.commands,
|
|
376
337
|
description: codeAction.description,
|
|
@@ -383,15 +344,15 @@ function asDetail({ displayParts, sourceDisplay, source: deprecatedSource }) {
|
|
|
383
344
|
const result = [];
|
|
384
345
|
const source = sourceDisplay || deprecatedSource;
|
|
385
346
|
if (source) {
|
|
386
|
-
result.push(`Auto import from '${
|
|
347
|
+
result.push(`Auto import from '${asPlainText(source)}'`);
|
|
387
348
|
}
|
|
388
|
-
const detail =
|
|
349
|
+
const detail = asPlainText(displayParts);
|
|
389
350
|
if (detail) {
|
|
390
351
|
result.push(detail);
|
|
391
352
|
}
|
|
392
353
|
return result.join('\n');
|
|
393
354
|
}
|
|
394
|
-
function getCompletionTriggerCharacter(character) {
|
|
355
|
+
export function getCompletionTriggerCharacter(character) {
|
|
395
356
|
switch (character) {
|
|
396
357
|
case '@':
|
|
397
358
|
case '#':
|
|
@@ -407,5 +368,4 @@ function getCompletionTriggerCharacter(character) {
|
|
|
407
368
|
return undefined;
|
|
408
369
|
}
|
|
409
370
|
}
|
|
410
|
-
exports.getCompletionTriggerCharacter = getCompletionTriggerCharacter;
|
|
411
371
|
//# sourceMappingURL=completion.js.map
|
package/lib/completion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import tsp from 'typescript/lib/protocol';
|
|
2
|
-
import * as lsp from 'vscode-languageserver
|
|
3
|
-
import { Logger } from './logger';
|
|
4
|
-
import { EventTypes } from './tsp-command-types';
|
|
5
|
-
import { LspDocuments } from './document';
|
|
1
|
+
import type tsp from 'typescript/lib/protocol.d.js';
|
|
2
|
+
import * as lsp from 'vscode-languageserver';
|
|
3
|
+
import { Logger } from './logger.js';
|
|
4
|
+
import { EventTypes } from './tsp-command-types.js';
|
|
5
|
+
import { LspDocuments } from './document.js';
|
|
6
6
|
declare class FileDiagnostics {
|
|
7
7
|
protected readonly uri: string;
|
|
8
8
|
protected readonly publishDiagnostics: (params: lsp.PublishDiagnosticsParams) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic-queue.d.ts","sourceRoot":"","sources":["../src/diagnostic-queue.ts"],"names":[],"mappings":"AAOA,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"diagnostic-queue.d.ts","sourceRoot":"","sources":["../src/diagnostic-queue.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,cAAM,eAAe;IAIb,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAC9B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI;IACrF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAC1C,SAAS,CAAC,QAAQ,CAAC,8BAA8B,EAAE,GAAG,CAAC,8BAA8B,CAAC,oBAAoB,CAAC;IAN/G,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2C;gBAGvD,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI,EAClE,SAAS,EAAE,YAAY,EACvB,8BAA8B,EAAE,GAAG,CAAC,8BAA8B,CAAC,oBAAoB,CAAC;IAG/G,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI;IAI7D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,sBAGlC;IAEA,cAAc,IAAI,GAAG,CAAC,UAAU,EAAE;CAS5C;AAED,qBAAa,oBAAoB;IAKzB,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI;IACrF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAC1C,SAAS,CAAC,QAAQ,CAAC,8BAA8B,EAAE,GAAG,CAAC,8BAA8B,CAAC,oBAAoB,CAAC;IAC3G,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAPrC,SAAS,CAAC,QAAQ,CAAC,WAAW,+BAAsC;IACpE,OAAO,CAAC,sBAAsB,CAA0B;gBAGjC,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI,EAClE,SAAS,EAAE,YAAY,EACvB,8BAA8B,EAAE,GAAG,CAAC,8BAA8B,CAAC,oBAAoB,CAAC,EACxF,MAAM,EAAE,MAAM;IAGrC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,eAAe,GAAG,IAAI;IAkBrE,4BAA4B,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAI5D,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE;IAK5D,OAAO,CAAC,mBAAmB;CAG9B"}
|
package/lib/diagnostic-queue.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (C) 2017, 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
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.DiagnosticEventQueue = void 0;
|
|
13
|
-
const protocol_translation_1 = require("./protocol-translation");
|
|
14
|
-
const p_debounce_1 = __importDefault(require("p-debounce"));
|
|
7
|
+
import debounce from 'p-debounce';
|
|
8
|
+
import { pathToUri, toDiagnostic } from './protocol-translation.js';
|
|
15
9
|
class FileDiagnostics {
|
|
16
10
|
constructor(uri, publishDiagnostics, documents, publishDiagnosticsCapabilities) {
|
|
17
11
|
this.uri = uri;
|
|
@@ -19,7 +13,7 @@ class FileDiagnostics {
|
|
|
19
13
|
this.documents = documents;
|
|
20
14
|
this.publishDiagnosticsCapabilities = publishDiagnosticsCapabilities;
|
|
21
15
|
this.diagnosticsPerKind = new Map();
|
|
22
|
-
this.firePublishDiagnostics = (
|
|
16
|
+
this.firePublishDiagnostics = debounce(() => {
|
|
23
17
|
const diagnostics = this.getDiagnostics();
|
|
24
18
|
this.publishDiagnostics({ uri: this.uri, diagnostics });
|
|
25
19
|
}, 50);
|
|
@@ -32,13 +26,13 @@ class FileDiagnostics {
|
|
|
32
26
|
const result = [];
|
|
33
27
|
for (const diagnostics of this.diagnosticsPerKind.values()) {
|
|
34
28
|
for (const diagnostic of diagnostics) {
|
|
35
|
-
result.push(
|
|
29
|
+
result.push(toDiagnostic(diagnostic, this.documents, this.publishDiagnosticsCapabilities));
|
|
36
30
|
}
|
|
37
31
|
}
|
|
38
32
|
return result;
|
|
39
33
|
}
|
|
40
34
|
}
|
|
41
|
-
class DiagnosticEventQueue {
|
|
35
|
+
export class DiagnosticEventQueue {
|
|
42
36
|
constructor(publishDiagnostics, documents, publishDiagnosticsCapabilities, logger) {
|
|
43
37
|
this.publishDiagnostics = publishDiagnostics;
|
|
44
38
|
this.documents = documents;
|
|
@@ -57,7 +51,7 @@ class DiagnosticEventQueue {
|
|
|
57
51
|
if (this.ignoredDiagnosticCodes.size) {
|
|
58
52
|
diagnostics = diagnostics.filter(diagnostic => !this.isDiagnosticIgnored(diagnostic));
|
|
59
53
|
}
|
|
60
|
-
const uri =
|
|
54
|
+
const uri = pathToUri(file, this.documents);
|
|
61
55
|
const diagnosticsForFile = this.diagnostics.get(uri) || new FileDiagnostics(uri, this.publishDiagnostics, this.documents, this.publishDiagnosticsCapabilities);
|
|
62
56
|
diagnosticsForFile.update(kind, diagnostics);
|
|
63
57
|
this.diagnostics.set(uri, diagnosticsForFile);
|
|
@@ -67,12 +61,11 @@ class DiagnosticEventQueue {
|
|
|
67
61
|
}
|
|
68
62
|
getDiagnosticsForFile(file) {
|
|
69
63
|
var _a;
|
|
70
|
-
const uri =
|
|
64
|
+
const uri = pathToUri(file, this.documents);
|
|
71
65
|
return ((_a = this.diagnostics.get(uri)) === null || _a === void 0 ? void 0 : _a.getDiagnostics()) || [];
|
|
72
66
|
}
|
|
73
67
|
isDiagnosticIgnored(diagnostic) {
|
|
74
68
|
return diagnostic.code !== undefined && this.ignoredDiagnosticCodes.has(diagnostic.code);
|
|
75
69
|
}
|
|
76
70
|
}
|
|
77
|
-
exports.DiagnosticEventQueue = DiagnosticEventQueue;
|
|
78
71
|
//# sourceMappingURL=diagnostic-queue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic-queue.js","sourceRoot":"","sources":["../src/diagnostic-queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diagnostic-queue.js","sourceRoot":"","sources":["../src/diagnostic-queue.ts"],"names":[],"mappings":"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"}
|
package/lib/document-symbol.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as lsp from 'vscode-languageserver
|
|
2
|
-
import tsp from 'typescript/lib/protocol';
|
|
1
|
+
import * as lsp from 'vscode-languageserver';
|
|
2
|
+
import type tsp from 'typescript/lib/protocol.d.js';
|
|
3
3
|
export declare function collectDocumentSymbols(parent: tsp.NavigationTree, symbols: lsp.DocumentSymbol[]): boolean;
|
|
4
4
|
export declare function collectSymbolInformation(uri: string, current: tsp.NavigationTree, symbols: lsp.SymbolInformation[], containerName?: string): boolean;
|
|
5
5
|
export declare function shouldIncludeEntry(item: tsp.NavigationTree | tsp.NavigationBarItem): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-symbol.d.ts","sourceRoot":"","sources":["../src/document-symbol.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"document-symbol.d.ts","sourceRoot":"","sources":["../src/document-symbol.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AAIpD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,OAAO,CAEzG;AA2CD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,iBAAiB,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CA6BpJ;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAK5F"}
|
package/lib/document-symbol.js
CHANGED
|
@@ -1,29 +1,25 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* Copyright (C) 2017, 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
|
-
|
|
11
|
-
|
|
12
|
-
function collectDocumentSymbols(parent, symbols) {
|
|
13
|
-
return collectDocumentSymbolsInRange(parent, symbols, { start: (0, protocol_translation_1.asRange)(parent.spans[0]).start, end: (0, protocol_translation_1.asRange)(parent.spans[parent.spans.length - 1]).end });
|
|
7
|
+
import { asRange, toSymbolKind, Range } from './protocol-translation.js';
|
|
8
|
+
import { ScriptElementKind } from './tsp-command-types.js';
|
|
9
|
+
export function collectDocumentSymbols(parent, symbols) {
|
|
10
|
+
return collectDocumentSymbolsInRange(parent, symbols, { start: asRange(parent.spans[0]).start, end: asRange(parent.spans[parent.spans.length - 1]).end });
|
|
14
11
|
}
|
|
15
|
-
exports.collectDocumentSymbols = collectDocumentSymbols;
|
|
16
12
|
function collectDocumentSymbolsInRange(parent, symbols, range) {
|
|
17
13
|
let shouldInclude = shouldIncludeEntry(parent);
|
|
18
14
|
for (const span of parent.spans) {
|
|
19
|
-
const spanRange =
|
|
20
|
-
if (!
|
|
15
|
+
const spanRange = asRange(span);
|
|
16
|
+
if (!Range.intersection(range, spanRange)) {
|
|
21
17
|
continue;
|
|
22
18
|
}
|
|
23
19
|
const children = [];
|
|
24
20
|
if (parent.childItems) {
|
|
25
21
|
for (const child of parent.childItems) {
|
|
26
|
-
if (child.spans.some(childSpan => !!
|
|
22
|
+
if (child.spans.some(childSpan => !!Range.intersection(spanRange, asRange(childSpan)))) {
|
|
27
23
|
const includedChild = collectDocumentSymbolsInRange(child, children, spanRange);
|
|
28
24
|
shouldInclude = shouldInclude || includedChild;
|
|
29
25
|
}
|
|
@@ -31,9 +27,9 @@ function collectDocumentSymbolsInRange(parent, symbols, range) {
|
|
|
31
27
|
}
|
|
32
28
|
let selectionRange = spanRange;
|
|
33
29
|
if (parent.nameSpan) {
|
|
34
|
-
const nameRange =
|
|
30
|
+
const nameRange = asRange(parent.nameSpan);
|
|
35
31
|
// In the case of mergeable definitions, the nameSpan is only correct for the first definition.
|
|
36
|
-
if (
|
|
32
|
+
if (Range.intersection(spanRange, nameRange)) {
|
|
37
33
|
selectionRange = nameRange;
|
|
38
34
|
}
|
|
39
35
|
}
|
|
@@ -41,7 +37,7 @@ function collectDocumentSymbolsInRange(parent, symbols, range) {
|
|
|
41
37
|
symbols.push({
|
|
42
38
|
name: parent.text,
|
|
43
39
|
detail: '',
|
|
44
|
-
kind:
|
|
40
|
+
kind: toSymbolKind(parent.kind),
|
|
45
41
|
range: spanRange,
|
|
46
42
|
selectionRange: selectionRange,
|
|
47
43
|
children
|
|
@@ -50,15 +46,15 @@ function collectDocumentSymbolsInRange(parent, symbols, range) {
|
|
|
50
46
|
}
|
|
51
47
|
return shouldInclude;
|
|
52
48
|
}
|
|
53
|
-
function collectSymbolInformation(uri, current, symbols, containerName) {
|
|
49
|
+
export function collectSymbolInformation(uri, current, symbols, containerName) {
|
|
54
50
|
let shouldInclude = shouldIncludeEntry(current);
|
|
55
51
|
const name = current.text;
|
|
56
52
|
for (const span of current.spans) {
|
|
57
|
-
const range =
|
|
53
|
+
const range = asRange(span);
|
|
58
54
|
const children = [];
|
|
59
55
|
if (current.childItems) {
|
|
60
56
|
for (const child of current.childItems) {
|
|
61
|
-
if (child.spans.some(span => !!
|
|
57
|
+
if (child.spans.some(span => !!Range.intersection(range, asRange(span)))) {
|
|
62
58
|
const includedChild = collectSymbolInformation(uri, child, children, name);
|
|
63
59
|
shouldInclude = shouldInclude || includedChild;
|
|
64
60
|
}
|
|
@@ -67,7 +63,7 @@ function collectSymbolInformation(uri, current, symbols, containerName) {
|
|
|
67
63
|
if (shouldInclude) {
|
|
68
64
|
symbols.push({
|
|
69
65
|
name,
|
|
70
|
-
kind:
|
|
66
|
+
kind: toSymbolKind(current.kind),
|
|
71
67
|
location: {
|
|
72
68
|
uri,
|
|
73
69
|
range
|
|
@@ -79,12 +75,10 @@ function collectSymbolInformation(uri, current, symbols, containerName) {
|
|
|
79
75
|
}
|
|
80
76
|
return shouldInclude;
|
|
81
77
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (item.kind === tsp_command_types_1.ScriptElementKind.alias) {
|
|
78
|
+
export function shouldIncludeEntry(item) {
|
|
79
|
+
if (item.kind === ScriptElementKind.alias) {
|
|
85
80
|
return false;
|
|
86
81
|
}
|
|
87
82
|
return !!(item.text && item.text !== '<function>' && item.text !== '<class>');
|
|
88
83
|
}
|
|
89
|
-
exports.shouldIncludeEntry = shouldIncludeEntry;
|
|
90
84
|
//# sourceMappingURL=document-symbol.js.map
|