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
« prev ^ index » next coverage.py v7.12.0, created at 2025-11-20 20:52 +0900
1"""Template mapping by language.
3Defines template paths for 20 programming languages.
4"""
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}
30def get_language_template(language: str) -> str:
31 """Return the template path for a language (case-insensitive).
33 Args:
34 language: Language name (case-insensitive).
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"
42 language_lower = language.lower()
43 return LANGUAGE_TEMPLATES.get(language_lower, ".moai/project/tech/default.md.j2")