Coverage for src / moai_adk / core / template / languages.py: 33.33%

6 statements  

« prev     ^ index     » next       coverage.py v7.12.0, created at 2025-11-20 20:52 +0900

1"""Template mapping by language. 

2 

3Defines template paths for 20 programming languages. 

4""" 

5 

6LANGUAGE_TEMPLATES: dict[str, str] = { 

7 "python": ".moai/project/tech/python.md.j2", 

8 "typescript": ".moai/project/tech/typescript.md.j2", 

9 "javascript": ".moai/project/tech/javascript.md.j2", 

10 "java": ".moai/project/tech/java.md.j2", 

11 "go": ".moai/project/tech/go.md.j2", 

12 "rust": ".moai/project/tech/rust.md.j2", 

13 "dart": ".moai/project/tech/dart.md.j2", 

14 "swift": ".moai/project/tech/swift.md.j2", 

15 "kotlin": ".moai/project/tech/kotlin.md.j2", 

16 "csharp": ".moai/project/tech/csharp.md.j2", 

17 "php": ".moai/project/tech/php.md.j2", 

18 "ruby": ".moai/project/tech/ruby.md.j2", 

19 "elixir": ".moai/project/tech/elixir.md.j2", 

20 "scala": ".moai/project/tech/scala.md.j2", 

21 "clojure": ".moai/project/tech/clojure.md.j2", 

22 "haskell": ".moai/project/tech/haskell.md.j2", 

23 "c": ".moai/project/tech/c.md.j2", 

24 "cpp": ".moai/project/tech/cpp.md.j2", 

25 "lua": ".moai/project/tech/lua.md.j2", 

26 "ocaml": ".moai/project/tech/ocaml.md.j2", 

27} 

28 

29 

30def get_language_template(language: str) -> str: 

31 """Return the template path for a language (case-insensitive). 

32 

33 Args: 

34 language: Language name (case-insensitive). 

35 

36 Returns: 

37 Template path; defaults to default.md.j2 for unknown languages. 

38 """ 

39 if not language: 

40 return ".moai/project/tech/default.md.j2" 

41 

42 language_lower = language.lower() 

43 return LANGUAGE_TEMPLATES.get(language_lower, ".moai/project/tech/default.md.j2")