mirror of
https://github.com/microsoft/vscode.git
synced 2026-09-27 10:37:38 +01:00
insert/delete background colors for cells.
This commit is contained in:
@@ -5,13 +5,14 @@
|
||||
|
||||
import * as DOM from 'vs/base/browser/dom';
|
||||
import { Disposable, DisposableStore } from 'vs/base/common/lifecycle';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { IDiffEditorOptions, IEditorOptions } from 'vs/editor/common/config/editorOptions';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { CellDiffViewModel, PropertyFoldingState } from 'vs/workbench/contrib/notebook/browser/diff/celllDiffViewModel';
|
||||
import { CellDiffRenderTemplate, CellDiffViewModelLayoutChangeEvent, DIFF_CELL_MARGIN, INotebookTextDiffEditor } from 'vs/workbench/contrib/notebook/browser/diff/common';
|
||||
import { EDITOR_BOTTOM_PADDING, EDITOR_TOP_PADDING } from 'vs/workbench/contrib/notebook/browser/constants';
|
||||
import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget';
|
||||
import { DiffEditorWidget } from 'vs/editor/browser/widget/diffEditorWidget';
|
||||
import { DECORATIONS, DiffEditorWidget } from 'vs/editor/browser/widget/diffEditorWidget';
|
||||
import { renderCodicons } from 'vs/base/common/codicons';
|
||||
import { IModelService } from 'vs/editor/common/services/modelService';
|
||||
import { IModeService } from 'vs/editor/common/services/modeService';
|
||||
@@ -19,6 +20,7 @@ import { format } from 'vs/base/common/jsonFormatter';
|
||||
import { applyEdits } from 'vs/base/common/jsonEdit';
|
||||
import { NotebookCellMetadata } from 'vs/workbench/contrib/notebook/common/notebookCommon';
|
||||
import { hash } from 'vs/base/common/hash';
|
||||
import { Constants } from 'vs/base/common/uint';
|
||||
|
||||
|
||||
const fixedDiffEditorOptions: IDiffEditorOptions = {
|
||||
@@ -604,6 +606,7 @@ export class DeletedCell extends AbstractCellRenderer {
|
||||
}
|
||||
|
||||
styleContainer(container: HTMLElement) {
|
||||
DOM.addClass(container, 'removed');
|
||||
}
|
||||
|
||||
buildSourceEditor(sourceContainer: HTMLElement): void {
|
||||
@@ -689,6 +692,7 @@ export class InsertCell extends AbstractCellRenderer {
|
||||
}
|
||||
|
||||
styleContainer(container: HTMLElement): void {
|
||||
DOM.addClass(container, 'inserted');
|
||||
}
|
||||
|
||||
buildSourceEditor(sourceContainer: HTMLElement): void {
|
||||
|
||||
@@ -18,7 +18,7 @@ import { CellDiffViewModel } from 'vs/workbench/contrib/notebook/browser/diff/ce
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { CellDiffRenderer, NotebookCellTextDiffListDelegate, NotebookTextDiffList } from 'vs/workbench/contrib/notebook/browser/diff/notebookTextDiffList';
|
||||
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { diffDiagonalFill, editorBackground, focusBorder, foreground } from 'vs/platform/theme/common/colorRegistry';
|
||||
import { diffDiagonalFill, diffInserted, diffRemoved, editorBackground, focusBorder, foreground } from 'vs/platform/theme/common/colorRegistry';
|
||||
import { INotebookEditorWorkerService } from 'vs/workbench/contrib/notebook/common/services/notebookWorkerService';
|
||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
import { IEditorOptions } from 'vs/editor/common/config/editorOptions';
|
||||
@@ -318,5 +318,71 @@ registerThemingParticipant((theme, collector) => {
|
||||
}
|
||||
`);
|
||||
|
||||
const added = theme.getColor(diffInserted);
|
||||
if (added) {
|
||||
collector.addRule(`
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.inserted .source-container { background-color: ${added}; }
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.inserted .source-container .monaco-editor .margin,
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.inserted .source-container .monaco-editor .monaco-editor-background {
|
||||
background-color: ${added};
|
||||
}
|
||||
`
|
||||
);
|
||||
collector.addRule(`
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.inserted .metadata-editor-container { background-color: ${added}; }
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.inserted .metadata-editor-container .monaco-editor .margin,
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.inserted .metadata-editor-container .monaco-editor .monaco-editor-background {
|
||||
background-color: ${added};
|
||||
}
|
||||
`
|
||||
);
|
||||
collector.addRule(`
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.inserted .output-editor-container { background-color: ${added}; }
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.inserted .output-editor-container .monaco-editor .margin,
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.inserted .output-editor-container .monaco-editor .monaco-editor-background {
|
||||
background-color: ${added};
|
||||
}
|
||||
`
|
||||
);
|
||||
collector.addRule(`
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.inserted .metadata-header-container { background-color: ${added}; }
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.inserted .output-header-container { background-color: ${added}; }
|
||||
`
|
||||
);
|
||||
}
|
||||
const removed = theme.getColor(diffRemoved);
|
||||
if (added) {
|
||||
collector.addRule(`
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.removed .source-container { background-color: ${removed}; }
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.removed .source-container .monaco-editor .margin,
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.removed .source-container .monaco-editor .monaco-editor-background {
|
||||
background-color: ${removed};
|
||||
}
|
||||
`
|
||||
);
|
||||
collector.addRule(`
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.removed .metadata-editor-container { background-color: ${removed}; }
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.removed .metadata-editor-container .monaco-editor .margin,
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.removed .metadata-editor-container .monaco-editor .monaco-editor-background {
|
||||
background-color: ${removed};
|
||||
}
|
||||
`
|
||||
);
|
||||
collector.addRule(`
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.removed .output-editor-container { background-color: ${removed}; }
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.removed .output-editor-container .monaco-editor .margin,
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.removed .output-editor-container .monaco-editor .monaco-editor-background {
|
||||
background-color: ${removed};
|
||||
}
|
||||
`
|
||||
);
|
||||
collector.addRule(`
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.removed .metadata-header-container { background-color: ${removed}; }
|
||||
.notebook-text-diff-editor .cell-body .cell-diff-editor-container.removed .output-header-container { background-color: ${removed}; }
|
||||
`
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
collector.addRule(`.notebook-text-diff-editor .cell-body { margin: ${DIFF_CELL_MARGIN}px; }`);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user