add set colors command to assist remote console

This commit is contained in:
krakjoe 2013-11-28 17:02:38 +00:00
parent b2af85a445
commit 26e1d57e8c
3 changed files with 35 additions and 1 deletions

View file

@ -10,6 +10,7 @@ Version 0.2.0 2013-00-00
3. Added "set" command - control prompt and console colors 3. Added "set" command - control prompt and console colors
4. .phpdbginit now searched in (additional) ini dirs 4. .phpdbginit now searched in (additional) ini dirs
5. Added source command - load additional .phpdbginit script during session 5. Added source command - load additional .phpdbginit script during session
6. Added remote console mode
Version 0.1.0 2013-11-23 Version 0.1.0 2013-11-23
------------------------ ------------------------

View file

@ -57,7 +57,9 @@ PHPDBG_SET(break) /* {{{ */
} }
break; break;
phpdbg_default_switch_case(); default:
phpdbg_error(
"set break used incorrectly: set break <on|off>");
} }
return SUCCESS; return SUCCESS;
@ -71,6 +73,7 @@ PHPDBG_SET(color) /* {{{ */
input->argv[2]->string, input->argv[2]->length TSRMLS_CC); input->argv[2]->string, input->argv[2]->length TSRMLS_CC);
int element = PHPDBG_COLOR_INVALID; int element = PHPDBG_COLOR_INVALID;
/* @TODO(anyone) make this consistent with other set commands */
if (color) { if (color) {
if (phpdbg_argv_is(1, "prompt")) { if (phpdbg_argv_is(1, "prompt")) {
phpdbg_notice( phpdbg_notice(
@ -105,6 +108,34 @@ usage:
} }
return SUCCESS; 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 <on|off>");
done:
return SUCCESS;
} /* }}} */
#endif #endif
PHPDBG_SET(oplog) /* {{{ */ PHPDBG_SET(oplog) /* {{{ */

View file

@ -27,6 +27,7 @@
PHPDBG_SET(prompt); PHPDBG_SET(prompt);
#ifndef _WIN32 #ifndef _WIN32
PHPDBG_SET(color); PHPDBG_SET(color);
PHPDBG_SET(colors);
#endif #endif
PHPDBG_SET(oplog); PHPDBG_SET(oplog);
PHPDBG_SET(break); PHPDBG_SET(break);
@ -35,6 +36,7 @@ static const phpdbg_command_t phpdbg_set_commands[] = {
PHPDBG_COMMAND_D_EX(prompt, "usage: set prompt <string>", 'p', set_prompt, NULL, 0), PHPDBG_COMMAND_D_EX(prompt, "usage: set prompt <string>", 'p', set_prompt, NULL, 0),
#ifndef _WIN32 #ifndef _WIN32
PHPDBG_COMMAND_D_EX(color, "usage: set color <element> <color>", 'c', set_color, NULL, 1), PHPDBG_COMMAND_D_EX(color, "usage: set color <element> <color>", 'c', set_color, NULL, 1),
PHPDBG_COMMAND_D_EX(colors, "usage: set colors <on|off>", 'C', set_colors, NULL, 1),
#endif #endif
PHPDBG_COMMAND_D_EX(oplog, "usage: set oplog <output>", 'O', set_oplog, NULL, 0), PHPDBG_COMMAND_D_EX(oplog, "usage: set oplog <output>", 'O', set_oplog, NULL, 0),
PHPDBG_COMMAND_D_EX(break, "usage: set break <on|off>", 'b', set_break, NULL, 0), PHPDBG_COMMAND_D_EX(break, "usage: set break <on|off>", 'b', set_break, NULL, 0),