All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
51 lines
885 B
PHP
51 lines
885 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Termwind;
|
|
|
|
use Symfony\Component\Console\Terminal as ConsoleTerminal;
|
|
|
|
/**
|
|
* @internal
|
|
*/
|
|
final class Terminal
|
|
{
|
|
/**
|
|
* An instance of Symfony's console terminal.
|
|
*/
|
|
private ConsoleTerminal $terminal;
|
|
|
|
/**
|
|
* Creates a new terminal instance.
|
|
*/
|
|
public function __construct(?ConsoleTerminal $terminal = null)
|
|
{
|
|
$this->terminal = $terminal ?? new ConsoleTerminal;
|
|
}
|
|
|
|
/**
|
|
* Gets the terminal width.
|
|
*/
|
|
public function width(): int
|
|
{
|
|
return $this->terminal->getWidth();
|
|
}
|
|
|
|
/**
|
|
* Gets the terminal height.
|
|
*/
|
|
public function height(): int
|
|
{
|
|
return $this->terminal->getHeight();
|
|
}
|
|
|
|
/**
|
|
* Clears the terminal screen.
|
|
*/
|
|
public function clear(): void
|
|
{
|
|
Termwind::getRenderer()->write("\ec");
|
|
}
|
|
}
|