Package Exports
- @jsonjoy.com/collaborative-codemirror
- @jsonjoy.com/collaborative-codemirror/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@jsonjoy.com/collaborative-codemirror) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
CodeMirror collaborative binding
Makes a plain CodeMirror editor instance collaborative by binding it to a JSON CRDT
document str node. This allows multiple users to edit the same document
json-joy JSON CRDT document concurrently through the CodeMirror editor.
Usage
Installation:
npm install json-joy @jsonjoy.com/collaborative-codemirror codemirrorUsage:
import {EditorView} from 'codemirror';
import {bind} from '@jsonjoy.com/collaborative-codemirror';
import {Model, s} from 'json-joy/lib/json-crdt';
// Create a JSON CRDT model.
const model = Model.create(s.str(''));
// Create a CodeMirror editor instance.
const editor = new EditorView({parent: div});
// Connect CodeMirror editor to JSON CRDT document "str" node.
const unbind = bind(() => model.s.toApi(), editor);
// When done, unbind the binding.
unbind();Preview
- See demo.