From 9f37f3f04ee038b2451cff29c6929596da209df6 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Wed, 24 Mar 2021 05:13:00 -0700 Subject: [PATCH] Pull common unix/win parts into shared function --- .../contrib/terminal/node/terminalProfiles.ts | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/vs/workbench/contrib/terminal/node/terminalProfiles.ts b/src/vs/workbench/contrib/terminal/node/terminalProfiles.ts index d7601b27859..c47fb560265 100644 --- a/src/vs/workbench/contrib/terminal/node/terminalProfiles.ts +++ b/src/vs/workbench/contrib/terminal/node/terminalProfiles.ts @@ -57,13 +57,7 @@ async function detectAvailableWindowsProfiles(quickLaunchOnly: boolean, statProv ); } - for (const [profileName, value] of Object.entries(configProfiles || {})) { - if (value === null) { - detectedProfiles.delete(profileName); - } else { - detectedProfiles.set(profileName, value); - } - } + applyConfigProfilesToMap(configProfiles, detectedProfiles); const resultProfiles: ITerminalProfile[] = await transformToTerminalProfiles(detectedProfiles.entries(), statProvider, logService, variableResolver, workspaceFolder); @@ -203,17 +197,24 @@ async function detectAvailableUnixProfiles(statProvider: IStatProvider, logServi } } - for (const [profileName, value] of Object.entries(configProfiles || {})) { - if (value === null) { - detectedProfiles.delete(profileName); - } else { - detectedProfiles.set(profileName, value); - } - } + applyConfigProfilesToMap(configProfiles, detectedProfiles); return await transformToTerminalProfiles(detectedProfiles.entries(), statProvider, logService, variableResolver, workspaceFolder); } +function applyConfigProfilesToMap(configProfiles: { [key: string]: ITerminalProfileObject } | undefined, profilesMap: Map) { + if (!configProfiles) { + return; + } + for (const [profileName, value] of Object.entries(configProfiles)) { + if (value === null) { + profilesMap.delete(profileName); + } else { + profilesMap.set(profileName, value); + } + } +} + async function validateProfilePaths(label: string, potentialPaths: string[], statProvider: IStatProvider, args?: string[] | string, logService?: ILogService): Promise { if (potentialPaths.length === 0) { return Promise.resolve(undefined);