CloudCastle Cli API

Terminal
in package

FinalYes

Сведения об окружении терминала: размеры, поддержка цвета, интерактивность.

Данные берутся из переменных окружения (COLUMNS, LINES, NO_COLOR, FORCE_COLOR) и признака TTY у потока — без порождения внешних процессов (stty/mode), что исключает сайд-эффекты и делает поведение детерминируемым и тестируемым.

Table of Contents

Methods

height()  : int
Высота терминала в строках.
isInteractive()  : bool
Интерактивен ли поток (подключён к терминалу).
supportsColor()  : bool
Поддерживает ли поток цветной вывод.
width()  : int
Ширина терминала в колонках.

Methods

height()

Высота терминала в строках.

public static height([int $default = 24 ]) : int
Parameters
$default : int = 24

значение, если LINES не задан

Return values
int

число строк

isInteractive()

Интерактивен ли поток (подключён к терминалу).

public static isInteractive(resource $stream) : bool
Parameters
$stream : resource

проверяемый поток

Return values
bool

true, если поток — TTY

supportsColor()

Поддерживает ли поток цветной вывод.

public static supportsColor(resource $stream) : bool

Учитывает стандарты NO_COLOR (отключить) и FORCE_COLOR (принудительно), иначе смотрит на признак TTY.

Parameters
$stream : resource

проверяемый поток вывода

Return values
bool

true, если цвет уместен

width()

Ширина терминала в колонках.

public static width([int $default = 80 ]) : int
Parameters
$default : int = 80

значение, если COLUMNS не задан

Return values
int

число колонок

On this page

Search results