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