Skip to content

Commit 6a33538

Browse files
committed
fix: give correct intellisense for highlighted props
1 parent a84a94d commit 6a33538

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

typescript/src/index.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ export = function ({ typescript }: { typescript: typeof import('typescript/lib/t
2222
proxy[k] = (...args: Array<Record<string, unknown>>) => x.apply(info.languageService, args)
2323
}
2424

25-
let prevCompletions: any
25+
let prevCompletionsMap: any
2626
proxy.getCompletionsAtPosition = (fileName, position, options) => {
27+
prevCompletionsMap = {}
2728
if (!_configuration) {
2829
console.log('no received configuration!')
2930
}
@@ -105,7 +106,13 @@ export = function ({ typescript }: { typescript: typeof import('typescript/lib/t
105106
// TODO lift up!
106107
prior.entries = prior.entries.map(entry => {
107108
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+
}
109116
}
110117
return entry
111118
})
@@ -166,7 +173,15 @@ export = function ({ typescript }: { typescript: typeof import('typescript/lib/t
166173
const program = info.languageService.getProgram()
167174
const sourceFile = program?.getSourceFile(fileName)
168175
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+
)
170185
if (!prior) return
171186
// if (prior.kind === typescript.ScriptElementKind.constElement && prior.displayParts.map(item => item.text).join('').match(/: \(.+\) => .+/)) prior.codeActions?.push({
172187
// description: '',

0 commit comments

Comments
 (0)