From 85f44b1412a56058943a1fb28321c3cc368665f1 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Thu, 29 Jan 2026 22:28:05 +0000 Subject: [PATCH] Initial upload: TermDiagram v0.1.0 --- src/termdiagram/parser/language_detector.py | 25 +++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/termdiagram/parser/language_detector.py diff --git a/src/termdiagram/parser/language_detector.py b/src/termdiagram/parser/language_detector.py new file mode 100644 index 0000000..2723315 --- /dev/null +++ b/src/termdiagram/parser/language_detector.py @@ -0,0 +1,25 @@ +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())