@@ -22,8 +22,9 @@ export = function ({ typescript }: { typescript: typeof import('typescript/lib/t
22
22
proxy [ k ] = ( ...args : Array < Record < string , unknown > > ) => x . apply ( info . languageService , args )
23
23
}
24
24
25
- let prevCompletions : any
25
+ let prevCompletionsMap : any
26
26
proxy . getCompletionsAtPosition = ( fileName , position , options ) => {
27
+ prevCompletionsMap = { }
27
28
if ( ! _configuration ) {
28
29
console . log ( 'no received configuration!' )
29
30
}
@@ -105,7 +106,13 @@ export = function ({ typescript }: { typescript: typeof import('typescript/lib/t
105
106
// TODO lift up!
106
107
prior . entries = prior . entries . map ( entry => {
107
108
if ( ! standardProps . includes ( entry . name ) ) {
108
- return { ...entry , insertText : entry . insertText ?? entry . name , name : `☆${ entry . name } ` }
109
+ const newName = `☆${ entry . name } `
110
+ prevCompletionsMap [ newName ] = entry . name
111
+ return {
112
+ ...entry ,
113
+ insertText : entry . insertText ?? entry . name ,
114
+ name : newName ,
115
+ }
109
116
}
110
117
return entry
111
118
} )
@@ -166,7 +173,15 @@ export = function ({ typescript }: { typescript: typeof import('typescript/lib/t
166
173
const program = info . languageService . getProgram ( )
167
174
const sourceFile = program ?. getSourceFile ( fileName )
168
175
if ( ! program || ! sourceFile ) return
169
- const prior = info . languageService . getCompletionEntryDetails ( fileName , position , entryName , formatOptions , source , preferences , data )
176
+ const prior = info . languageService . getCompletionEntryDetails (
177
+ fileName ,
178
+ position ,
179
+ prevCompletionsMap [ entryName ] || entryName ,
180
+ formatOptions ,
181
+ source ,
182
+ preferences ,
183
+ data ,
184
+ )
170
185
if ( ! prior ) return
171
186
// if (prior.kind === typescript.ScriptElementKind.constElement && prior.displayParts.map(item => item.text).join('').match(/: \(.+\) => .+/)) prior.codeActions?.push({
172
187
// description: '',
0 commit comments