|
@@ -1,5 +1,6 @@
|
|
|
import { useEffect, useCallback, useState } from 'react';
|
|
import { useEffect, useCallback, useState } from 'react';
|
|
|
|
|
|
|
|
|
|
+import { unifiedMergeView } from '@codemirror/merge';
|
|
|
import type { Extension } from '@codemirror/state';
|
|
import type { Extension } from '@codemirror/state';
|
|
|
import { Prec } from '@codemirror/state';
|
|
import { Prec } from '@codemirror/state';
|
|
|
import {
|
|
import {
|
|
@@ -93,4 +94,18 @@ export const useEditorSettings = (
|
|
|
}, [codeMirrorEditor, keymapExtension]);
|
|
}, [codeMirrorEditor, keymapExtension]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ useEffect(() => {
|
|
|
|
|
+ if (editorSettings?.unifiedMergeView == null) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ const extension = editorSettings.unifiedMergeView ? [
|
|
|
|
|
+ unifiedMergeView({
|
|
|
|
|
+ original: codeMirrorEditor?.getDoc() ?? '',
|
|
|
|
|
+ }),
|
|
|
|
|
+ ] : [];
|
|
|
|
|
+
|
|
|
|
|
+ const cleanupFunction = codeMirrorEditor?.appendExtensions?.(extension);
|
|
|
|
|
+ return cleanupFunction;
|
|
|
|
|
+ }, [codeMirrorEditor, editorSettings?.unifiedMergeView]);
|
|
|
|
|
+
|
|
|
};
|
|
};
|