Multi-cursor editing in ProseMirror (or TipTap)

Hi all,

Has anyone implemented multi-cursor editing in ProseMirror—similar to what you see in VSCode or Sublime Text (e.g., holding Option and dragging to create cursors across multiple lines)?

I’m using TipTap (mainly for React compatibility), but I’m also working pretty extensively with the underlying ProseMirror abstractions. I’d love to know if:

  • Anyone has implemented this behavior or something similar
  • There’s an existing extension (TipTap or ProseMirror) that supports it
  • Any advice or best practices for approaching this

Thanks in advance!

—Abe

I am not aware of an implementation of this already existing. But in principle, it should be possible to create a custom selection subclass, and implement the handling and creation of such selections with extension logic. (The tables package provides a cell selection class, which can also consist of multiple separate ranges.)

Thanks for responding so quickly!