diff options
author | krakjoe <joe.watkins@live.co.uk> | 2013-11-24 19:34:18 +0000 |
---|---|---|
committer | krakjoe <joe.watkins@live.co.uk> | 2013-11-24 19:34:18 +0000 |
commit | ddcfa42f15217d8e8e21248cc5c7e1ee2007e7f6 (patch) | |
tree | 2bc89b90458ae52d810eb7ab597e7d200195cc37 /phpdbg.c | |
parent | c85f247eacccec99d531109732bb3ba757806ecc (diff) | |
download | php-git-ddcfa42f15217d8e8e21248cc5c7e1ee2007e7f6.tar.gz |
get good control over colors and prompt
Diffstat (limited to 'phpdbg.c')
-rw-r--r-- | phpdbg.c | 38 |
1 files changed, 21 insertions, 17 deletions
@@ -37,9 +37,13 @@ void (*zend_execute_old)(zend_op_array *op_array TSRMLS_DC); static inline void php_phpdbg_globals_ctor(zend_phpdbg_globals *pg) /* {{{ */ { - pg->prompt = NULL; - pg->prompt_raw = NULL; - pg->prompt_color = NULL; + pg->prompt[0] = NULL; + pg->prompt[1] = NULL; + + pg->colors[0] = NULL; + pg->colors[1] = NULL; + pg->colors[2] = NULL; + pg->exec = NULL; pg->exec_len = 0; pg->ops = NULL; @@ -151,20 +155,15 @@ static PHP_RSHUTDOWN_FUNCTION(phpdbg) /* {{{ */ PHPDBG_G(exec) = NULL; } - if (PHPDBG_G(prompt)) { - efree(PHPDBG_G(prompt)); - PHPDBG_G(prompt) = NULL; + if (PHPDBG_G(prompt)[0]) { + free(PHPDBG_G(prompt)[0]); } - - if (PHPDBG_G(prompt_raw)) { - efree(PHPDBG_G(prompt_raw)); - PHPDBG_G(prompt_raw) = NULL; - } - - if (PHPDBG_G(prompt_color)) { - efree(PHPDBG_G(prompt_color)); - PHPDBG_G(prompt_color) = NULL; + if (PHPDBG_G(prompt)[1]) { + free(PHPDBG_G(prompt)[1]); } + + PHPDBG_G(prompt)[0] = NULL; + PHPDBG_G(prompt)[1] = NULL; if (PHPDBG_G(oplog)) { fclose( @@ -698,9 +697,14 @@ phpdbg_main: /* set flags from command line */ PHPDBG_G(flags) = flags; - /* set default prompt */ - phpdbg_set_prompt(PROMPT, "1;64" TSRMLS_CC); + /* set default colors */ + phpdbg_set_color_ex(PHPDBG_COLOR_PROMPT, "white-bold", sizeof("white-bold")-1 TSRMLS_CC); + phpdbg_set_color_ex(PHPDBG_COLOR_ERROR, "red", sizeof("red")-1 TSRMLS_CC); + phpdbg_set_color_ex(PHPDBG_COLOR_NOTICE, "green", sizeof("green")-1 TSRMLS_CC); + /* set default prompt */ + phpdbg_set_prompt(PROMPT TSRMLS_CC); + zend_try { zend_activate_modules(TSRMLS_C); } zend_end_try(); |