]> granicus.if.org Git - php/commitdiff
add set colors command to assist remote console
authorkrakjoe <joe.watkins@live.co.uk>
Thu, 28 Nov 2013 17:02:38 +0000 (17:02 +0000)
committerkrakjoe <joe.watkins@live.co.uk>
Thu, 28 Nov 2013 17:02:38 +0000 (17:02 +0000)
Changelog.md
phpdbg_set.c
phpdbg_set.h

index 076d2c80e45a5b6b81d94011ce2ff1ce1d9506d6..97aa1e9586abc1d94fc6f16e1c05fd93b4a0e764 100644 (file)
@@ -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
 ------------------------
index aa24822b9e16f3fd8029898431ab34ff50651c5d..be8624ef9709b989a4c86f04bf651d1da265a70a 100644 (file)
@@ -57,7 +57,9 @@ PHPDBG_SET(break) /* {{{ */
                        }
                        break;
 
-               phpdbg_default_switch_case();
+               default:
+                       phpdbg_error(
+                               "set break used incorrectly: set break <on|off>");
        }
 
        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 <on|off>");
+
+done:
+       return SUCCESS;
+} /* }}} */
 #endif
 
 PHPDBG_SET(oplog) /* {{{ */
index b18da4846a25a811d8dbd254b7900a6daab4c6dc..35b61d4e61a14ac3668c64a517d157b9d3a8ab65 100644 (file)
@@ -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 <string>",          'p', set_prompt,       NULL, 0),
 #ifndef _WIN32
        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
        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),