/**
  * 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);
 }
Пример #2
0
/**
 * 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;
}