From b06bfe7727ba43a951bb5f1128dce51bafbe1307 Mon Sep 17 00:00:00 2001 From: KeshavAnandCode Date: Sun, 3 May 2026 12:55:17 -0500 Subject: [PATCH] feat: add config loader for keywords --- src/tampy/keywords.json | 1 + src/tampy/keywords.py | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/src/tampy/keywords.json b/src/tampy/keywords.json index e69de29..9e26dfe 100644 --- a/src/tampy/keywords.json +++ b/src/tampy/keywords.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/tampy/keywords.py b/src/tampy/keywords.py index e69de29..d4cf3b5 100644 --- a/src/tampy/keywords.py +++ b/src/tampy/keywords.py @@ -0,0 +1,38 @@ +"""Load keyword mappings from JSON config.""" + +import json +from pathlib import Path + + +DEFAULT_KEYWORDS = { + "print": "இருப்பு", + "if": "இணை", + "else": "இல்லை", + "for": "ஒவ்வொரு", + "while": "வரை", + "def": "வரையறை", + "return": "திரும்ப", + "import": "மேற்கோள்கள்", + "from": "இருந்து", + "as": "இவ்வாறு", + "class": "சாம்பியன்", + "try": "கோட்பாடு", + "except": "வெளியே", + "with": "உடன்", + "True": "சரி", + "False": "தவறு", + "None": "ஒன்றுமில்லை", +} + + +def load_keywords(config_path: Path | str) -> dict[str, str]: + """Load keywords from JSON file, merge with defaults.""" + defaults = DEFAULT_KEYWORDS.copy() + + path = Path(config_path) if isinstance(config_path, str) else config_path + if path.exists(): + with open(path, "r", encoding="utf-8") as f: + user_keywords = json.load(f) + defaults.update(user_keywords) + + return defaults