self::c, 'cc', 'hpp' => self::cpp, 'cs' => self::csharp, 'class' => self::java, 'htm' => self::html, 'js', 'mjs', 'cjs' => self::javascript, 'kt', 'kts' => self::kotlin, 'md' => self::markdown, 'm' => self::objectivec, 'pl', 'pm' => self::perl, 'php3', 'php4', 'php5', 'phtml' => self::php, 'py', 'pyc', 'pyo', 'pyi' => self::python, 'rdata', 'rds' => self::r, 'rb', 'erb' => self::ruby, 'sc' => self::scala, 'sh', 'zsh' => self::shell, 'ts', 'tsx' => self::typescript, 'yml' => self::yaml, default => self::tryFrom($match) ?? self::plaintext, }; } public function getLabel(): string { return $this->name; } }