Simple tab completion of option names in command prompt.

This commit is contained in:
Nicholas Marriott
2008-06-21 14:11:39 +00:00
parent 456ff329c3
commit e70e9513a8
6 changed files with 71 additions and 6 deletions

View File

@ -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) {