aboutsummaryrefslogtreecommitdiff
path: root/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'status.c')
-rw-r--r--status.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/status.c b/status.c
index 406d3eca..3057d138 100644
--- a/status.c
+++ b/status.c
@@ -1,4 +1,4 @@
-/* $Id: status.c,v 1.114 2009-09-02 00:55:49 tcunha Exp $ */
+/* $Id: status.c,v 1.115 2009-09-02 22:45:17 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -763,7 +763,7 @@ void
status_prompt_key(struct client *c, int key)
{
struct paste_buffer *pb;
- char *s, *first, *last, word[64];
+ char *s, *first, *last, word[64], swapc;
size_t size, n, off, idx;
size = strlen(c->prompt_buffer);
@@ -933,6 +933,18 @@ status_prompt_key(struct client *c, int key)
c->flags |= CLIENT_STATUS;
break;
+ case MODEKEYEDIT_TRANSPOSECHARS:
+ idx = c->prompt_index;
+ if (idx < size)
+ idx++;
+ if (idx >= 2) {
+ swapc = c->prompt_buffer[idx - 2];
+ c->prompt_buffer[idx - 2] = c->prompt_buffer[idx - 1];
+ c->prompt_buffer[idx - 1] = swapc;
+ c->prompt_index = idx;
+ c->flags |= CLIENT_STATUS;
+ }
+ break;
case MODEKEYEDIT_ENTER:
if (*c->prompt_buffer != '\0')
status_prompt_add_history(c);