src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.ts/TextModelDiffs/constructor
class TextModelDiffs:	constructor(
		private readonly baseTextModel: ITextModel,
		private readonly textModel: ITextModel,
		private readonly diffComputer: IMergeDiffComputer,
	) {
		super();

		const recomputeSignal = observableSignal('recompute');

		this._register(autorun('Update diff state', reader => {
			recomputeSignal.read(reader);
			this.recompute(reader);
		}));

		this._register(
			baseTextModel.onDidChangeContent(
				this.barrier.makeExclusive(() => {
					recomputeSignal.trigger(undefined);
				})
			)
		);
		this._register(
			textModel.onDidChangeContent(
				this.barrier.makeExclusive(() => {
					recomputeSignal.trigger(undefined);
				})
			)
		);
		this._register(toDisposable(() => {
			this.isDisposed = true;
		}));
	}