5 Commits

5 changed files with 23 additions and 5 deletions

View File

@@ -6,10 +6,10 @@ ForeignThon transpiles `.es.py`, `.ta.py` (and more) into standard Python. Keywo
```python
# hola.es.py
definir saludar(nombre):
def saludar(nombre):
retornar f"Hola, {nombre}!"
para i en rango(3):
para i en dist(3):
imprimir(saludar(f"mundo {i}"))
```

View File

@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
[project]
name = "foreignthon"
version = "0.5.0"
version = "0.5.1"
description = "Write Python in any language. Transpiles foreign-language .xx.py files to standard Python."
license = { text = "GPL v3" }
requires-python = ">=3.9"

View File

@@ -274,7 +274,25 @@ def check(file: Path):
click.echo(f"{e}", err=True)
sys.exit(1)
@main.command(context_settings=CONTEXT_SETTINGS)
def langs():
"""List all installed language packs."""
from .pack import _discover_packs
packs = _discover_packs()
if not packs:
click.echo("No language packs installed.")
click.echo("Try: pip install foreignthon-es")
return
click.echo("Installed language packs:")
for code, module in sorted(packs.items()):
import json
data = json.loads(module.get_pack_path().read_text(encoding="utf-8"))
name = data["meta"].get("name", code)
native = data["meta"].get("native_name", "")
click.echo(f" {code:<6} {name} ({native})")
@main.command("pack", context_settings=CONTEXT_SETTINGS)
@click.argument("json_file", type=click.Path(exists=True, path_type=Path))
def validate_pack(json_file: Path):

View File

@@ -14,7 +14,7 @@ authors = [
]
keywords = ["foreignthon", "spanish", "español"]
dependencies = ["foreignthon>=0.5.0"]
dependencies = ["foreignthon>=0.5.1"]
[project.entry-points."foreignthon.langs"]
es = "foreignthon_es"

View File

@@ -12,7 +12,7 @@ authors = [
{ name = "Keshav Anand", email = "keshavanand.dev@gmail.com" }
]
keywords = ["foreignthon", "tamil", "தமிழ்"]
dependencies = ["foreignthon>=0.5.0"]
dependencies = ["foreignthon>=0.5.1"]
[project.entry-points."foreignthon.langs"]
ta = "foreignthon_ta"