@@ -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