I've added some features that you may or may not be interested in.
This PR adds the following line and selection based actions:
cut/copy/paste using the system clipboard as ctrl-x, ctrl-c, ctrl-v in standard mode
delete line as ctrl-k in standard mode
duplicate selection as ctrl-d in standard mode
move selection up/down as ctrl-up and ctrl-down in standard mode
Many of these commands operate on the "current selection", which for now is just the current line. These will operate on the actual current selection once that's implemented, or the current line if nothing is selected.
As part of implementing this, I noticed that unicode was quite broken and converted the internal gap buffer to store unicode chars rather than simple bytes. This seems to make unicode work properly in my limited testing.
I also added several tests for my new features and one for basic unicode support.
I put this together to scratch my personal itches, so if it isn't something that you want to pull, that's no problem. I just thought I'd pass it along in case you are interested.
I've added some features that you may or may not be interested in.
This PR adds the following line and selection based actions:
Many of these commands operate on the "current selection", which for now is just the current line. These will operate on the actual current selection once that's implemented, or the current line if nothing is selected.
As part of implementing this, I noticed that unicode was quite broken and converted the internal gap buffer to store unicode chars rather than simple bytes. This seems to make unicode work properly in my limited testing.
I also added several tests for my new features and one for basic unicode support.
I put this together to scratch my personal itches, so if it isn't something that you want to pull, that's no problem. I just thought I'd pass it along in case you are interested.