Skip to content

Commit d35617d

Browse files
authored
improve deprecated API reporting (microsoft#186179)
1 parent 145e990 commit d35617d

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

src/vs/workbench/api/common/extHostLanguageFeatures.ts

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,16 +1041,21 @@ class CompletionsAdapter {
10411041
return undefined;
10421042
}
10431043

1044-
if (CompletionsAdapter._insertTextIdent(item.insertText) !== CompletionsAdapter._insertTextIdent(resolvedItem.insertText)) {
1044+
const dto2 = this._convertCompletionItem(resolvedItem, id);
1045+
1046+
if (dto1[extHostProtocol.ISuggestDataDtoField.insertText] !== dto2[extHostProtocol.ISuggestDataDtoField.insertText]
1047+
|| dto1[extHostProtocol.ISuggestDataDtoField.insertTextRules] !== dto2[extHostProtocol.ISuggestDataDtoField.insertTextRules]
1048+
) {
10451049
this._apiDeprecation.report('CompletionItem.insertText', this._extension, 'extension MAY NOT change \'insertText\' of a CompletionItem during resolve');
10461050
}
10471051

1048-
if (!equals(item.command, resolvedItem.command)) {
1052+
if (dto1[extHostProtocol.ISuggestDataDtoField.commandIdent] !== dto2[extHostProtocol.ISuggestDataDtoField.commandIdent]
1053+
|| dto1[extHostProtocol.ISuggestDataDtoField.commandId] !== dto2[extHostProtocol.ISuggestDataDtoField.commandId]
1054+
|| !equals(dto1[extHostProtocol.ISuggestDataDtoField.commandArguments], dto2[extHostProtocol.ISuggestDataDtoField.commandArguments])
1055+
) {
10491056
this._apiDeprecation.report('CompletionItem.command', this._extension, 'extension MAY NOT change \'command\' of a CompletionItem during resolve');
10501057
}
10511058

1052-
const dto2 = this._convertCompletionItem(resolvedItem, id);
1053-
10541059
return {
10551060
...dto1,
10561061
[extHostProtocol.ISuggestDataDtoField.documentation]: dto2[extHostProtocol.ISuggestDataDtoField.documentation],
@@ -1068,14 +1073,6 @@ class CompletionsAdapter {
10681073
};
10691074
}
10701075

1071-
private static _insertTextIdent(insertText: string | vscode.SnippetString | undefined) {
1072-
switch (typeof insertText) {
1073-
case 'string': return insertText;
1074-
case 'undefined': return undefined;
1075-
case 'object': return insertText.value;
1076-
}
1077-
}
1078-
10791076
releaseCompletionItems(id: number): any {
10801077
this._disposables.get(id)?.dispose();
10811078
this._disposables.delete(id);

0 commit comments

Comments
 (0)