src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.ts/BaseCodeEditorView/constructor
class BaseCodeEditorView:	constructor(
		viewModel: IObservable<MergeEditorViewModel | undefined>,
		@IInstantiationService instantiationService: IInstantiationService,
		@IConfigurationService configurationService: IConfigurationService,
	) {
		super(instantiationService, viewModel, configurationService);

		this._register(
			createSelectionsAutorun(this, (baseRange, viewModel) => baseRange)
		);

		this._register(
			instantiationService.createInstance(TitleMenu, MenuId.MergeBaseToolbar, this.htmlElements.title)
		);

		this._register(
			autorunWithStore((reader, store) => {
				if (this.checkboxesVisible.read(reader)) {
					store.add(new EditorGutter(this.editor, this.htmlElements.gutterDiv, {
						getIntersectingGutterItems: (range, reader) => [],
						createView: (item, target) => { throw new BugIndicatingError(); },
					}));
				}
			}, 'update checkboxes')
		);

		this._register(
			autorun('update labels & text model', (reader) => {
				const vm = this.viewModel.read(reader);
				if (!vm) {
					return;
				}
				this.editor.setModel(vm.model.base);
				reset(this.htmlElements.title, ...renderLabelWithIcons(localize('base', 'Base')));

				const baseShowDiffAgainst = vm.baseShowDiffAgainst.read(reader);

				let node: Node | undefined = undefined;
				if (baseShowDiffAgainst) {
					const label = localize('compareWith', 'Comparing with {0}', baseShowDiffAgainst === 1 ? vm.model.input1.title : vm.model.input2.title);
					const tooltip = localize('compareWithTooltip', 'Differences are highlighted with a background color.');
					node = h('span', { title: tooltip }, [label]).root;
				}
				reset(this.htmlElements.description, ...(node ? [node] : []));
			})
		);

		this._register(applyObservableDecorations(this.editor, this.decorations));
	}