Ansi::sgr()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 5
c 1
b 0
f 0
dl 0
loc 8
rs 10
cc 2
nc 2
nop 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace WebServCo\Framework\Cli;
6
7
final class Ansi
8
{
9
    /**
10
    * Select Graphic Rendition
11
    *
12
    * @see \WebServCo\Framework\Cli\Sgr
13
     * @param array<int,int> $parameters ANSI SGR parameters (alterantively use the Sgr class constants)
14
     */
15
    public static function sgr(string $string, array $parameters): string
16
    {
17
        $result = '';
18
        foreach ($parameters as $parameter) {
19
            $result .= \sprintf("\e[%sm", $parameter);
20
        }
21
        $result .= $string . \sprintf("\e[%sm", Sgr::RESET);
22
        return $result;
23
    }
24
25
    public static function clear(): string
26
    {
27
        return "\e[H\e[J";
28
    }
29
}
30