Changeset View
Changeset View
Standalone View
Standalone View
src/console/PhutilConsole.php
Show First 20 Lines • Show All 98 Lines • ▼ Show 20 Lines | public static function newRemoteConsole() { | ||||
return $console; | return $console; | ||||
} | } | ||||
/* -( Interfacing with the User )------------------------------------------ */ | /* -( Interfacing with the User )------------------------------------------ */ | ||||
public function confirm($prompt, $default = false) { | public function confirm($prompt, $default = false) { | ||||
$message = id(new PhutilConsoleMessage()) | $message = (new PhutilConsoleMessage()) | ||||
->setType(PhutilConsoleMessage::TYPE_CONFIRM) | ->setType(PhutilConsoleMessage::TYPE_CONFIRM) | ||||
->setData( | ->setData( | ||||
array( | array( | ||||
'prompt' => $prompt, | 'prompt' => $prompt, | ||||
'default' => $default, | 'default' => $default, | ||||
)); | )); | ||||
$this->writeMessage($message); | $this->writeMessage($message); | ||||
$response = $this->waitForMessage(); | $response = $this->waitForMessage(); | ||||
return $response->getData(); | return $response->getData(); | ||||
} | } | ||||
public function prompt($prompt, $history = '') { | public function prompt($prompt, $history = '') { | ||||
$message = id(new PhutilConsoleMessage()) | $message = (new PhutilConsoleMessage()) | ||||
->setType(PhutilConsoleMessage::TYPE_PROMPT) | ->setType(PhutilConsoleMessage::TYPE_PROMPT) | ||||
->setData( | ->setData( | ||||
array( | array( | ||||
'prompt' => $prompt, | 'prompt' => $prompt, | ||||
'history' => $history, | 'history' => $history, | ||||
)); | )); | ||||
$this->writeMessage($message); | $this->writeMessage($message); | ||||
$response = $this->waitForMessage(); | $response = $this->waitForMessage(); | ||||
return $response->getData(); | return $response->getData(); | ||||
} | } | ||||
public function sendMessage($data) { | public function sendMessage($data) { | ||||
$message = id(new PhutilConsoleMessage())->setData($data); | $message = (new PhutilConsoleMessage())->setData($data); | ||||
return $this->writeMessage($message); | return $this->writeMessage($message); | ||||
} | } | ||||
public function writeOut($pattern /* , ... */) { | public function writeOut($pattern /* , ... */) { | ||||
$args = func_get_args(); | $args = func_get_args(); | ||||
return $this->writeTextMessage(PhutilConsoleMessage::TYPE_OUT, $args); | return $this->writeTextMessage(PhutilConsoleMessage::TYPE_OUT, $args); | ||||
} | } | ||||
Show All 29 Lines | if (strlen($string)) { | ||||
$this->writeOut('%s', $string); | $this->writeOut('%s', $string); | ||||
$this->flushing = true; | $this->flushing = true; | ||||
} | } | ||||
return ''; | return ''; | ||||
} | } | ||||
private function writeTextMessage($type, array $argv) { | private function writeTextMessage($type, array $argv) { | ||||
$message = id(new PhutilConsoleMessage()) | $message = (new PhutilConsoleMessage()) | ||||
->setType($type) | ->setType($type) | ||||
->setData($argv); | ->setData($argv); | ||||
$this->writeMessage($message); | $this->writeMessage($message); | ||||
return $this; | return $this; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 53 Lines • ▼ Show 20 Lines | public function disableOut() { | ||||
return $this->disableMessageType(PhutilConsoleMessage::TYPE_OUT); | return $this->disableMessageType(PhutilConsoleMessage::TYPE_OUT); | ||||
} | } | ||||
public function enableOut() { | public function enableOut() { | ||||
return $this->enableMessageType(PhutilConsoleMessage::TYPE_OUT); | return $this->enableMessageType(PhutilConsoleMessage::TYPE_OUT); | ||||
} | } | ||||
public function isLogEnabled() { | public function isLogEnabled() { | ||||
$message = id(new PhutilConsoleMessage()) | $message = (new PhutilConsoleMessage()) | ||||
->setType(PhutilConsoleMessage::TYPE_ENABLED) | ->setType(PhutilConsoleMessage::TYPE_ENABLED) | ||||
->setData( | ->setData( | ||||
array( | array( | ||||
'which' => PhutilConsoleMessage::TYPE_LOG, | 'which' => PhutilConsoleMessage::TYPE_LOG, | ||||
)); | )); | ||||
$this->writeMessage($message); | $this->writeMessage($message); | ||||
$response = $this->waitForMessage(); | $response = $this->waitForMessage(); | ||||
return $response->getData(); | return $response->getData(); | ||||
} | } | ||||
public function isErrATTY() { | public function isErrATTY() { | ||||
$message = id(new PhutilConsoleMessage()) | $message = (new PhutilConsoleMessage()) | ||||
->setType(PhutilConsoleMessage::TYPE_TTY) | ->setType(PhutilConsoleMessage::TYPE_TTY) | ||||
->setData( | ->setData( | ||||
array( | array( | ||||
'which' => PhutilConsoleMessage::TYPE_ERR, | 'which' => PhutilConsoleMessage::TYPE_ERR, | ||||
)); | )); | ||||
$this->writeMessage($message); | $this->writeMessage($message); | ||||
$response = $this->waitForMessage(); | $response = $this->waitForMessage(); | ||||
return $response->getData(); | return $response->getData(); | ||||
} | } | ||||
public function getErrCols() { | public function getErrCols() { | ||||
$message = id(new PhutilConsoleMessage()) | $message = (new PhutilConsoleMessage()) | ||||
->setType(PhutilConsoleMessage::TYPE_COLS) | ->setType(PhutilConsoleMessage::TYPE_COLS) | ||||
->setData( | ->setData( | ||||
array( | array( | ||||
'which' => PhutilConsoleMessage::TYPE_ERR, | 'which' => PhutilConsoleMessage::TYPE_ERR, | ||||
)); | )); | ||||
$this->writeMessage($message); | $this->writeMessage($message); | ||||
$response = $this->waitForMessage(); | $response = $this->waitForMessage(); | ||||
return $response->getData(); | return $response->getData(); | ||||
} | } | ||||
} | } |
Content licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) unless otherwise noted; code licensed under Apache 2.0 or other open source licenses. · CC BY-SA 4.0 · Apache 2.0