ProductQualityContext.bindTo(this.contextKeyService).set(this.productService.quality || ''); EmbedderIdentifierContext.bindTo(this.contextKeyService).set(productService.embedderIdentifier); <ins> // Editor Groups this.activeEditorGroupEmpty = ActiveEditorGroupEmptyContext.bindTo(this.contextKeyService); this.activeEditorGroupIndex = ActiveEditorGroupIndexContext.bindTo(this.contextKeyService); this.activeEditorGroupLast = ActiveEditorGroupLastContext.bindTo(this.contextKeyService); this.activeEditorGroupLocked = ActiveEditorGroupLockedContext.bindTo(this.contextKeyService); this.multipleEditorGroupsContext = MultipleEditorGroupsContext.bindTo(this.contextKeyService); // Editors this.editorsVisibleContext = EditorsVisibleContext.bindTo(this.contextKeyService); </ins> // Working Copies this.dirtyWorkingCopiesContext = DirtyWorkingCopiesContext.bindTo(this.contextKeyService); this.dirtyWorkingCopiesContext.set(this.workingCopyService.hasDirty);


linuxExecutableName: product.applicationName, winIcon: 'resources/win32/code.ico', token: process.env['GITHUB_TOKEN'], <del> repo: product.electronRepository || undefined </del> <ins> repo: product.electronRepository || undefined, validateChecksum: true, checksumFile: path.join(root, 'build', 'checksums', 'electron.txt'), </ins> }; function getElectron(arch: string): () => NodeJS.ReadWriteStream {


if (!suggestOptions.showUsers) { result.add(CompletionItemKind.User); } if (!suggestOptions.showIssues) { result.add(CompletionItemKind.Issue); } <del> return result; </del> <ins> return { itemKind: result, showDeprecated: suggestOptions.showDeprecated }; </ins> } private _onNewContext(ctx: LineContext): void {


} private readonly _onInput: Emitter<string> = new Emitter<string>(); <del> public get onInput(): Event<string> { </del> <ins> public get onDidAcceptInput(): Event<string> { </ins> this._checkDisposed(); this._queueApiRequest(this._proxy.$terminalRendererRegisterOnInputListener, [this._id]); // Tell the main side to start sending data if it's not already


export async function getCurrentAuthenticationSessionInfo(credentialsService: ICredentialsService, productService: IProductService): Promise<AuthenticationSessionInfo | undefined> { const authenticationSessionValue = await credentialsService.getPassword(`${productService.urlProtocol}.login`, 'account'); if (authenticationSessionValue) { <del> const authenticationSessionInfo: AuthenticationSessionInfo = JSON.parse(authenticationSessionValue); if (authenticationSessionInfo && isString(authenticationSessionInfo.id) && isString(authenticationSessionInfo.accessToken) && isString(authenticationSessionInfo.providerId) ) { return authenticationSessionInfo; </del> <ins> try { const authenticationSessionInfo: AuthenticationSessionInfo = JSON.parse(authenticationSessionValue); if (authenticationSessionInfo && isString(authenticationSessionInfo.id) && isString(authenticationSessionInfo.accessToken) && isString(authenticationSessionInfo.providerId) ) { return authenticationSessionInfo; } } catch (e) { // ignore as this is a best effort operation. </ins> } } return undefined;


*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> import { createCancelablePromise, firstParallel } from 'vs/base/common/async'; </del> <ins> import { createCancelablePromise, firstParallel, timeout } from 'vs/base/common/async'; </ins> import { IDisposable } from 'vs/base/common/lifecycle'; import * as platform from 'vs/base/common/platform'; import * as nls from 'vs/nls';


"update-build-ts-version": "npm install typescript@next && tsc -p ./build/tsconfig.build.json" }, "dependencies": { <ins> "@bpasero/watcher": "https://github.com/bpasero/watcher.git#3e5e50c275590703f3eb46fac777b720e515d0d5", </ins> "@microsoft/1ds-core-js": "^3.2.13", "@microsoft/1ds-post-js": "^3.2.13", "@parcel/watcher": "2.1.0",


PathSeparatorClause = '/', // '":; are allowed in paths but they are often separators so ignore them // Also disallow  to prevent a catastropic backtracking case #24795 <del> ExcludedPathCharactersClause = '[^0s!`&*()[]'":;]', </del> <ins> ExcludedPathCharactersClause = '[^0s!`&*()'":;]', ExcludedStartPathCharactersClause = '[^0s!`&*()[]'":;]', </ins> WinOtherPathPrefix = '..?|~', WinPathSeparatorClause = '(|/)', <del> WinExcludedPathCharactersClause = '[^0<>?|/s!`&*()[]'":;]', </del> <ins> WinExcludedPathCharactersClause = '[^0<>?|/s!`&*()'":;]', WinExcludedStartPathCharactersClause = '[^0<>?|/s!`&*()[]'":;]', </ins> } /** A regex that matches paths in the form /foo, ~/foo, ./foo, ../foo, foo/bar */ <del> export const unixLocalLinkClause = '((' + RegexPathConstants.PathPrefix + '|(' + RegexPathConstants.ExcludedPathCharactersClause + ')+)?(' + RegexPathConstants.PathSeparatorClause + '(' + RegexPathConstants.ExcludedPathCharactersClause + ')+)+)'; </del> <ins> export const unixLocalLinkClause = '((' + RegexPathConstants.PathPrefix + '|(' + RegexPathConstants.ExcludedStartPathCharactersClause + RegexPathConstants.ExcludedPathCharactersClause + '*))?(' + RegexPathConstants.PathSeparatorClause + '(' + RegexPathConstants.ExcludedPathCharactersClause + ')+)+)'; </ins> export const winDrivePrefix = '(?:?)?[a-zA-Z]:'; /** A regex that matches paths in the form ?c:foo c:foo, ~foo, .foo, ..foo, foobar */ <del> export const winLocalLinkClause = '((' + `(${winDrivePrefix}|${RegexPathConstants.WinOtherPathPrefix})` + '|(' + RegexPathConstants.WinExcludedPathCharactersClause + ')+)?(' + RegexPathConstants.WinPathSeparatorClause + '(' + RegexPathConstants.WinExcludedPathCharactersClause + ')+)+)'; </del> <ins> export const winLocalLinkClause = '((' + `(${winDrivePrefix}|${RegexPathConstants.WinOtherPathPrefix})` + '|(' + RegexPathConstants.WinExcludedStartPathCharactersClause + RegexPathConstants.WinExcludedPathCharactersClause + '*))?(' + RegexPathConstants.WinPathSeparatorClause + '(' + RegexPathConstants.WinExcludedPathCharactersClause + ')+)+)'; </ins> // TODO: This should eventually move to the more structured terminalLinkParsing /** As xterm reads from DOM, space in that case is nonbreaking char ASCII code - 160,


} else if (task.command.presentation.showReuseMessage) { waitOnExit = nls.localize('reuseTerminal', 'Terminal will be reused by tasks, press any key to close it.'); } else { <del> waitOnExit = 'u200B'; </del> <ins> waitOnExit = true; </ins> } } let shellLaunchConfig: IShellLaunchConfig | undefined = undefined;


"scope": "resource", "default": 10, "description": "%config.detectSubmodulesLimit%" <ins> }, "git.alwaysSignOff": { "type": "boolean", "scope": "resource", "default": false, "description": "%config.alwaysSignOff%" </ins> } } },


const remainingArgs: any = parsedArgs; // https://github.com/microsoft/vscode/issues/58177 <del> cleanedArgs._ = parsedArgs._.filter(arg => arg.length > 0); </del> <ins> cleanedArgs._ = parsedArgs._.filter(arg => String(arg).length > 0); </ins> delete remainingArgs._;


mapping['method'] = 'showMethods'; mapping['function'] = 'showFunctions'; mapping['constructor'] = 'showConstructors'; <ins> mapping['deprecated'] = 'showDeprecated'; </ins> mapping['field'] = 'showFields'; mapping['variable'] = 'showVariables'; mapping['class'] = 'showClasses';


[Files] Source: "*"; Excludes: "inno_updater.exe"; DestDir: "{code:GetDestDir}"; Flags: ignoreversion recursesubdirs createallsubdirs <del> Source: "inno_updater.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs </del> <ins> Source: "inno_updater.exe"; DestDir: "{app}tools"; Flags: ignoreversion Source: "vcruntime140.dll"; DestDir: "{app}tools"; Flags: ignoreversion </ins> [Icons] Name: "{group}{#NameLong}"; Filename: "{app}{#ExeBasename}.exe"; AppUserModelID: "{#AppUserId}"


if (visibleElementsCount === 0) { this.doShow(this.showAtPosition, this.tree.getInput(), false, true); } else { <del> const height = Math.min(visibleElementsCount, MAX_ELEMENTS_SHOWN) * 18; </del> <ins> const height = Math.min(visibleElementsCount, MAX_ELEMENTS_SHOWN) * 18 + 10; // add 10 px for the horizontal scroll bar </ins> if (this.treeContainer.clientHeight !== height) { this.treeContainer.style.height = `${height}px`;


"when": "scmProvider == git" }, { <ins> "command": "git.pushToForce", "group": "1_sync", "when": "scmProvider == git && config.git.allowForcePush" }, { </ins> "command": "git.publish", "group": "2_publish", "when": "scmProvider == git"


}, "xterm": { "version": "1.0.0", <del> "from": "git+https://github.com/sourcelair/xterm.js.git#55fb5db", "resolved": "git+https://github.com/sourcelair/xterm.js.git#55fb5dbcb5353d6fb2a00617be4b1c5de84c6c80" </del> <ins> "from": "git+https://github.com/sourcelair/xterm.js.git#5e662d0", "resolved": "git+https://github.com/sourcelair/xterm.js.git#5e662d0eb7c2e8b5100f96b45b1110b8f85ba8df" </ins> }, "yauzl": { "version": "2.3.1",


initialMousePosX: number | undefined, initialMousePosY: number | undefined ) { <del> super(10, owner, part.item.anchor.range, initialMousePosX, initialMousePosY); </del> <ins> super(10, owner, part.item.anchor.range, initialMousePosX, initialMousePosY, true); </ins> } }


} return this.addExtensionToWorkspaceFolderConfig(configurationFile, extensionId, shouldRecommend).then(() => { <del> this.notificationService.info(localize('AddToWorkspaceFolderRecommendations.success', 'The extension was successfully added to this workspace folder's recommendations.')); </del> <ins> this.notificationService.prompt(Severity.Info, localize('AddToWorkspaceFolderRecommendations.success', 'The extension was successfully added to this workspace folder's recommendations.'), [{ label: localize('viewChanges', "View Changes"), run: () => this.openExtensionsFile(configurationFile) }]); </ins> }, err => { this.notificationService.error(localize('AddToWorkspaceFolderRecommendations.failure', 'Failed to write to extensions.json. {0}', err)); });


return; } <ins> if (!this.configurationService.getValue<IDebugConfiguration>('debug').enableAllHovers) { this.nonDebugHoverPosition = mouseEvent.target.position; this.provideNonDebugHoverScheduler.schedule(); } </ins> const targetType = mouseEvent.target.type; const stopKey = env.isMacintosh ? 'metaKey' : 'ctrlKey';


export interface ISelectOptionItem { optionText: string; <ins> optionDescriptionText?: string; </ins> optionDisabled: boolean; } interface ISelectListTemplateData { root: HTMLElement; optionText: HTMLElement; <ins> optionDescriptionText: HTMLElement; </ins> disposables: IDisposable[]; }


// FindNext must be false for a first request const findOptions: FindInPageOptions = { forward: options.forward, <del> findNext: false, </del> <ins> findNext: true, </ins> matchCase: options.matchCase, medialCapitalAsWordStart: options.medialCapitalAsWordStart };


return [ this.notebookService.getNotebookProviderResourceRoots(), this.notebookService.getRenderers().map(x => dirname(x.entrypoint.path)), <del> Array.from(this.notebookService.getStaticPreloads(this.notebookViewType), x => dirname(x.entrypoint)), </del> <ins> ...Array.from(this.notebookService.getStaticPreloads(this.notebookViewType), x => [ dirname(x.entrypoint), ...x.localResourceRoots, ]), </ins> workspaceFolders, notebookDir, this.getBuiltinLocalResourceRoots()


runtime: layoutRuntimeState, }; <ins> const isNewWindow = lifecycleService.startupKind === StartupKind.NewWindow; const activityBarNotDefault = this.configurationService.getValue<ActivityBarPosition>(LayoutSettings.ACTIVITY_BAR_LOCATION) !== ActivityBarPosition.DEFAULT; </ins> // Sidebar View Container To Restore if (this.isVisible(Parts.SIDEBAR_PART)) {


{ "name": "code-oss-dev", "version": "1.59.0", <del> "distro": "4f9399b417ee98731317fbd4616d6fc287172355", </del> <ins> "distro": "74b4e453554c83bca64754d34278aff04e1d78f9", </ins> "author": { "name": "Microsoft Corporation" },


"xterm*" ] } <ins> ], "header/header": [ 2, "block", [ "---------------------------------------------------------------------------------------------", " *  Copyright (c) Microsoft Corporation. All rights reserved.", " *  Licensed under the MIT License. See License.txt in the project root for license information.", " *--------------------------------------------------------------------------------------------" ] </ins> ] }, "overrides": [


.quick-input-list { line-height: 22px; <del> margin-top: 6px; padding: 1px; </del> } .quick-input-widget.hidden-input .quick-input-list {


}, "isOnlyProductionDependency": true, "license": "MIT", <del> "version": "19.1.8" </del> <ins> "version": "19.1.9" </ins> }, { "component": {


id: 'features/audioCues', label: localize('audioCues', 'Audio Cues'), settings: ['audioCues.*'] <ins> }, { id: 'features/mergeEditor', label: localize('mergeEditor', 'Merge Editor'), settings: ['mergeEditor.*'] </ins> } ] },


const extension = await this.extensionService.getExtension(extensionId); if (!extension) { <del> await this.handleUnhandledURL(uri, { id: extensionId }); </del> <ins> await this.handleUnhandledURL(uri, { id: extensionId }, options); </ins> return true; }


if (NotebookEdit.isNotebookCellEdit(edit)) { if (edit.newCellMetadata) { this.replaceNotebookCellMetadata(uri, edit.range.start, edit.newCellMetadata); <ins> } else if (edit.newNotebookMetadata) { this.replaceNotebookMetadata(uri, edit.newNotebookMetadata); </ins> } else { this.replaceNotebookCells(uri, edit.range, edit.newCells); }


"tab.unfocusedActiveBorder": "#f8f8f8", "tab.unfocusedActiveBorderTop": "#00000015", "tab.unfocusedHoverBackground": "#6e76811a", <ins> "terminalCursor.foreground": "#005FB8", </ins> "terminal.foreground": "#ffffffc5", "terminal.inactiveSelectionBackground": "#E5EBF1", "terminal.tab.activeBorder": "#005fb8",


arg = { forceNewWindow: arg }; } if (!uri) { <del> return executor.executeCommand('_files.pickFolderAndOpen', arg.forceNewWindow); </del> <ins> return executor.executeCommand('_files.pickFolderAndOpen', { forceNewWindow: arg.forceNewWindow }); </ins> } const options: IOpenSettings = { forceNewWindow: arg.forceNewWindow, noRecentEntry: arg.noRecentEntry }; uri = URI.revive(uri);


id: 'inlineChat.quickVoice.start', title: localize2('start', "Start Inline Voice Chat"), category: AbstractInlineChatAction.category, <del> precondition: ContextKeyExpr.and(HasSpeechProvider, CTX_QUICK_CHAT_IN_PROGRESS.toNegated()), </del> <ins> precondition: ContextKeyExpr.and(HasSpeechProvider, CTX_QUICK_CHAT_IN_PROGRESS.toNegated(), EditorContextKeys.focus), </ins> f1: true, keybinding: { primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyCode.KeyI),


.quick-input-titlebar { display: flex; align-items: center; <ins> border-top-left-radius: 5px; /* match border radius of quick input widget */ border-top-right-radius: 5px; </ins> } .quick-input-left-action-bar {


const disposables = new DisposableStore(); try { const userDataProfilesExportState = disposables.add(this.instantiationService.createInstance(UserDataProfileExportState, this.userDataProfileService.currentProfile)); <del> const title = localize('export profile preview', "Export"); const exportProfile = await this.selectProfileResources( userDataProfilesExportState, localize('export title', "{0}: {1} ({2})", PROFILES_CATEGORY.value, title, this.userDataProfileService.currentProfile.name), localize('export description', "Choose what to export") ); if (exportProfile === undefined) { return; } await this.doExportProfile(userDataProfilesExportState, !exportProfile, localize('cancel', "Cancel")); </del> <ins> await this.doExportProfile(userDataProfilesExportState, true, localize('cancel', "Cancel")); </ins> } finally { disposables.dispose(); }


content.push(`a:hover, .workbenchCommand:hover { color: ${styles.textLinkActiveForeground}; }`); } <del> if (styles.sliderBackgroundColor) { content.push(`::-webkit-scrollbar-thumb { background-color: ${styles.sliderBackgroundColor}; }`); } </del> if (styles.sliderActiveColor) { <del> content.push(`::-webkit-scrollbar-thumb:active { background-color: ${styles.sliderActiveColor}; }`); </del> <ins> content.push(`.issue-reporter-body::-webkit-scrollbar-thumb:active { background-color: ${styles.sliderActiveColor}; }`); </ins> } if (styles.sliderHoverColor) { <del> content.push(`::--webkit-scrollbar-thumb:hover { background-color: ${styles.sliderHoverColor}; }`); </del> <ins> content.push(`.issue-reporter-body::-webkit-scrollbar-thumb { background-color: ${styles.sliderHoverColor}; }`); content.push(`.issue-reporter-body::--webkit-scrollbar-thumb:hover { background-color: ${styles.sliderHoverColor}; }`); </ins> } if (styles.buttonBackground) {


// Handle empty if (emptyToRestore.length > 0) { emptyToRestore.forEach(emptyWorkspaceBackupFolder => { <del> const configuration = this.toConfiguration(openConfig); </del> <ins> const configuration = this.toConfiguration(openConfig, void 0, filesToOpen, filesToCreate, filesToDiff); </ins> const browserWindow = this.openInBrowserWindow(configuration, true /* new window */, null, emptyWorkspaceBackupFolder); usedWindows.push(browserWindow); <ins> // Reset these because we handled them filesToOpen = []; filesToCreate = []; filesToDiff = []; </ins> openFolderInNewWindow = true; // any other folders to open must open in new window then }); }


this._store.add(this._progressBar); let allowRequests = false; <del> this._chatWidget = _instantiationService.createInstance( </del> <ins> const scopedInstaService = _instantiationService.createChild( new ServiceCollection([ IContextKeyService, this._store.add(_contextKeyService.createScoped(this._elements.chatWidget)) ]) ); this._chatWidget = scopedInstaService.createInstance( </ins> ChatWidget, location, { resource: true },


text-overflow: ellipsis; } <ins> .default-preferences-editor-container > .preferences-header-container > .default-preferences-header, .settings-tabs-widget > .monaco-action-bar .action-item .action-label:not([aria-haspopup]) { display: block; } </ins> .settings-tabs-widget > .monaco-action-bar .actions-container { justify-content: flex-start; }


nls.localize('addBreakpoint', "Add Breakpoint"), null, true, <del> () => this.debugService.addBreakpoints(uri, [{ lineNumber }]) </del> <ins> () => this.debugService.addBreakpoints(uri, [{ lineNumber }], `debugEditorContextMenu`) </ins> )); actions.push(new Action( 'addConditionalBreakpoint',


if (extensionsSelector) { const { selectedExtension } = this.issueReporterModel.getData(); reset(extensionsSelector, this.makeOption('', localize('selectExtension', "Select extension"), true), ...extensionOptions.map(extension => makeOption(extension, selectedExtension))); <del> extensionsSelector.selectedIndex = 0; </del> <ins> if (!selectedExtension) { extensionsSelector.selectedIndex = 0; } </ins> this.addEventListener('extension-selector', 'change', (e: Event) => { const selectedExtensionId = (<HTMLInputElement>e.target).value;


"command": "git.openChange", "title": "%command.openChange%", "category": "Git", <del> "icon": "$(compare-changes)" </del> <ins> "icon": "$(compare-changes)", "enablement": "scmActiveResourceHasChanges" </ins> }, { "command": "git.openAllChanges",


if (settingId !== this.currentFileIconTheme.settingsId) { await this.internalSetFileIconTheme(theme.id, undefined); } else if (theme !== this.currentFileIconTheme) { <ins> await theme.ensureLoaded(this.extensionResourceLoaderService); </ins> this.applyAndSetFileIconTheme(theme, true); } return true;


} } <ins> function compareSourceControlHistoryItemRef(ref1: SourceControlHistoryItemRef, ref2: SourceControlHistoryItemRef): number { const getOrder = (ref: SourceControlHistoryItemRef): number => { if (ref.id.startsWith('refs/heads/')) { return 1; } else if (ref.id.startsWith('refs/remotes/')) { return 2; } else if (ref.id.startsWith('refs/tags/')) { return 3; } return 99; }; const ref1Order = getOrder(ref1); const ref2Order = getOrder(ref2); if (ref1Order !== ref2Order) { return ref1Order - ref2Order; } return ref1.name.localeCompare(ref2.name); } </ins> export class GitHistoryProvider implements SourceControlHistoryProvider, FileDecorationProvider, IDisposable { private readonly _onDidChangeDecorations = new EventEmitter<Uri[]>(); readonly onDidChangeFileDecorations: Event<Uri[]> = this._onDidChangeDecorations.event;


"resolved": "https://registry.npmjs.org/tas-client-umd/-/tas-client-umd-0.2.0.tgz", "integrity": "sha512-oezN7mJVm5qZDVEby7OzxCLKUpUN5of0rY4dvOWaDF2JZBlGpd3BXceFN8B53qlTaIkVSzP65aAMT0Vc+/N25Q==" }, <ins> "node_modules/tslib": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "peer": true }, </ins> "node_modules/vscode-oniguruma": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",


// Show all results only when filtering begins, this is done so the quick pick will show up // ASAP with only the viewport entries. let accepted = false; <del> const disposables = new DisposableStore(); </del> if (!usingAllLinks) { disposables.add(Event.once(pick.onDidChangeValue)(async () => { const allLinks = await links.all;


// Install the Extension and reload the window to handle. const result = await this.dialogService.confirm({ <del> message: localize('installAndHandle', "Extension '{0}' is not installed. Would you like to install the extension and reload the window to open this URL?", galleryExtension.displayName || galleryExtension.name), </del> <ins> message: localize('installAndHandle', "Extension '{0}' is not installed. Would you like to install the extension and open this URL?", galleryExtension.displayName || galleryExtension.name), </ins> detail: `${galleryExtension.displayName || galleryExtension.name} (${extensionIdentifier.id}) wants to open a URL:nn${uri.toString()}`, <del> primaryButton: localize('install', "&&Install"), </del> <ins> primaryButton: localize('install and open', "&&Install and Open"), </ins> type: 'question' });


MergeEditorSerializer ); <ins> registerAction2(OpenResultResource); </ins> registerAction2(SetMixedLayout); registerAction2(SetColumnLayout); registerAction2(OpenMergeEditor);


commandLineMatcher: GitPushCommandLineRegex, // Example output: // ... <del> // 9:  remote: // 8:  remote: Create a pull request for 'my_branch' on GitHub by visiting: // 7:  remote:      https://github.com/microsoft/vscode/pull/new/my_branch // 6:  remote: // 5:  remote: GitHub found x vulnerabilities on microsoft/vscode's default branch (...). To find out more, visit: // 4:  remote:      https://github.com/microsoft/vscode/security/dependabot // 3:  remote: // 2:  To https://github.com/microsoft/vscode // 1:  * [new branch]              my_branch -> my_branch // 0:  Branch 'my_branch' set up to track remote branch 'my_branch' from 'origin'. </del> <ins> // 10: remote: // 9:  remote: Create a pull request for 'my_branch' on GitHub by visiting: // 8:  remote:      https://github.com/microsoft/vscode/pull/new/my_branch // 7:  remote: // 6:  remote: GitHub found x vulnerabilities on microsoft/vscode's default branch (...). To find out more, visit: // 5:  remote:      https://github.com/microsoft/vscode/security/dependabot // 4:  remote: // 3:  To https://github.com/microsoft/vscode // 2:  * [new branch]              my_branch -> my_branch // 1:  Branch 'my_branch' set up to track remote branch 'my_branch' from 'origin'. // 0: </ins> outputMatcher: { lineMatcher: GitCreatePrOutputRegex, anchor: 'bottom', <del> offset: 3, length: 6 </del> <ins> offset: 4, // ~6 should only be needed here for security alerts, but the git provider can customize // the text, so use 12 to be safe. length: 12 </ins> }, commandExitResult: 'success', getQuickFixes: (matchResult: ITerminalCommandMatchResult) => {


import { getTitleBarStyle } from 'vs/platform/window/common/window'; import { mainWindow } from 'vs/base/browser/window'; import { isFullscreen, onDidChangeFullscreen } from 'vs/base/browser/browser'; <ins> import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; </ins> export class WorkbenchContextKeysHandler extends Disposable { private inputFocusedContext: IContextKey<boolean>; private dirtyWorkingCopiesContext: IContextKey<boolean>; <ins> private activeEditorGroupEmpty: IContextKey<boolean>; private activeEditorGroupIndex: IContextKey<number>; private activeEditorGroupLast: IContextKey<boolean>; private activeEditorGroupLocked: IContextKey<boolean>; private multipleEditorGroupsContext: IContextKey<boolean>; private editorsVisibleContext: IContextKey<boolean>; </ins> private splitEditorsVerticallyContext: IContextKey<boolean>; private workbenchStateContext: IContextKey<string>;


"command.deleteBranch": "Delete Branch...", "command.pull": "Pull", "command.pullRebase": "Pull (Rebase)", <ins> "command.pullFrom": "Pull (From Remote)", </ins> "command.push": "Push", "command.pushTo": "Push to...", "command.sync": "Sync",


"vscode-oniguruma": "1.7.0", "vscode-regexpp": "^3.1.0", "vscode-textmate": "9.0.0", <del> "xterm": "5.2.0-beta.35", "xterm-addon-canvas": "0.4.0-beta.9", </del> <ins> "xterm": "5.2.0-beta.40", "xterm-addon-canvas": "0.4.0-beta.11", </ins> "xterm-addon-search": "0.11.0", "xterm-addon-serialize": "0.9.0", "xterm-addon-unicode11": "0.5.0", <del> "xterm-addon-webgl": "0.15.0-beta.8", "xterm-headless": "5.2.0-beta.35", </del> <ins> "xterm-addon-webgl": "0.15.0-beta.10", "xterm-headless": "5.2.0-beta.40", </ins> "yauzl": "^2.9.2", "yazl": "^2.4.3" },


this._accessibleViewCurrentProviderId.set(provider.verbositySettingKey.replaceAll('accessibility.verbosity.', '')); } const value = this._configurationService.getValue(provider.verbositySettingKey); <del> const readMoreLink = provider.options.readMoreUrl ? localize("openDoc", "nnPress H now to open a browser window with more information related to accessibility.nn") : ''; </del> <ins> const readMoreLink = provider.options.readMoreUrl ? localize("openDoc", "nnOpen a browser window with more information related to accessibility (H).") : ''; </ins> let disableHelpHint = ''; if (provider.options.type === AccessibleViewType.Help && !!value) { disableHelpHint = this._getDisableVerbosityHint(provider.verbositySettingKey);


background-color: var(--vscode-chat-list-background); } <ins> .interactive-item-container.interactive-request .header .monaco-toolbar { /* Take the partially-transparent background color override for request rows */ background-color: inherit; } </ins> .interactive-item-container .header .monaco-toolbar .checked.action-label, .interactive-item-container .header .monaco-toolbar .checked.action-label:hover { color: var(--vscode-inputOption-activeForeground) !important;


resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.5.0.tgz#41c0d96acc1e3bb6c6596eee64e163b6bca74be7" integrity sha512-Jm4/g4QiTxiKiTbYICQgC791ubhIZyoIwxAIgOW8z8HWFNY+lwk+dwaKEaEeGBfM48Vk8fklsUW9u/PlenYEBg== <del> xterm-addon-webgl@0.15.0-beta.8: version "0.15.0-beta.8" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.15.0-beta.8.tgz#2005198582f6f1f4a9b2612b9354c0bcc9f148d8" integrity sha512-HjTr9bi3FvdOIPaaIpih6qdHX2z+H7sQPluLj5KzwCqRiEVUVRi19dl8SdHjf6dCmN3GahMhjV7D+zxHi2pLTw== </del> <ins> xterm-addon-webgl@0.15.0-beta.10: version "0.15.0-beta.10" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.15.0-beta.10.tgz#39ebbfb1b89c6773a2d8cb8e1d2f3ef1f08b28f9" integrity sha512-JVv4t5q6QGWyLiEAcAk9H2B83hFlIalzEwWu1VVYso0MJyZAlZ0NP5Za03iSKxYi7RQIA5bOe8r7W24esQDjLg== </ins> <del> xterm-headless@5.2.0-beta.35: version "5.2.0-beta.35" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.2.0-beta.35.tgz#8c3d4d06747e27a5bc4f0bf914479820a5b8f529" integrity sha512-tq/zKnXEsVXGlhXHGNqPO47x9Fvew2avZ0wfMI1G80AEYrjxGY/3Quxwe9/C5ngIuPwk2CMbgDZwHhSFvyOrMA== </del> <ins> xterm-headless@5.2.0-beta.40: version "5.2.0-beta.40" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.2.0-beta.40.tgz#6edba318d23ed350c8ec6279e6f61f40bde9b163" integrity sha512-6CHgR64POfa24CTILcq/HHg1im1u1HjJZSHWjlopP18KiS8Rq8dzCurZDsu38atxDK9dyjV8SRw2AB4ijcxZsQ== </ins> <del> xterm@5.2.0-beta.35: version "5.2.0-beta.35" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.35.tgz#4a0c0aa81c89c42167c22d023648cced44fa3c25" integrity sha512-6x6i61lucRrLWRKFeMO/ZOx5anvYR6FHpReLO2g0y1bp5zYWyZFzM6DepMV50729gubzxSLB8mvbmb9EpeIugQ== </del> <ins> xterm@5.2.0-beta.40: version "5.2.0-beta.40" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.40.tgz#c73d5576425dcd4fa6b48ce58b4224a7b5b9dbdf" integrity sha512-7/Db3KPceM0VX4/YAKL+/ArvEHlGBwE3kt1oN9QP5TLaJ6r2ThMS7z7QwG8g2gy60GFnvjfvpcTv6Ewyste4zg== </ins> yallist@^4.0.0: version "4.0.0"


const editor = await vscode.window.showNotebookDocument(notebook); const notebookChangeEvent = asPromise<vscode.NotebookDocumentChangeEvent>(vscode.workspace.onDidChangeNotebookDocument); <del> const version = editor.document.version; await editor.edit(editBuilder => { editBuilder.replaceCells(1, 0, [{ kind: vscode.NotebookCellKind.Code, languageId: 'javascript', value: 'test 2', outputs: [], metadata: undefined }]); editBuilder.replaceCellMetadata(0, { inputCollapsed: false }); }); </del> <ins> const version = editor.notebook.version; const edit = new vscode.WorkspaceEdit(); const cellEdit = vscode.NotebookEdit.replaceCells(new vscode.NotebookRange(1, 0), [{ kind: vscode.NotebookCellKind.Code, languageId: 'javascript', value: 'test 2', outputs: [], metadata: undefined }]); const metdataEdit = vscode.NotebookEdit.updateNotebookMetadata({ ...notebook.metadata, custom: { ...(notebook.metadata.custom || {}), extraNotebookMetadata: true } }); edit.set(notebook.uri, [cellEdit, metdataEdit]); await vscode.workspace.applyEdit(edit); </ins> await notebookChangeEvent; <del> assert.strictEqual(version + 1, editor.document.version); </del> <ins> const notebookChangeEvent2 = asPromise<vscode.NotebookDocumentChangeEvent>(vscode.workspace.onDidChangeNotebookDocument); const edit2 = new vscode.WorkspaceEdit(); const cellMetadataEdit = vscode.NotebookEdit.updateCellMetadata(0, { extraCellMetadata: true }); edit2.set(notebook.uri, [cellMetadataEdit]); await vscode.workspace.applyEdit(edit2); await notebookChangeEvent2; assert.strictEqual(version + 2, editor.notebook.version); const cell = editor.notebook.cellAt(0); assert.ok(editor.notebook.metadata.custom.extraNotebookMetadata, `Test metadata not found`); assert.ok(cell.metadata.extraCellMetadata, `Test cell metdata not found`); </ins> }); test('edit API batch edits undo/redo', async function () {


} if (instance?.shellType) { this._terminalShellTypeContextKey.set(instance.shellType.toString()); <del> } else if (!instance) { </del> <ins> } else if (!instance || !(instance.shellType)) { </ins> this._terminalShellTypeContextKey.reset(); } }));


font-family: var(--monaco-monospace-font); font-size: 11px; color: var(--vscode-textPreformat-foreground); <del> background-color: var(--vscode-textPreformat-background); </del> padding: 1px 3px; border-radius: 4px; }


const message = dom.append(extraContainer, $(`#${this.idPrefix}message.quick-input-message`)); <ins> const progressBar = new ProgressBar(container, this.styles.progressBar); progressBar.getContainer().classList.add('quick-input-progress'); </ins> const list = this._register(new QuickInputList(container, this.idPrefix + 'list', this.options)); this._register(list.onChangedAllVisibleChecked(checked => { checkAll.checked = checked;


} }, showCommonFindToggles: options.showCommonFindToggles, <del> appendCaseSensitiveLabel: options.appendCaseSensitiveLabel && options.type === 'Terminal' ? this._getKeybinding(TerminalCommandId.ToggleFindCaseSensitive) : undefined, appendRegexLabel: options.appendRegexLabel && options.type === 'Terminal' ? this._getKeybinding(TerminalCommandId.ToggleFindRegex) : undefined, appendWholeWordsLabel: options.appendWholeWordsLabel && options.type === 'Terminal' ? this._getKeybinding(TerminalCommandId.ToggleFindWholeWord) : undefined, </del> <ins> appendCaseSensitiveLabel: options.appendCaseSensitiveActionId ? this._getKeybinding(options.appendCaseSensitiveActionId) : undefined, appendRegexLabel: options.appendRegexActionId ? this._getKeybinding(options.appendRegexActionId) : undefined, appendWholeWordsLabel: options.appendWholeWordsActionId ? this._getKeybinding(options.appendWholeWordsActionId) : undefined, </ins> showHistoryHint: () => showHistoryKeybindingHint(_keybindingService), inputBoxStyles: defaultInputBoxStyles, toggleStyles: defaultToggleStyles


public focus(): void { this._standaloneColorPickerFocused.set(true); <del> this.body.focus(); </del> <ins> this._body.focus(); </ins> } private async _start(selection: IRange) {


}); } <del> async run(accessor: ServicesAccessor, editSessionId?: string): Promise<void> { await that.progressService.withProgress({ ...resumeProgressOptions, title: resumeProgressOptionsTitle }, async () => await that.resumeEditSession(editSessionId)); </del> <ins> async run(accessor: ServicesAccessor, editSessionId?: string, force?: boolean): Promise<void> { await that.progressService.withProgress({ ...resumeProgressOptions, title: resumeProgressOptionsTitle }, async () => await that.resumeEditSession(editSessionId, undefined, force)); </ins> } })); }


constructor() { super({ id: ClearRecentFilesAction.ID, <del> title: { value: localize('clearRecentFiles', "Clear Recently Opened"), original: 'Clear Recently Opened' }, </del> <ins> title: { value: localize('clearRecentFiles', "Clear Recently Opened..."), original: 'Clear Recently Opened...' }, </ins> f1: true, category: Categories.File });


const language = model.getLanguageId(); const languageName = this.languageService.getLanguageName(language); if (importantRecommendations.size && <del> this.promptRecommendedExtensionForFileType(languageName && isImportantRecommendationForLanguage && language !== PLAINTEXT_LANGUAGE_ID ? localize('languageName', "{0} language", languageName) : basename(uri), language, [...importantRecommendations])) { </del> <ins> this.promptRecommendedExtensionForFileType(languageName && isImportantRecommendationForLanguage && language !== PLAINTEXT_LANGUAGE_ID ? localize('languageName', "the {0} language", languageName) : basename(uri), language, [...importantRecommendations])) { </ins> return; } }


version: string; id: string; isTheme: boolean; <ins> isBuiltin: boolean; </ins> displayName: string | undefined; repositoryUrl: string | undefined; bugsUrl: string | undefined;


resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-9.0.0.tgz#313c6c8792b0507aef35aeb81b6b370b37c44d6c" integrity sha512-Cl65diFGxz7gpwbav10HqiY/eVYTO1sjQpmRmV991Bj7wAoOAjGQ97PpQcXorDE2Uc4hnGWLY17xme+5t6MlSg== <del> xterm-addon-canvas@0.4.0-beta.9: version "0.4.0-beta.9" resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.4.0-beta.9.tgz#e570fa4592890f92cc86706f2bba0dd128a8641d" integrity sha512-BWRVWyUW7NY2g4BBMm3ecPQvbdyKXFgABnpmh4m0TVHqFJMNeXdNuTc94KiDbE+cvw8jtAY9NC/OIM4HcgjAIQ== </del> <ins> xterm-addon-canvas@0.4.0-beta.11: version "0.4.0-beta.11" resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.4.0-beta.11.tgz#d627050d7e2290ae804c0ec730d5bfc5861afd78" integrity sha512-yfkx0R7wB3L+fWf1doDmEfwYIeNMVq4uXlq7sCvfPQAVA2H4eOH/s+SS1mhyy0A6DDEbM4eEQ7CroRZIsnVtMA== </ins> xterm-addon-search@0.11.0: version "0.11.0"


private readonly _dropdownMenu: IMenu; private readonly _singleTabMenu: IMenu; private _viewShowing: IContextKey<boolean>; <ins> private _disposableStore = this._register(new DisposableStore()); </ins> constructor( options: IViewPaneOptions,


restoreFocus = true; } <ins> let isExpanded = false; </ins> // Handle Rename if (oldParentResource && newParentResource && oldParentResource.toString() === newParentResource.toString()) { const modelElements = this.model.findAll(oldResource); modelElements.forEach(modelElement => { <ins> //Check if element is expanded isExpanded = this.explorerViewer.isExpanded(modelElement); </ins> // Rename File (Model) modelElement.rename(newElement);


} private _renderMessages(anchor: HoverAnchor, messages: IHoverPart[]): void { <del> // update column from which to show let renderColumn = Constants.MAX_SAFE_SMALL_INTEGER; let highlightRange: Range = messages[0].range; let forceShowAtRange: Range | null = null; for (const msg of messages) { renderColumn = Math.min(renderColumn, msg.range.startColumn); highlightRange = Range.plusRange(highlightRange, msg.range); if (msg.forceShowAtRange) { forceShowAtRange = msg.range; } } </del> <ins> const { showAtPosition, showAtRange, highlightRange } = ContentHoverController.computeHoverRanges(anchor.range, messages); </ins> const disposables = new DisposableStore(); const statusBar = disposables.add(new EditorHoverStatusBar(this._keybindingService));


override updateOptions(options: IWorkbenchTableOptionsUpdate): void { super.updateOptions(options); <del> this.updateStyles(options.overrideStyles); </del> <ins> if (options.overrideStyles !== undefined) { this.updateStyles(options.overrideStyles); } </ins> if (options.multipleSelectionSupport !== undefined) { this.listSupportsMultiSelect.set(!!options.multipleSelectionSupport);


if (getVirtualWorkspaceLocation(this.contextService.getWorkspace()) !== undefined && isNative) { items.push(new ContinueEditSessionItem( <del> localize('continueEditSessionItem.openInLocalFolder', 'Open In Local Folder'), </del> <ins> '$(folder) ' + localize('continueEditSessionItem.openInLocalFolder.v2', 'Open in Local Folder'), </ins> openLocalFolderCommand.id, <ins> localize('continueEditSessionItem.builtin', 'Built-in') </ins> )); }