@@ -28,6 +28,9 @@ interface Tsserver {
2828 sendCompletionInfo (
2929 args : server . protocol . CompletionsRequest [ 'arguments' ] ,
3030 ) : Promise < server . protocol . CompletionInfoResponse > ;
31+ sendCompletionDetails (
32+ args : server . protocol . CompletionDetailsRequest [ 'arguments' ] ,
33+ ) : Promise < server . protocol . CompletionDetailsResponse > ;
3134 sendGetCodeFixes ( args : server . protocol . CodeFixRequest [ 'arguments' ] ) : Promise < server . protocol . CodeFixResponse > ;
3235}
3336
@@ -77,6 +80,7 @@ export function launchTsserver(): Tsserver {
7780 sendRequest ( ts . server . protocol . CommandTypes . GetApplicableRefactors , args ) ,
7881 sendGetEditsForRefactor : async ( args ) => sendRequest ( ts . server . protocol . CommandTypes . GetEditsForRefactor , args ) ,
7982 sendCompletionInfo : async ( args ) => sendRequest ( ts . server . protocol . CommandTypes . CompletionInfo , args ) ,
83+ sendCompletionDetails : async ( args ) => sendRequest ( ts . server . protocol . CommandTypes . CompletionDetails , args ) ,
8084 sendGetCodeFixes : async ( args ) => sendRequest ( ts . server . protocol . CommandTypes . GetCodeFixes , args ) ,
8185 } ;
8286}
@@ -200,6 +204,30 @@ export function normalizeCompletionEntry(entries: readonly SimplifiedCompletionE
200204 ) ;
201205}
202206
207+ type SimplifiedCodeAction = {
208+ changes : ts . server . protocol . FileCodeEdits [ ] ;
209+ } ;
210+
211+ type SimplifiedCompletionDetails = {
212+ codeActions ?: SimplifiedCodeAction [ ] ;
213+ } ;
214+
215+ export function normalizeCompletionDetails (
216+ entries : readonly SimplifiedCompletionDetails [ ] ,
217+ ) : SimplifiedCompletionDetails [ ] {
218+ return entries . map ( ( entry ) => {
219+ return {
220+ ...( entry . codeActions ?
221+ {
222+ codeActions : entry . codeActions . map ( ( action ) => {
223+ return { changes : action . changes } ;
224+ } ) ,
225+ }
226+ : { } ) ,
227+ } ;
228+ } ) ;
229+ }
230+
203231type SimplifiedCodeFixAction = {
204232 fixName : string ;
205233 changes : ts . server . protocol . FileCodeEdits [ ] ;
0 commit comments