Metadata-Version: 2.4
Name: thonny-ligatures
Version: 0.1.1
Summary: Ligaduras tipograficas (Fira Code) para el editor de Thonny, via el mecanismo oficial de plugins thonnycontrib
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: thonny>=4.0.0
Requires-Dist: uharfbuzz>=0.40.0
Requires-Dist: freetype-py>=2.3.0
Requires-Dist: Pillow>=9.0.0

# thonny-ligatures

Ligaduras tipograficas de Fira Code (`->`, `==`, `!=`, `<=`, `>=`, ...) en
el editor de codigo de [Thonny](https://thonny.org), sin parchear ni
recompilar Thonny ni Tcl/Tk.

## Instalacion

```bash
pip install thonny-ligatures
```

Instalalo en el **mismo entorno de Python** desde el que arrancas Thonny
(el mismo `pip`/`python` que usa `python -m thonny`, o el mismo intérprete
que usa el ejecutable de Thonny si lo instalaste con su instalador).

Luego, en Thonny: **Tools > Options > Editor**, pon la fuente en
`Fira Code`, reinicia Thonny, y las ligaduras aparecen automaticamente.

## Como funciona

Ver los comentarios en `src/thonnycontrib/ligatures/_plugin_impl.py` para
el detalle tecnico. En resumen: Fira Code implementa sus ligaduras con la
feature OpenType "calt" como una sustitucion de glifo por glifo (no fusiona
caracteres), asi que la rejilla monoespaciada de Tk no se toca. Para cada
racha de caracteres cuyo glifo contextual difiere del normal, se le aplica
un tag `elide` (ancho cero, pero el caracter sigue en el buffer) y se
inserta ahi una mini-imagen con el glifo ya compuesto con HarfBuzz +
FreeType, coloreada resolviendo las mismas prioridades de tags que usa Tk
internamente (por eso funciona igual con cualquier tema, incluidos los
oscuros).

## Descubrimiento automatico

Este paquete no modifica Thonny: se instala bajo el namespace package
`thonnycontrib`, que es el mecanismo oficial de plugins de terceros de
Thonny. Thonny lo detecta y carga solo con tenerlo instalado en el mismo
entorno.
