Passed
Push — master ( d4a0a9...a5fa1a )
by Alec
02:38 queued 13s
created

SymfonyTerminalProbe::getWidth()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 1
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
0 ignored issues
show
Coding Style introduced by
Header blocks must be separated by a single blank line
Loading history...
4
// 09.03.23
5
namespace AlecRabbit\Spinner\Core\Terminal;
6
7
use AlecRabbit\Spinner\Core\ColorMode;
8
use AlecRabbit\Spinner\Core\Terminal\A\ATerminalProbe;
9
use Symfony\Component\Console\Output\AnsiColorMode;
10
use Symfony\Component\Console\Terminal;
11
12
use function class_exists;
13
14
final class SymfonyTerminalProbe extends ATerminalProbe
15
{
16
    public static function isSupported(): bool
17
    {
18
        return class_exists(Terminal::class);
19
    }
20
21
    public static function getWidth(): int
22
    {
23
        return (new Terminal())->getWidth();
24
    }
25
26
    public static function getColorMode(): ColorMode
27
    {
28
        return
29
            match (Terminal::getColorMode()) {
30
                AnsiColorMode::Ansi24 => ColorMode::ANSI24,
31
                AnsiColorMode::Ansi8 => ColorMode::ANSI8,
32
                AnsiColorMode::Ansi4 => ColorMode::ANSI4,
33
            };
34
    }
35
}