Change:
! Most likely an oversight, we should create a color token for this so that it's themeable. Found .

Discussion:
*--------------------------------------------------------------------------------------------*/ .monaco-editor .on-type-rename-decoration { <del> background: rgba(255, 0, 0, 0.3); border-left: 1px solid rgba(255, 0, 0, 0.3); </del> <ins> border-left: 1px solid transparent; </ins> /* So border can be transparent */ background-clip: padding-box; }

import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService'; import { onUnexpectedError, onUnexpectedExternalError } from 'vs/base/common/errors'; import * as strings from 'vs/base/common/strings'; <ins> import { registerColor } from 'vs/platform/theme/common/colorRegistry'; import { registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import { Color } from 'vs/base/common/color'; </ins> export const CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE = new RawContextKey<boolean>('onTypeRenameInputVisible', false);

}), result => !!result && arrays.isNonEmptyArray(result?.ranges)); } <ins> export const editorOnTypeRenameBackground = registerColor('editor.onTypeRenameBackground', { dark: Color.fromHex('#f00').transparent(0.3), light: Color.fromHex('#f00').transparent(0.3), hc: Color.fromHex('#f00').transparent(0.3) }, nls.localize('editorOnTypeRenameBackground', 'Background color when the editor auto renames on type.')); registerThemingParticipant((theme, collector) => { const editorOnTypeRenameBackgroundColor = theme.getColor(editorOnTypeRenameBackground); if (editorOnTypeRenameBackgroundColor) { collector.addRule(`.monaco-editor .on-type-rename-decoration { background: ${editorOnTypeRenameBackgroundColor}; border-left-color: ${editorOnTypeRenameBackgroundColor}; }`); } }); </ins> registerModelAndPositionCommand('_executeRenameOnTypeProvider', (model, position) => getOnTypeRenameRanges(model, position, CancellationToken.None));

}); async function splitCell(context: INotebookCellActionContext): Promise<void> { <del> if (context.cell.cellKind === CellKind.Code) { const newCells = await context.notebookEditor.splitNotebookCell(context.cell); if (newCells) { context.notebookEditor.focusNotebookCell(newCells[newCells.length - 1], 'editor'); } </del> <ins> const newCells = await context.notebookEditor.splitNotebookCell(context.cell); if (newCells) { context.notebookEditor.focusNotebookCell(newCells[newCells.length - 1], 'editor'); </ins> } }

title: localize('notebookActions.splitCell', "Split Cell"), menu: { id: MenuId.NotebookCellTitle, <del> when: ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_CELL_TYPE.isEqualTo('code'), NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_EDITABLE, InputFocusedContext), </del> <ins> when: ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_EDITABLE, InputFocusedContext), </ins> order: CellToolbarOrder.SplitCell, group: CELL_TITLE_GROUP_ID }, icon: { id: 'codicon/split-vertical' }, keybinding: { <del> when: ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_CELL_TYPE.isEqualTo('code'), NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_EDITABLE, InputFocusedContext), </del> <ins> when: ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_EDITABLE, InputFocusedContext), </ins> primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KEY_K, KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.US_BACKSLASH), weight: KeybindingWeight.WorkbenchContrib },

@IInstantiationService private readonly instantiationService: IInstantiationService, @IUserDataSyncService private readonly userDataSyncService: IUserDataSyncService, @INotificationService private readonly notificationService: INotificationService, <ins> @IDialogService private readonly dialogService: IDialogService, </ins> @IConfigurationService private readonly configurationService: IConfigurationService, @ITelemetryService private readonly telemetryService: ITelemetryService, @IUserDataAutoSyncService private readonly userDataAutoSyncService: IUserDataAutoSyncService,

const model = this.editor.getModel(); if (model) { this.telemetryService.publicLog2<{ source: string, action: string }, SyncConflictsClassification>('sync/handleConflicts', { source: syncResource, action: isRemote ? 'acceptRemote' : 'acceptLocal' }); <del> try { await this.userDataSyncService.accept(syncResource, model.uri, model.getValue(), true); } catch (e) { if (e instanceof UserDataSyncError && e.code === UserDataSyncErrorCode.LocalPreconditionFailed) { const syncResourceCoflicts = this.userDataSyncService.conflicts.filter(syncResourceCoflicts => syncResourceCoflicts[0] === syncResource)[0]; if (syncResourceCoflicts && conflicts.some(conflict => isEqual(conflict.previewResource, model.uri) || isEqual(conflict.remoteResource, model.uri))) { this.notificationService.warn(localize('update conflicts', "Could not resolve conflicts as there is new local version available. Please try again.")); </del> <ins> const syncAreaLabel = getSyncAreaLabel(syncResource); const result = await this.dialogService.confirm({ type: 'info', title: isRemote ? localize('Sync accept remote', "Preferences Sync: {0}", acceptRemoteLabel) : localize('Sync accept merges', "Preferences Sync: {0}", acceptMergesLabel), message: isRemote ? localize('confirm replace and overwrite local', "Would you like to accept remote {0} and replace local {1}?", syncAreaLabel.toLowerCase(), syncAreaLabel.toLowerCase()) : localize('confirm replace and overwrite remote', "Would you like to accept merges and replace remote {1}?", syncAreaLabel.toLowerCase()), primaryButton: isRemote ? acceptRemoteLabel : acceptMergesLabel }); if (result.confirmed) { try { await this.userDataSyncService.accept(syncResource, model.uri, model.getValue(), true); } catch (e) { if (e instanceof UserDataSyncError && e.code === UserDataSyncErrorCode.LocalPreconditionFailed) { const syncResourceCoflicts = this.userDataSyncService.conflicts.filter(syncResourceCoflicts => syncResourceCoflicts[0] === syncResource)[0]; if (syncResourceCoflicts && conflicts.some(conflict => isEqual(conflict.previewResource, model.uri) || isEqual(conflict.remoteResource, model.uri))) { this.notificationService.warn(localize('update conflicts', "Could not resolve conflicts as there is new local version available. Please try again.")); } } else { this.notificationService.error(e); </ins> } <del> } else { this.notificationService.error(e); </del> } } }