Sync OpenBSD patchset 187:

Add a key to delete to end of line at the prompt (^K in emacs mode, C/D in
vi).

From Kalle Olavi Niemitalo.
This commit is contained in:
Tiago Cunha 2009-07-28 22:44:38 +00:00
parent 7562781c9d
commit 46cb0de347
4 changed files with 20 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $Id: mode-key.c,v 1.16 2009-07-28 22:37:02 tcunha Exp $ */ /* $Id: mode-key.c,v 1.17 2009-07-28 22:44:38 tcunha Exp $ */
/* /*
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
@ -110,6 +110,12 @@ mode_key_lookup_vi(struct mode_key_data *mdata, int key)
return (MODEKEYCMD_BACKTOINDENTATION); return (MODEKEYCMD_BACKTOINDENTATION);
case '\033': case '\033':
return (MODEKEYCMD_CLEARSELECTION); return (MODEKEYCMD_CLEARSELECTION);
case 'C':
if (mdata->flags & MODEKEY_CANEDIT)
mdata->flags |= MODEKEY_EDITMODE;
return (MODEKEYCMD_DELETETOENDOFLINE);
case 'D':
return (MODEKEYCMD_DELETETOENDOFLINE);
case 'j': case 'j':
case KEYC_DOWN: case KEYC_DOWN:
return (MODEKEYCMD_DOWN); return (MODEKEYCMD_DOWN);
@ -169,6 +175,8 @@ mode_key_lookup_emacs(struct mode_key_data *mdata, int key)
case '\027': case '\027':
case 'w' | KEYC_ESCAPE: case 'w' | KEYC_ESCAPE:
return (MODEKEYCMD_COPYSELECTION); return (MODEKEYCMD_COPYSELECTION);
case '\013':
return (MODEKEYCMD_DELETETOENDOFLINE);
case '\016': case '\016':
case KEYC_DOWN: case KEYC_DOWN:
return (MODEKEYCMD_DOWN); return (MODEKEYCMD_DOWN);

View File

@ -1,4 +1,4 @@
/* $Id: status.c,v 1.102 2009-07-28 22:32:15 tcunha Exp $ */ /* $Id: status.c,v 1.103 2009-07-28 22:44:38 tcunha Exp $ */
/* /*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -823,6 +823,12 @@ status_prompt_key(struct client *c, int key)
c->flags |= CLIENT_STATUS; c->flags |= CLIENT_STATUS;
} }
break; break;
case MODEKEYCMD_DELETETOENDOFLINE:
if (c->prompt_index < size) {
c->prompt_buffer[c->prompt_index] = '\0';
c->flags |= CLIENT_STATUS;
}
break;
case MODEKEYCMD_UP: case MODEKEYCMD_UP:
if (server_locked) if (server_locked)
break; break;

3
tmux.1
View File

@ -1,4 +1,4 @@
.\" $Id: tmux.1,v 1.131 2009-07-25 08:52:04 tcunha Exp $ .\" $Id: tmux.1,v 1.132 2009-07-28 22:44:38 tcunha Exp $
.\" .\"
.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> .\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
.\" .\"
@ -331,6 +331,7 @@ The following keys are supported as appropriate for the mode:
.It Li "Cursor right" Ta "l" Ta "Right" .It Li "Cursor right" Ta "l" Ta "Right"
.It Li "Start selection" Ta "Space" Ta "C-Space" .It Li "Start selection" Ta "Space" Ta "C-Space"
.It Li "Cursor up" Ta "k" Ta "Up" .It Li "Cursor up" Ta "k" Ta "Up"
.It Li "Delete to end of line" Ta "D or C" Ta "C-k"
.It Li "Paste buffer" Ta "p" Ta "C-y" .It Li "Paste buffer" Ta "p" Ta "C-y"
.El .El
.Pp .Pp

3
tmux.h
View File

@ -1,4 +1,4 @@
/* $Id: tmux.h,v 1.391 2009-07-28 22:37:02 tcunha Exp $ */ /* $Id: tmux.h,v 1.392 2009-07-28 22:44:38 tcunha Exp $ */
/* /*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -364,6 +364,7 @@ enum mode_key_cmd {
MODEKEYCMD_COMPLETE, MODEKEYCMD_COMPLETE,
MODEKEYCMD_COPYSELECTION, MODEKEYCMD_COPYSELECTION,
MODEKEYCMD_DELETE, MODEKEYCMD_DELETE,
MODEKEYCMD_DELETETOENDOFLINE,
MODEKEYCMD_DOWN, MODEKEYCMD_DOWN,
MODEKEYCMD_ENDOFLINE, MODEKEYCMD_ENDOFLINE,
MODEKEYCMD_LEFT, MODEKEYCMD_LEFT,