diff options
Diffstat (limited to 'status.c')
-rw-r--r-- | status.c | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -1,4 +1,4 @@ -/* $Id: status.c,v 1.36 2008-06-19 22:51:27 nicm Exp $ */ +/* $Id: status.c,v 1.37 2008-06-21 14:11:39 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -372,6 +372,7 @@ status_prompt_redraw(struct client *c) void status_prompt_key(struct client *c, int key) { + char *s; size_t size; size = strlen(c->prompt_buffer); @@ -400,6 +401,20 @@ status_prompt_key(struct client *c, int key) c->flags |= CLIENT_STATUS; } break; + case '\011': + if (strchr(c->prompt_buffer, ' ') != NULL) + break; + if (c->prompt_index != strlen(c->prompt_buffer)) + break; + + s = cmd_complete(c->prompt_buffer); + xfree(c->prompt_buffer); + + c->prompt_buffer = s; + c->prompt_index = strlen(c->prompt_buffer); + + c->flags |= CLIENT_STATUS; + break; case '\010': case '\177': if (c->prompt_index != 0) { |