plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit 4030a6c905c99c48e7ca714fbe17a9b00fbff6fe
parent 219cf22d6863a21a7378fc5481bb05bbb6edd2dc
Author: Ethan Burns <burns.ethan@gmail.com>
Date:   Thu, 13 Mar 2014 18:48:41 -0400

acme: copy/cut/paste with ctl+c,x,v

LGTM=rsc
R=rsc
CC=plan9port.codebot
https://codereview.appspot.com/69070045

Diffstat:
MCONTRIBUTORS | 1+
Msrc/cmd/acme/text.c | 4++++
2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/CONTRIBUTORS b/CONTRIBUTORS @@ -21,6 +21,7 @@ David Swasey <david.swasey@gmail.com> Enrique Soriano <enrique.soriano@gmail.com> Eoghan Sherry <ejsherry@gmail.com> Erik Quanstrom <quanstro@quanstro.net> +Ethan Burns <burns.ethan@gmail.com> Fazlul Shahriar <fshahriar@gmail.com> Ingo Dreilich <yngoto@gmail.com> Justin Davis <jrcd83@gmail.com> diff --git a/src/cmd/acme/text.c b/src/cmd/acme/text.c @@ -745,10 +745,12 @@ texttype(Text *t, Rune r) q0++; textshow(t, q0, q0, TRUE); return; + case 3: /* ^C: copy */ case Kcmd+'c': /* %C: copy */ typecommit(t); cut(t, t, nil, TRUE, FALSE, nil, 0); return; + case 0x1a: /* ^Z: undo */ case Kcmd+'z': /* %Z: undo */ typecommit(t); undo(t, nil, nil, TRUE, 0, nil, 0); @@ -777,6 +779,7 @@ texttype(Text *t, Rune r) } /* cut/paste must be done after the seq++/filemark */ switch(r){ + case 0x18: /* ^X: cut */ case Kcmd+'x': /* %X: cut */ typecommit(t); if(t->what == Body){ @@ -787,6 +790,7 @@ texttype(Text *t, Rune r) textshow(t, t->q0, t->q0, 1); t->iq1 = t->q0; return; + case 0x16: /* ^V: paste */ case Kcmd+'v': /* %V: paste */ typecommit(t); if(t->what == Body){