trait TracksTaskOutput

Track bounded incremental output owned by a Task operation.

Traits

Constants

private CONTROL_MODE_ESCAPE

private CONTROL_MODE_CSI_PARAMETERS

private CONTROL_MODE_CSI_INTERMEDIATES

private CONTROL_MODE_OSC

private CONTROL_MODE_STRING

Properties

protected int|null $partialStartIndex

The log index where the current partial started, or null if not streaming.

Methods

int
longest(array $lines, int $padding = 0)

Get the length of the longest line.

string
pad(string $text, int $length, string $char = ' ')

Pad text ignoring ANSI escape sequences.

string
replaceLastVisibleGrapheme(string $line, string $replacement)

Replace the last visible grapheme while preserving trailing formatting.

string
stripEscapeSequences(string $text)

Strip ANSI escape sequences from the given text.

string
mbWordwrap(string $string, int $width = 75, string $break = "\n", bool $cut_long_words = false)

Multi-byte version of wordwrap.

array
ansiWordwrap(string $text, int $width, bool $cutLongWords = false)

Word wrap text while preserving ANSI escape sequences.

array
parseAnsiText(string $text)

Parse text into segments with their associated ANSI codes.

void
updateSgrState(array $activeSgr, string $escape)

Update the bounded set of active SGR attributes.

void
addLogLines(string $line)

Add a complete logical log message.

void
replacePartialLines(string $text)

Replace the in-progress partial with a complete supplied prefix.

Details

protected int longest(array $lines, int $padding = 0)

Get the length of the longest line.

Parameters

array $lines
int $padding

Return Value

int

protected string pad(string $text, int $length, string $char = ' ')

Pad text ignoring ANSI escape sequences.

Parameters

string $text
int $length
string $char

Return Value

string

protected string replaceLastVisibleGrapheme(string $line, string $replacement)

Replace the last visible grapheme while preserving trailing formatting.

Parameters

string $line
string $replacement

Return Value

string

protected string stripEscapeSequences(string $text)

Strip ANSI escape sequences from the given text.

Parameters

string $text

Return Value

string

protected string mbWordwrap(string $string, int $width = 75, string $break = "\n", bool $cut_long_words = false)

Multi-byte version of wordwrap.

Parameters

string $string
int $width
string $break
bool $cut_long_words

Return Value

string

in InteractsWithStrings at line 172
protected array ansiWordwrap(string $text, int $width, bool $cutLongWords = false)

Word wrap text while preserving ANSI escape sequences.

Parameters

string $text
int $width
bool $cutLongWords

Return Value

array

in InteractsWithStrings at line 267
protected array parseAnsiText(string $text)

Parse text into segments with their associated ANSI codes.

Parameters

string $text

Return Value

array

in InteractsWithStrings at line 379
protected void updateSgrState(array $activeSgr, string $escape)

Update the bounded set of active SGR attributes.

Parameters

array $activeSgr
string $escape

Return Value

void

at line 94
protected void addLogLines(string $line)

Add a complete logical log message.

Parameters

string $line

Return Value

void

at line 109
protected void replacePartialLines(string $text)

Replace the in-progress partial with a complete supplied prefix.

Parameters

string $text

Return Value

void