@@ -1041,16 +1041,21 @@ class CompletionsAdapter {
1041
1041
return undefined ;
1042
1042
}
1043
1043
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
+ ) {
1045
1049
this . _apiDeprecation . report ( 'CompletionItem.insertText' , this . _extension , 'extension MAY NOT change \'insertText\' of a CompletionItem during resolve' ) ;
1046
1050
}
1047
1051
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
+ ) {
1049
1056
this . _apiDeprecation . report ( 'CompletionItem.command' , this . _extension , 'extension MAY NOT change \'command\' of a CompletionItem during resolve' ) ;
1050
1057
}
1051
1058
1052
- const dto2 = this . _convertCompletionItem ( resolvedItem , id ) ;
1053
-
1054
1059
return {
1055
1060
...dto1 ,
1056
1061
[ extHostProtocol . ISuggestDataDtoField . documentation ] : dto2 [ extHostProtocol . ISuggestDataDtoField . documentation ] ,
@@ -1068,14 +1073,6 @@ class CompletionsAdapter {
1068
1073
} ;
1069
1074
}
1070
1075
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
-
1079
1076
releaseCompletionItems ( id : number ) : any {
1080
1077
this . _disposables . get ( id ) ?. dispose ( ) ;
1081
1078
this . _disposables . delete ( id ) ;
0 commit comments