CloudCastle Cli API

Text
in package

FinalYes

Юникод-корректные операции над текстом для терминала.

Ширина считается по видимым символам с игнорированием ANSI-последовательностей, поэтому перенос, обрезка и выравнивание работают предсказуемо и на цветном, и на многобайтном тексте.

Table of Contents

Methods

pad()  : string
Выровнять текст в поле фиксированной ширины пробелами.
truncate()  : string
Обрезать строку до предела символов, добавив многоточие при усечении.
width()  : int
Видимая ширина строки: число символов без учёта ANSI-оформления.
wrap()  : string
Перенести текст по словам так, чтобы каждая строка не шире заданного.

Methods

pad()

Выровнять текст в поле фиксированной ширины пробелами.

public static pad(string $text, int $width[, Align $align = Align::Left ]) : string
Parameters
$text : string

исходный текст

$width : int

ширина поля

$align : Align = Align::Left

сторона выравнивания

Return values
string

дополненная до ширины строка (или исходная, если она шире)

truncate()

Обрезать строку до предела символов, добавив многоточие при усечении.

public static truncate(string $text, int $limit[, string $ellipsis = '…' ]) : string
Parameters
$text : string

исходная строка

$limit : int

предельная ширина (> 0)

$ellipsis : string = '…'

маркер усечения

Tags
throws
InvalidArgumentException

если предел не положителен

Return values
string

строка не шире предела

width()

Видимая ширина строки: число символов без учёта ANSI-оформления.

public static width(string $text) : int
Parameters
$text : string

измеряемая строка

Return values
int

ширина в символах

wrap()

Перенести текст по словам так, чтобы каждая строка не шире заданного.

public static wrap(string $text, int $width) : string

Слова длиннее ширины разрываются по символам.

Parameters
$text : string

исходный текст

$width : int

максимальная ширина строки (> 0)

Tags
throws
InvalidArgumentException

если ширина не положительна

Return values
string

текст со вставленными переводами строк

On this page

Search results