Vista de diferencias
ui.diff_view(diff) muestra un cambio: el nombre del archivo y luego las líneas que cambiaron (las añadidas en verde, las quitadas en rojo) con dos líneas de contexto alrededor de cada cambio; los cambios alejados se separan con ⋯. diff es un diccionario con path, old y new, los textos completos de antes y de después, y max_lines limita cuántas líneas se ven antes de … N líneas más. Es lo que muestra una Llamada a herramienta para los cambios que hizo.
ui.diff_view · Categoría: Agentes de IA · Referencia completa →


old = "def save(path):\n data = load()\n write(path, data)\n return True\n"new = "def save(path, data):\n write(path, data)\n log(path)\n return True\n"pz.container(ui.diff_view({"path": "app/storage.py", "old": old, "new": new}), width=420)Cuándo usarlo
Sección titulada «Cuándo usarlo»- Para mostrar lo que un agente o una herramienta cambió en un archivo.
- Para revisar un cambio antes de guardarlo, junto a botones de Conservar y Rechazar.
- Para las cifras solas (
+12 −3), usa el Resumen de cambios.
import pyzed as pzfrom pyzed import ui
old = "def save(path):\n data = load()\n write(path, data)\n return True\n"new = "def save(path, data):\n write(path, data)\n log(path)\n return True\n"pz.container(ui.diff_view({"path": "app/storage.py", "old": old, "new": new}), width=420)Variantes
Sección titulada «Variantes»Contenido
Sección titulada «Contenido»Dos líneas de contexto rodean cada cambio; los cambios más alejados se separan con ⋯.


Código
pz.container(ui.diff_view({"path": "app.py", "old": "x = 1\ny = 2\n", "new": "x = 10\ny = 2\n"}), width=300)

Código
pz.container(ui.diff_view({"path": "main.py", "old": "", "new": "import pyzed as pz\n\npz.run(App)\n"}), width=300)

Código
pz.container(ui.diff_view({"path": "todo.txt", "old": "milk\neggs\nbread\n", "new": "milk\n"}), width=300)

Código
old = "".join(f"line {i}\n" for i in range(1, 13))new = old.replace("line 2\n", "line two\n").replace("line 11\n", "")pz.container(ui.diff_view({"path": "notes.txt", "old": old, "new": new}), width=300)

max_lines=4Código
new = "".join(f"item {i}\n" for i in range(1, 11))pz.container(ui.diff_view({"path": "list.txt", "old": "", "new": new}, max_lines=4), width=300)Eventos
Sección titulada «Eventos»Vista de diferencias no tiene eventos propios: muestra lo que le das. Como todo widget, también tiene los 18 eventos comunes (click, double_click, right_click, mouse_enter, drag, key_down, resize…), que se conectan con .on(...): mira Eventos y Eventos de cada componente.
Propiedades y API
Sección titulada «Propiedades y API»ui.diff_view
Sección titulada «ui.diff_view»diff_view(diff, *, theme=None, max_lines=120)Un cambio tal como lo muestra Zed en un hilo: el nombre del archivo y las líneas cambiadas (en verde las añadidas, en rojo las quitadas) con unas pocas líneas alrededor.
| Propiedad | Por defecto | Descripción |
|---|---|---|
diff |
obligatorio | Un dict con path, old y new (los textos antes y después). |
theme |
None |
Tema. |
max_lines |
120 |
Líneas que se muestran antes de … N líneas más. |