Compare commits
5 Commits
foreigntho
...
foreigntho
| Author | SHA1 | Date | |
|---|---|---|---|
| 85e3837117 | |||
| 15f367131e | |||
| 83d8552977 | |||
| 606501d654 | |||
| d9c5042ec7 |
@@ -6,10 +6,10 @@ ForeignThon transpiles `.es.py`, `.ta.py` (and more) into standard Python. Keywo
|
|||||||
|
|
||||||
```python
|
```python
|
||||||
# hola.es.py
|
# hola.es.py
|
||||||
definir saludar(nombre):
|
def saludar(nombre):
|
||||||
retornar f"Hola, {nombre}!"
|
retornar f"Hola, {nombre}!"
|
||||||
|
|
||||||
para i en rango(3):
|
para i en dist(3):
|
||||||
imprimir(saludar(f"mundo {i}"))
|
imprimir(saludar(f"mundo {i}"))
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "foreignthon"
|
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."
|
description = "Write Python in any language. Transpiles foreign-language .xx.py files to standard Python."
|
||||||
license = { text = "GPL v3" }
|
license = { text = "GPL v3" }
|
||||||
requires-python = ">=3.9"
|
requires-python = ">=3.9"
|
||||||
|
|||||||
@@ -274,7 +274,25 @@ def check(file: Path):
|
|||||||
click.echo(f"✗ {e}", err=True)
|
click.echo(f"✗ {e}", err=True)
|
||||||
sys.exit(1)
|
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)
|
@main.command("pack", context_settings=CONTEXT_SETTINGS)
|
||||||
@click.argument("json_file", type=click.Path(exists=True, path_type=Path))
|
@click.argument("json_file", type=click.Path(exists=True, path_type=Path))
|
||||||
def validate_pack(json_file: Path):
|
def validate_pack(json_file: Path):
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ authors = [
|
|||||||
]
|
]
|
||||||
keywords = ["foreignthon", "spanish", "español"]
|
keywords = ["foreignthon", "spanish", "español"]
|
||||||
|
|
||||||
dependencies = ["foreignthon>=0.5.0"]
|
dependencies = ["foreignthon>=0.5.1"]
|
||||||
|
|
||||||
[project.entry-points."foreignthon.langs"]
|
[project.entry-points."foreignthon.langs"]
|
||||||
es = "foreignthon_es"
|
es = "foreignthon_es"
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ authors = [
|
|||||||
{ name = "Keshav Anand", email = "keshavanand.dev@gmail.com" }
|
{ name = "Keshav Anand", email = "keshavanand.dev@gmail.com" }
|
||||||
]
|
]
|
||||||
keywords = ["foreignthon", "tamil", "தமிழ்"]
|
keywords = ["foreignthon", "tamil", "தமிழ்"]
|
||||||
dependencies = ["foreignthon>=0.5.0"]
|
dependencies = ["foreignthon>=0.5.1"]
|
||||||
|
|
||||||
[project.entry-points."foreignthon.langs"]
|
[project.entry-points."foreignthon.langs"]
|
||||||
ta = "foreignthon_ta"
|
ta = "foreignthon_ta"
|
||||||
|
|||||||
Reference in New Issue
Block a user