From e70e9513a82a817edf35c86cb8b7f5ff2736c771 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sat, 21 Jun 2008 14:11:39 +0000 Subject: Simple tab completion of option names in command prompt. --- status.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'status.c') diff --git a/status.c b/status.c index d4ba281d..72f6060a 100644 --- a/status.c +++ b/status.c @@ -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 @@ -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) { -- cgit