Multicursor Rev. 2

Review Request #127516 - Created March 28, 2016 and discarded

Sven Brauch
cullmann, dhaumann, mwolff

Here it is again, now in its full glory. See also "multicursor" branch of ktexteditor. At the moment, you have to relink kate+apps (I'll fix that later).

It's nowhere near done yet, it has lots of bugs and missing features, but all the basic infrastructure is in place, so I figured it would be the right time to talk about the basic concepts now, before polishing it and then rearranging (and breaking) things again after the polishing is done ;)

- Multiple cursors which allow navigating, typing, shift-selecting, and removing. Press Ctrl+Meta and click or press Ctrl+Meta+D.
- Multiple selections, each associated with exactly one cursor. Press Ctrl+Meta and drag.
- Proper undo support.
- Proper clipboard support.

Major unfeatures (will fix):
- Blockmode is broken
- dyn wrap is a bit broken
- folding is broken

I mainly want some feedback for the KateMultiCursor/KateMultiSelection classes. Do those make sense to you in API and implementation?
I would be grateful if this could be a large-scale review first. Adding a const in 400 places can be done in a second iteration. ;)

Comes with unit tests for lots of subtleties.

Sven Brauch
Sven Brauch
Review request changed

Status: Discarded

Sven Brauch

Sorry for not discarding this earlier -- code is in ktexteditor repo, multicursor branch. Thanks to Christoph for moving the tasks!