From 94c8ce117d6e4c36a2f6357c341e0af71ebf2be5 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 26 Aug 2023 17:20:12 -0700 Subject: [PATCH] initial --- aider/parsers.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 aider/parsers.py diff --git a/aider/parsers.py b/aider/parsers.py new file mode 100644 index 000000000..9353a3493 --- /dev/null +++ b/aider/parsers.py @@ -0,0 +1,58 @@ +import os + +# Updated mapping of file extensions to parsers +PARSERS = { + ".py": "python", + ".js": "javascript", + ".go": "go", + ".bash": "bash", + ".c": "c", + ".cs": "c-sharp", + ".cl": "commonlisp", + ".cpp": "cpp", + ".css": "css", + ".dockerfile": "dockerfile", + ".dot": "dot", + ".el": "elisp", + ".ex": "elixir", + ".elm": "elm", + ".et": "embedded-template", + ".erl": "erlang", + ".gomod": "go-mod", + ".hack": "hack", + ".hs": "haskell", + ".hcl": "hcl", + ".html": "html", + ".java": "java", + ".jsdoc": "jsdoc", + ".json": "json", + ".jl": "julia", + ".kt": "kotlin", + ".lua": "lua", + ".mk": "make", + # ".md": "markdown", + ".m": "objc", + ".ml": "ocaml", + ".pl": "perl", + ".php": "php", + ".ql": "ql", + ".r": "r", + ".regex": "regex", + ".rst": "rst", + ".rb": "ruby", + ".rs": "rust", + ".scala": "scala", + ".sql": "sql", + ".sqlite": "sqlite", + ".toml": "toml", + ".tsq": "tsq", + ".tsx": "typescript", + ".ts": "typescript", + ".yaml": "yaml", +} + + +def filename_to_lang(filename): + file_extension = os.path.splitext(filename)[1] + lang = PARSERS.get(file_extension) + return lang