diff --git a/Changelog.md b/Changelog.md index 076d2c80e45..97aa1e9586a 100644 --- a/Changelog.md +++ b/Changelog.md @@ -10,6 +10,7 @@ Version 0.2.0 2013-00-00 3. Added "set" command - control prompt and console colors 4. .phpdbginit now searched in (additional) ini dirs 5. Added source command - load additional .phpdbginit script during session +6. Added remote console mode Version 0.1.0 2013-11-23 ------------------------ diff --git a/phpdbg_set.c b/phpdbg_set.c index aa24822b9e1..be8624ef970 100644 --- a/phpdbg_set.c +++ b/phpdbg_set.c @@ -57,7 +57,9 @@ PHPDBG_SET(break) /* {{{ */ } break; - phpdbg_default_switch_case(); + default: + phpdbg_error( + "set break used incorrectly: set break "); } return SUCCESS; @@ -71,6 +73,7 @@ PHPDBG_SET(color) /* {{{ */ input->argv[2]->string, input->argv[2]->length TSRMLS_CC); int element = PHPDBG_COLOR_INVALID; + /* @TODO(anyone) make this consistent with other set commands */ if (color) { if (phpdbg_argv_is(1, "prompt")) { phpdbg_notice( @@ -105,6 +108,34 @@ usage: } return SUCCESS; } /* }}} */ + +PHPDBG_SET(colors) /* {{{ */ +{ + switch (param->type) { + case EMPTY_PARAM: { + phpdbg_writeln( + "%s", PHPDBG_G(flags) & PHPDBG_IS_COLOURED ? "on" : "off"); + goto done; + } + + case STR_PARAM: { + if (strncasecmp(param->str, PHPDBG_STRL("on")) == 0) { + PHPDBG_G(flags) |= PHPDBG_IS_COLOURED; + goto done; + } else if (strncasecmp(param->str, PHPDBG_STRL("off")) == 0) { + PHPDBG_G(flags) &= ~PHPDBG_IS_COLOURED; + goto done; + } + } + } + +usage: + phpdbg_error( + "set colors used incorrectly: set colors "); + +done: + return SUCCESS; +} /* }}} */ #endif PHPDBG_SET(oplog) /* {{{ */ diff --git a/phpdbg_set.h b/phpdbg_set.h index b18da4846a2..35b61d4e61a 100644 --- a/phpdbg_set.h +++ b/phpdbg_set.h @@ -27,6 +27,7 @@ PHPDBG_SET(prompt); #ifndef _WIN32 PHPDBG_SET(color); +PHPDBG_SET(colors); #endif PHPDBG_SET(oplog); PHPDBG_SET(break); @@ -35,6 +36,7 @@ static const phpdbg_command_t phpdbg_set_commands[] = { PHPDBG_COMMAND_D_EX(prompt, "usage: set prompt ", 'p', set_prompt, NULL, 0), #ifndef _WIN32 PHPDBG_COMMAND_D_EX(color, "usage: set color ", 'c', set_color, NULL, 1), + PHPDBG_COMMAND_D_EX(colors, "usage: set colors ", 'C', set_colors, NULL, 1), #endif PHPDBG_COMMAND_D_EX(oplog, "usage: set oplog ", 'O', set_oplog, NULL, 0), PHPDBG_COMMAND_D_EX(break, "usage: set break ", 'b', set_break, NULL, 0),