12 namespace Symfony\Component\Console\Helper;
23 private $colors = array(
'black',
'red',
'green',
'yellow',
'blue',
'magenta',
'cyan',
'white',
'default');
36 public function start($id, $message, $prefix =
'RUN')
38 $this->started[$id] = array(
'border' => ++$this->count % count($this->colors));
40 return sprintf(
"%s<bg=blue;fg=white> %s </> <fg=blue>%s</>\n", $this->
getBorder($id), $prefix, $message);
54 public function progress($id, $buffer, $error =
false, $prefix =
'OUT', $errorPrefix =
'ERR')
59 if (isset($this->started[$id][
'out'])) {
61 unset($this->started[$id][
'out']);
63 if (!isset($this->started[$id][
'err'])) {
64 $message .= sprintf(
'%s<bg=red;fg=white> %s </> ', $this->
getBorder($id), $errorPrefix);
65 $this->started[$id][
'err'] =
true;
68 $message .= str_replace(
"\n", sprintf(
"\n%s<bg=red;fg=white> %s </> ", $this->
getBorder($id), $errorPrefix), $buffer);
70 if (isset($this->started[$id][
'err'])) {
72 unset($this->started[$id][
'err']);
74 if (!isset($this->started[$id][
'out'])) {
75 $message .= sprintf(
'%s<bg=green;fg=white> %s </> ', $this->
getBorder($id), $prefix);
76 $this->started[$id][
'out'] =
true;
79 $message .= str_replace(
"\n", sprintf(
"\n%s<bg=green;fg=white> %s </> ", $this->
getBorder($id), $prefix), $buffer);
95 public function stop($id, $message, $successful, $prefix =
'RES')
97 $trailingEOL = isset($this->started[$id][
'out']) || isset($this->started[$id][
'err']) ?
"\n" :
'';
100 return sprintf(
"%s%s<bg=green;fg=white> %s </> <fg=green>%s</>\n", $trailingEOL, $this->
getBorder($id), $prefix, $message);
103 $message = sprintf(
"%s%s<bg=red;fg=white> %s </> <fg=red>%s</>\n", $trailingEOL, $this->
getBorder($id), $prefix, $message);
105 unset($this->started[$id][
'out'], $this->started[$id][
'err']);
117 return sprintf(
'<bg=%s> </>', $this->colors[$this->started[$id][
'border']]);
125 return 'debug_formatter';