Use spread when converting completion entry to protocol format (#59412)

This commit is contained in:
Gabriela Araujo Britto
2024-07-24 17:29:12 -07:00
committed by GitHub
parent 0c33c13b83
commit f8336d1479
76 changed files with 5084 additions and 4837 deletions

View File

@@ -2452,45 +2452,13 @@ export class Session<TMessage = string> implements EventSender {
const prefix = args.prefix || "";
const entries = mapDefined<CompletionEntry, protocol.CompletionEntry>(completions.entries, entry => {
if (completions.isMemberCompletion || startsWith(entry.name.toLowerCase(), prefix.toLowerCase())) {
const {
name,
kind,
kindModifiers,
sortText,
insertText,
filterText,
replacementSpan,
hasAction,
source,
sourceDisplay,
labelDetails,
isSnippet,
isRecommended,
isPackageJsonImport,
isImportStatementCompletion,
data,
commitCharacters,
} = entry;
const convertedSpan = replacementSpan ? toProtocolTextSpan(replacementSpan, scriptInfo) : undefined;
const convertedSpan = entry.replacementSpan ? toProtocolTextSpan(entry.replacementSpan, scriptInfo) : undefined;
// Use `hasAction || undefined` to avoid serializing `false`.
return {
name,
kind,
kindModifiers,
sortText,
insertText,
filterText,
...entry,
replacementSpan: convertedSpan,
isSnippet,
hasAction: hasAction || undefined,
source,
sourceDisplay,
labelDetails,
isRecommended,
isPackageJsonImport,
isImportStatementCompletion,
data,
commitCharacters,
hasAction: entry.hasAction || undefined,
symbol: undefined,
};
}
});