1# llimphi-widget-text-editor-core23*Read this in English: [README.md](README.md).*
45Núcleo agnóstico del editor de código.
67Capas finas y **puras** (sin IO, sin Llimphi, sin GPU) sobre `ropey`:
89- `buffer` — wrapper de `Rope` con conversiones (línea, col) ↔ char_offset.
10- `cursor` — `Cursor` + `Selection`; movimiento por char/word/line/page.
11- `ops` — operaciones puras de edición sobre `(Buffer, Cursor) → (Buffer, Cursor)`.
12- `undo` — pila reversible: cada operación se registra como `EditDelta`.
13- `bracket` — matching de paréntesis/llaves/corchetes.
14- `find` — búsqueda incremental sobre el buffer.
15- `diagnostics` — modelo de diagnósticos (errores/warnings) por rango.
16- `clipboard` — abstracción de portapapeles (mem/null) sin tocar el SO.
17- `highlight` — syntax highlighting con tree-sitter (Rust/Python/WAT/Plain).
1819Único acoplamiento externo: `peniko::Color` en `highlight::SyntaxPalette`
20— un tipo de color, no el stack de render. Eso deja el núcleo reutilizable
21desde un TUI, una mini-REPL, un text-input single-line, un backend web, etc.
22La capa visual (state + view sobre Llimphi) vive en
23`llimphi-widget-text-editor`, que re-exporta todo este núcleo.
2425---
2627Parte de **llimphi** — ver [llimphi](../../LEEME.md).
Capas finas y puras (sin IO, sin Llimphi, sin GPU) sobre ropey:
buffer — wrapper de Rope con conversiones (línea, col) ↔ char_offset.
cursor — Cursor + Selection; movimiento por char/word/line/page.
ops — operaciones puras de edición sobre (Buffer, Cursor) → (Buffer, Cursor).
undo — pila reversible: cada operación se registra como EditDelta.
bracket — matching de paréntesis/llaves/corchetes.
find — búsqueda incremental sobre el buffer.
diagnostics — modelo de diagnósticos (errores/warnings) por rango.
clipboard — abstracción de portapapeles (mem/null) sin tocar el SO.
highlight — syntax highlighting con tree-sitter (Rust/Python/WAT/Plain).
Único acoplamiento externo: peniko::Color en highlight::SyntaxPalette
— un tipo de color, no el stack de render. Eso deja el núcleo reutilizable
desde un TUI, una mini-REPL, un text-input single-line, un backend web, etc.
La capa visual (state + view sobre Llimphi) vive en
llimphi-widget-text-editor, que re-exporta todo este núcleo.