自动相接 + 密码解码器
此插件将协作编辑添加到 codemiror 中 automerge-repo。 。 。 .
示例
import { Repo } from "@automerge/automerge-repo";
import { automergeSyncPlugin } from "@automerge/automerge-codemirror";
import { EditorView } from "@codemirror/view"
import { basicSetup } from "codemirror"
// Setup a repo and create a doc handle. In practice you'll probably get a
// DocHandle by loading it from a document URL
const repo = new Repo(..)
const doc = repo.create({text: ""})
// Setup the codemirror view
const container = document.createElement("div")
const view = new EditorView({
doc: handle.doc().text,
extensions: [
basicSetup,
automergeSyncPlugin({
handle,
path: ["text"],
}),
],
parent: container,
})
自动相容性
此编码器插件用于 automerge-repo 2.0 那个
表示它预期会作为 handle 参数
匹配签名 DocHandle 接口 automerge-repo 2.0 (英语).
主要区别是 automerge-repo 1.0是自动合并1.0
DocHandle.doc 方法是同步的。 如果你不能升级到
automerge-repo 2.0 然后,你可以绕过这个 包装1.0 把手
在使用 1.0 对象中 DocHandle.docSync 执行《公约》的方法
DocHandle.doc 方法。 像这样:
import { type DocHandle } from "@automerge/automerge-codemirror"
import { type DocHandle as RepoHandle } from "@automerge/automerge-repo"
// Convert an automerge-repo 1.0 DocHandle to the interface this plugin expects
function makeHandle<T>(h: RepoHandle<T>): DocHandle<T> {
return Object.assign({}, h, {
doc: () => h.docSync(),
})
}