src/vs/workbench/contrib/mergeEditor/browser/view/editorGutter.ts/EditorGutter/constructor
class EditorGutter:	constructor(
		private readonly _editor: CodeEditorWidget,
		private readonly _domNode: HTMLElement,
		private readonly itemProvider: IGutterItemProvider<T>
	) {
		super();
		this._domNode.className = 'gutter monaco-editor';
		const scrollDecoration = this._domNode.appendChild(
			h('div.scroll-decoration', { role: 'presentation', ariaHidden: true, style: { width: '100%' } })
				.root
		);

		this._register(autorun((reader) => {
			scrollDecoration.className = this.scrollTop.read(reader) === 0 ? '' : 'scroll-decoration';
		}, 'update scroll decoration'));


		this._register(autorun((reader) => this.render(reader), 'Render'));

		this._editor.onDidChangeViewZones(e => {
			this.changeCounter.set(this.changeCounter.get() + 1, undefined);
		});

		this._editor.onDidContentSizeChange(e => {
			this.changeCounter.set(this.changeCounter.get() + 1, undefined);
		});
	}