Creates a new LexicalProvider.
Extension context for resource access
Protected Readonly_Protected Readonly_Protected Readonly_Protected Readonly_Event emitter for document changes. Subclasses should fire this event when documents change.
Protected Readonly_Private ReadonlyadapterPrivate ReadonlyadapterPrivate ReadonlyadapterPrivate ReadonlydocumentsMap of document instances keyed by document URI. Used for dirty state tracking and document operations.
Private ReadonlyloroMap of Loro WebSocket adapters keyed by adapter ID.
ReadonlyonEvent for document changes (required by CustomEditorProvider interface).
Private ReadonlywebviewsMap of currently active webviews keyed by document URI.
Private Static ReadonlyviewCreates a backup of a custom document.
Document to backup
Backup context with destination
Cancellation token
Promise resolving to backup descriptor
ProtectedgetGets the URI for a lexical document.
The lexical document
The document URI
PrivategetFind document URI for a given webview panel
PrivategetGenerates the HTML content for the Lexical editor webview.
The webview instance
HTML content for the webview
PrivatehandleHandles Loro collaboration messages from the webview. Creates/manages WebSocket adapters and forwards messages.
Message from webview
The webview panel
ProtectedonHandles messages received from the webview. Delegates to the message router for all message types.
The webview panel that sent the message
The document associated with the webview
The message from the webview
Opens a custom document for the lexical editor.
Document URI to open
Context including backup information
Cancellation token
Promise resolving to the lexical document
ProtectedpostPosts a message to the webview without expecting a response.
Target webview panel
Message type
Message body
Optionalid: stringOptional message ID
ProtectedpostPosts a message to the webview and waits for a response. Uses the request/response pattern with requestId tracking.
Target webview panel
Message type
Message body
Promise resolving to the response
ProtectedregisterRegisters lexical-specific message handlers. Overrides base class to add lexical-specific handlers.
Resolves a custom editor by setting up the webview and initializing collaboration.
The lexical document to display
The webview panel for the editor
Cancellation token
Promise that resolves when editor is ready
Reverts a custom document to its saved state.
Document to revert
Cancellation token
Promise that resolves when revert is complete
Saves a custom document.
Document to save
Cancellation token
Promise that resolves when save is complete
Saves a custom document to a new location.
Document to save
Target URI for saving
Cancellation token
Promise that resolves when save is complete
StaticregisterRegisters the Lexical editor provider and commands with VS Code.
Extension context for resource management
Disposable for cleanup
Custom editor provider for Lexical documents. Handles webview lifecycle management, document state synchronization, and collaboration features for rich text editing.
Example