Show database number in cli prompt when non-zero

This commit is contained in:
Pieter Noordhuis 2011-03-06 21:14:40 +01:00
parent 96e34b3ce1
commit 3f4eef215b

View File

@ -64,6 +64,7 @@ static struct config {
char *auth; char *auth;
int raw_output; /* output mode per command */ int raw_output; /* output mode per command */
sds mb_delim; sds mb_delim;
char prompt[32];
} config; } config;
static void usage(); static void usage();
@ -84,6 +85,13 @@ static long long mstime(void) {
return mst; return mst;
} }
static void cliRefreshPrompt(void) {
if (config.dbnum == 0)
snprintf(config.prompt,sizeof(config.prompt),"redis> ");
else
snprintf(config.prompt,sizeof(config.prompt),"redis:%d> ",config.dbnum);
}
/*------------------------------------------------------------------------------ /*------------------------------------------------------------------------------
* Help functions * Help functions
*--------------------------------------------------------------------------- */ *--------------------------------------------------------------------------- */
@ -491,8 +499,10 @@ static int cliSendCommand(int argc, char **argv, int repeat) {
return REDIS_ERR; return REDIS_ERR;
} else { } else {
/* Store database number when SELECT was successfully executed. */ /* Store database number when SELECT was successfully executed. */
if (!strcasecmp(command,"select") && argc == 2) if (!strcasecmp(command,"select") && argc == 2) {
config.dbnum = atoi(argv[1]); config.dbnum = atoi(argv[1]);
cliRefreshPrompt();
}
} }
} }
@ -633,7 +643,8 @@ static void repl() {
} }
} }
while((line = linenoise(context ? "redis> " : "not connected> ")) != NULL) { cliRefreshPrompt();
while((line = linenoise(context ? config.prompt : "not connected> ")) != NULL) {
if (line[0] != '\0') { if (line[0] != '\0') {
argv = sdssplitargs(line,&argc); argv = sdssplitargs(line,&argc);
if (history) linenoiseHistoryAdd(line); if (history) linenoiseHistoryAdd(line);