@@ -707,6 +707,18 @@ pub fn extend_line(cx: &mut Context) {
707// heuristic: append changes to history after each command, unless we're in insert mode
707// heuristic: append changes to history after each command, unless we're in insert mode
709fn _delete_selection(doc: &mut Document, view_id: ViewId) {
709fn _delete_selection(doc: &mut Document, view_id: ViewId) {
710+ // first yank the selection
711+ let values: Vec<String> = doc
713+ .fragments(doc.text().slice(..))
714+ .map(Cow::into_owned)
717+ // TODO: allow specifying reg
719+ register::set(reg, values);
710 let transaction =
722 let transaction =
711 Transaction::change_by_selection(doc.text(), doc.selection(view_id), |range| {
723 Transaction::change_by_selection(doc.text(), doc.selection(view_id), |range| {
712 (range.from(), range.to() + 1, None)
724 (range.from(), range.to() + 1, None)