loro-codemirror
Version:
A CodeMirror plugin for loro
34 lines (33 loc) • 1.29 kB
TypeScript
import { StateField } from "@codemirror/state";
import { EditorView, type PluginValue, ViewUpdate } from "@codemirror/view";
import { Cursor, LoroDoc, LoroText, type Subscription, UndoManager } from "loro-crdt";
export declare const undoEffect: import("@codemirror/state").StateEffectType<null>;
export declare const redoEffect: import("@codemirror/state").StateEffectType<null>;
export declare const undoManagerStateField: StateField<UndoManager | undefined>;
export declare class UndoPluginValue implements PluginValue {
view: EditorView;
doc: LoroDoc;
private undoManager;
private getTextFromDoc;
sub?: Subscription;
lastSelection: {
anchor: Cursor | undefined;
head: Cursor | undefined;
};
constructor(view: EditorView, doc: LoroDoc, undoManager: UndoManager, getTextFromDoc: (doc: LoroDoc) => LoroText);
update(update: ViewUpdate): void;
destroy(): void;
}
export declare const undo: (view: EditorView) => boolean;
export declare const redo: (view: EditorView) => boolean;
export declare const undoKeyMap: ({
key: string;
run: (view: EditorView) => boolean;
preventDefault: boolean;
mac?: undefined;
} | {
key: string;
mac: string;
run: (view: EditorView) => boolean;
preventDefault: boolean;
})[];