This is something I’ve also been thinking about for a while now.
Clipcat is neat and I think it serves the purpose of caching single-selection yanks when used with something like kakboard.
However kakboard’s implementation causes yanks on multiple-selections to only keep the main selection. So I think Kakoune could still benefit from a “kill-ring” or a more complete yank-feature supporting multi-selection yanks.
A quick solution could be to adjust kakboard to handle multi-selection yanks and join the yanks with a newline, and save them as a single yank. This way the user has the complete text in the clipboard and it will be cached by clipcat. Then if you would like to retrieve a multi-cursor yank you could:
paste the joined text →
toggle kakboard off →
split selection (probably with phantom-selection) →
yank multi-selections →
paste in-place at multiple cursors
I think Ideally there would be some builtin kakoune method to sync with external clipboards, and in the case that it is a multi-selection yank, join those selections with a configured delimiter like mentioned above.
Otherwise my daydream for an external solution is a program that connects to kakoune and caches each yank as structured data, then we can store multi-selections and preserve selection order. It would then retrieve/insert that yank text preserving the usual paste behavior (including multi-cursor). Concurrently it would also send/retrieve yanked text (and multiple yanks as a joined text) to/from the system-clipboard so we can yank/paste between kakoune and the rest of the system without friction.
Easier said than done though.