import { Plugin } from 'ckeditor5'; export default class ScrollOnUndoRedoPlugin extends Plugin { init() { const editor = this.editor; const scrollToSelection = () => { // Ensure scroll happens in sync with DOM updates requestAnimationFrame(() => { editor.editing.view.scrollToTheSelection(); }); }; // Scroll to selection after undo/redo to keep cursor in view editor.commands.get('undo')?.on('execute', scrollToSelection); editor.commands.get('redo')?.on('execute', scrollToSelection); } }