Browse Source

add effect for Unified merge view

Yuki Takei 1 year ago
parent
commit
a8685e85c4
1 changed files with 15 additions and 0 deletions
  1. 15 0
      packages/editor/src/client/stores/use-editor-settings.ts

+ 15 - 0
packages/editor/src/client/stores/use-editor-settings.ts

@@ -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]);
+
 };
 };