diff --git a/src/utils/Terminal.php b/src/utils/Terminal.php index eb99f1fb3..f76aef6e4 100644 --- a/src/utils/Terminal.php +++ b/src/utils/Terminal.php @@ -187,79 +187,31 @@ abstract class Terminal{ $newString = ""; foreach($string as $token){ - switch($token){ - case TextFormat::BOLD: - $newString .= Terminal::$FORMAT_BOLD; - break; - case TextFormat::OBFUSCATED: - $newString .= Terminal::$FORMAT_OBFUSCATED; - break; - case TextFormat::ITALIC: - $newString .= Terminal::$FORMAT_ITALIC; - break; - case TextFormat::UNDERLINE: - $newString .= Terminal::$FORMAT_UNDERLINE; - break; - case TextFormat::STRIKETHROUGH: - $newString .= Terminal::$FORMAT_STRIKETHROUGH; - break; - case TextFormat::RESET: - $newString .= Terminal::$FORMAT_RESET; - break; - - //Colors - case TextFormat::BLACK: - $newString .= Terminal::$COLOR_BLACK; - break; - case TextFormat::DARK_BLUE: - $newString .= Terminal::$COLOR_DARK_BLUE; - break; - case TextFormat::DARK_GREEN: - $newString .= Terminal::$COLOR_DARK_GREEN; - break; - case TextFormat::DARK_AQUA: - $newString .= Terminal::$COLOR_DARK_AQUA; - break; - case TextFormat::DARK_RED: - $newString .= Terminal::$COLOR_DARK_RED; - break; - case TextFormat::DARK_PURPLE: - $newString .= Terminal::$COLOR_PURPLE; - break; - case TextFormat::GOLD: - $newString .= Terminal::$COLOR_GOLD; - break; - case TextFormat::GRAY: - $newString .= Terminal::$COLOR_GRAY; - break; - case TextFormat::DARK_GRAY: - $newString .= Terminal::$COLOR_DARK_GRAY; - break; - case TextFormat::BLUE: - $newString .= Terminal::$COLOR_BLUE; - break; - case TextFormat::GREEN: - $newString .= Terminal::$COLOR_GREEN; - break; - case TextFormat::AQUA: - $newString .= Terminal::$COLOR_AQUA; - break; - case TextFormat::RED: - $newString .= Terminal::$COLOR_RED; - break; - case TextFormat::LIGHT_PURPLE: - $newString .= Terminal::$COLOR_LIGHT_PURPLE; - break; - case TextFormat::YELLOW: - $newString .= Terminal::$COLOR_YELLOW; - break; - case TextFormat::WHITE: - $newString .= Terminal::$COLOR_WHITE; - break; - default: - $newString .= $token; - break; - } + $newString .= match($token){ + TextFormat::BOLD => Terminal::$FORMAT_BOLD, + TextFormat::OBFUSCATED => Terminal::$FORMAT_OBFUSCATED, + TextFormat::ITALIC => Terminal::$FORMAT_ITALIC, + TextFormat::UNDERLINE => Terminal::$FORMAT_UNDERLINE, + TextFormat::STRIKETHROUGH => Terminal::$FORMAT_STRIKETHROUGH, + TextFormat::RESET => Terminal::$FORMAT_RESET, + TextFormat::BLACK => Terminal::$COLOR_BLACK, + TextFormat::DARK_BLUE => Terminal::$COLOR_DARK_BLUE, + TextFormat::DARK_GREEN => Terminal::$COLOR_DARK_GREEN, + TextFormat::DARK_AQUA => Terminal::$COLOR_DARK_AQUA, + TextFormat::DARK_RED => Terminal::$COLOR_DARK_RED, + TextFormat::DARK_PURPLE => Terminal::$COLOR_PURPLE, + TextFormat::GOLD => Terminal::$COLOR_GOLD, + TextFormat::GRAY => Terminal::$COLOR_GRAY, + TextFormat::DARK_GRAY => Terminal::$COLOR_DARK_GRAY, + TextFormat::BLUE => Terminal::$COLOR_BLUE, + TextFormat::GREEN => Terminal::$COLOR_GREEN, + TextFormat::AQUA => Terminal::$COLOR_AQUA, + TextFormat::RED => Terminal::$COLOR_RED, + TextFormat::LIGHT_PURPLE => Terminal::$COLOR_LIGHT_PURPLE, + TextFormat::YELLOW => Terminal::$COLOR_YELLOW, + TextFormat::WHITE => Terminal::$COLOR_WHITE, + default => $token, + }; } return $newString; diff --git a/tests/phpstan/configs/phpstan-bugs.neon b/tests/phpstan/configs/phpstan-bugs.neon index a4bff81f0..efc2e88e4 100644 --- a/tests/phpstan/configs/phpstan-bugs.neon +++ b/tests/phpstan/configs/phpstan-bugs.neon @@ -40,6 +40,71 @@ parameters: count: 1 path: ../../../src/utils/Promise.php + - + message: "#^Match arm comparison between string and '§3' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§4' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§5' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§6' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§7' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§8' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§9' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§a' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§b' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§c' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§d' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§e' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + + - + message: "#^Match arm comparison between string and '§f' is always false\\.$#" + count: 1 + path: ../../../src/utils/Terminal.php + - message: "#^Parameter \\#1 \\$ of closure expects TMemberType, TMemberType given\\.$#" count: 1