Changed prompt management
This commit is contained in:
parent
06d879853c
commit
27af65af5e
@ -28,11 +28,14 @@ class MyShell extends Shell
|
||||
echo "world\n\rthis\n\ris\n\ra\ntest\n\r";
|
||||
});
|
||||
$this->addCommand(new MyCommand());
|
||||
$this->updatePrompt();
|
||||
}
|
||||
|
||||
protected function getPrompt()
|
||||
protected function updatePrompt()
|
||||
{
|
||||
return "test[{$this->seq}]: ";
|
||||
$this->setPrompt("test[{$this->seq}]: ");
|
||||
$fg = ($this->seq % 7) + 1;
|
||||
$this->setPromptStyle("3{$fg}");
|
||||
}
|
||||
|
||||
protected function onUpdate()
|
||||
@ -43,13 +46,12 @@ class MyShell extends Shell
|
||||
$lt = $t + 5;
|
||||
echo date("Y-m-d h:i:s")."\n";
|
||||
}
|
||||
$fg = ($this->seq % 7) + 1;
|
||||
$this->setPromptStyle("3{$fg}");
|
||||
}
|
||||
|
||||
protected function onCommand($buffer)
|
||||
{
|
||||
$this->seq++;
|
||||
$this->updatePrompt();
|
||||
parent::onCommand($buffer);
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ use NoccyLabs\Shell\LineRead;
|
||||
|
||||
abstract class Shell
|
||||
{
|
||||
protected $prompt;
|
||||
|
||||
protected $promptStyle;
|
||||
|
||||
@ -76,6 +77,11 @@ abstract class Shell
|
||||
{
|
||||
}
|
||||
|
||||
public function setPrompt($prompt)
|
||||
{
|
||||
$this->prompt = $prompt;
|
||||
}
|
||||
|
||||
public function setPromptStyle($style)
|
||||
{
|
||||
$this->promptStyle = $style;
|
||||
@ -95,7 +101,7 @@ abstract class Shell
|
||||
$this->running = true;
|
||||
|
||||
do {
|
||||
$lineRead->setPrompt($this->getPrompt(), $this->promptStyle);
|
||||
$lineRead->setPrompt($this->prompt, $this->promptStyle);
|
||||
$buffer = $lineRead->update();
|
||||
if ($buffer == "\x03") {
|
||||
$this->stop();
|
||||
|
Loading…
Reference in New Issue
Block a user