createDefaultAiMessageEditor function
Editor
createDefaultAiMessageEditor({
- MutableDocument? document,
- MutableDocumentComposer? composer,
Creates an Editor, which is nominally configured for a typical AI message, such as a message generated by ChatGPT or Gemini.
This Editor still supports document editing, despite being intended for read-only AI messages. This is because AI might generate message bit-by-bit, and AI might also want to change previous messages. Therefore, document editing must still be supported.
Implementation
Editor createDefaultAiMessageEditor({
MutableDocument? document,
MutableDocumentComposer? composer,
}) {
return Editor(
editables: {
Editor.documentKey: document ?? MutableDocument.empty(),
Editor.composerKey: composer ?? MutableDocumentComposer(),
},
requestHandlers: [
(editor, request) => request is ReplaceDocumentRequest ? ReplaceDocumentCommand(request.nodes) : null,
...defaultRequestHandlers,
],
reactionPipeline: List.from(defaultEditorReactions),
isHistoryEnabled: false,
);
}