from typing import List class LanguageDetector: SUPPORTED_EXTENSIONS = { "py": "python", "js": "javascript", "ts": "typescript", "rs": "rust", "go": "go", "java": "java", "cpp": "cpp", "c": "c", "rb": "ruby", "php": "php", } def is_supported(self, extension: str) -> bool: return extension in self.SUPPORTED_EXTENSIONS def get_language(self, extension: str) -> Optional[str]: return self.SUPPORTED_EXTENSIONS.get(extension) def get_supported_extensions(self) -> List[str]: return list(self.SUPPORTED_EXTENSIONS.keys())