diff --git a/package.json b/package.json
index eb07953..fbc690a 100644
--- a/package.json
+++ b/package.json
@@ -90,8 +90,8 @@
"daisyui": "5.5.5",
"dotenv": "^17.2.3",
"effect": "^3.19.6",
- "fast-diff": "^1.3.0",
"katex": "^0.16.25",
+ "loro-codemirror": "^0.3.3",
"loro-crdt": "^1.10.0",
"svelte": "^5.44.0",
"tiptap-markdown": "^0.9.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index bf2bbfc..b9b6e78 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -131,12 +131,12 @@ importers:
effect:
specifier: ^3.19.6
version: 3.19.6
- fast-diff:
- specifier: ^1.3.0
- version: 1.3.0
katex:
specifier: ^0.16.25
version: 0.16.25
+ loro-codemirror:
+ specifier: ^0.3.3
+ version: 0.3.3(@codemirror/state@6.5.2)(@codemirror/view@6.38.8)(loro-crdt@1.10.0)
loro-crdt:
specifier: ^1.10.0
version: 1.10.0
@@ -2161,9 +2161,6 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- fast-diff@1.3.0:
- resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
-
fast-glob@3.3.3:
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
@@ -2495,6 +2492,13 @@ packages:
longest-streak@3.1.0:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+ loro-codemirror@0.3.3:
+ resolution: {integrity: sha512-C6qAUmDjMTyoXVeDxKWixvr/TSTo/jXFrvgGW+wn6RAHeIzNFovBDLQNi/Sary4Ahx8DaYADTCm9eCaRAjvWtw==}
+ peerDependencies:
+ '@codemirror/state': ^6.0.0
+ '@codemirror/view': ^6.7.0
+ loro-crdt: ^1.8.2
+
loro-crdt@1.10.0:
resolution: {integrity: sha512-Fms27q9IaDANUe5OACQL6qLMhJasMXzjRkyK+NAIiPQXGBK2VAp6C7pAr9fzuKbL71YyDgA4Pv69RGwiScWSPg==}
@@ -5418,8 +5422,6 @@ snapshots:
fast-deep-equal@3.1.3: {}
- fast-diff@1.3.0: {}
-
fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -5710,6 +5712,12 @@ snapshots:
longest-streak@3.1.0: {}
+ loro-codemirror@0.3.3(@codemirror/state@6.5.2)(@codemirror/view@6.38.8)(loro-crdt@1.10.0):
+ dependencies:
+ '@codemirror/state': 6.5.2
+ '@codemirror/view': 6.38.8
+ loro-crdt: 1.10.0
+
loro-crdt@1.10.0: {}
magic-string@0.30.21:
diff --git a/src/lib/components/codemirror/Codemirror.svelte b/src/lib/components/codemirror/Codemirror.svelte
index 5a19106..407a717 100644
--- a/src/lib/components/codemirror/Codemirror.svelte
+++ b/src/lib/components/codemirror/Codemirror.svelte
@@ -1,30 +1,23 @@
+