diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index d07e47c8de9..fd9665b6145 100644 --- a/editors/code/src/config.ts +++ b/editors/code/src/config.ts @@ -219,7 +219,7 @@ export async function updateConfig(config: vscode.WorkspaceConfiguration) { }, ]; for (const { val, langVal, target } of valMatrix) { - const pred = (val: unknown) => { + const patch = (val: unknown) => { // some of the updates we do only append "enable" or "custom" // that means on the next run we would find these again, but as objects with // these properties causing us to destroy the config @@ -229,15 +229,15 @@ export async function updateConfig(config: vscode.WorkspaceConfiguration) { !( typeof val === "object" && val !== null && - (val.hasOwnProperty("enable") || val.hasOwnProperty("custom")) + (oldKey === "completion.snippets" || !val.hasOwnProperty("custom")) ) ); }; - if (pred(val)) { + if (patch(val)) { await config.update(newKey, val, target, false); await config.update(oldKey, undefined, target, false); } - if (pred(langVal)) { + if (patch(langVal)) { await config.update(newKey, langVal, target, true); await config.update(oldKey, undefined, target, true); }