/** * Draw a view to a string and return it. * * @return string Console-printable string. * @task draw */ public final function drawConsoleString() { $view = $this->drawView(); $parts = $this->reduceView($view); $out = array(); foreach ($parts as $part) { $out[] = PhutilTerminalString::escapeStringValue($part, true); } return implode('', $out); }
/** * Callback for terminal encoding, see @{function:tsprintf} for use. */ function xsprintf_terminal($userdata, &$pattern, &$pos, &$value, &$length) { $type = $pattern[$pos]; switch ($type) { case 's': $value = PhutilTerminalString::escapeStringValue($value, false); $type = 's'; break; case 'B': $value = PhutilTerminalString::escapeStringValue($value, true); $type = 's'; break; case 'R': $type = 's'; break; } $pattern[$pos] = $type; }