[package] name = "llimphi-widget-text-editor-lsp" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true publish.workspace = true description = "llimphi-widget-text-editor-lsp — trait LspClient + NoopLspClient como foundation. El cliente real (rust-analyzer/pylsp con tokio + jsonrpc) queda como TODO para una sesión dedicada." repository.workspace = true [dependencies] # `std` y `vello` explícitos: apagar los defaults para poder apagar # `treesitter` apagaba también esos dos, y sin ellos este crate **no # compila solo** — le falta `std` y le falta el backend de render # (`llimphi_text::Lienzo`). Con `--workspace` no se veía: otro crate los # encendía y la unificación de features de cargo los regalaba. Con # `cargo check -p`, que es la vista de quien lo instala suelto, fallaba. # Sin fijar backend: lo reenvían las features de abajo. Fijar `vello` acá era lo # que hacía que pedir `wire` encendiera los DOS y disparara el `compile_error!` # de excluyentes — un crate que no dibuja decidiendo el rasterizador de todos. llimphi-widget-text-editor = { path = "../text-editor", version = "0.1.0", default-features = false, features = ["std"] } serde_json = { workspace = true } tokio = { workspace = true } [dev-dependencies] [features] # `treesitter` (default-on) reenvía la del editor: con ella, resaltado de # Rust/Python; sin ella (`--no-default-features`) degrada a texto plano y **no** # se arrastra ningún C, que es lo que permite cross-compilar desde Linux. # La dependencia va por `path` y no por `workspace = true` a propósito: heredar # del workspace sólo deja AÑADIR features, nunca apagar `default-features`. default = ["treesitter"] treesitter = ["llimphi-widget-text-editor/treesitter"] # Los backends, reenviados al editor. Faltaban los tres: este crate no pinta —es # el cliente LSP— pero su tipo `Diagnostic` viaja con el editor, así que hereda su # elección. Sin ellos, el editor no podía cruzar a una jaula por culpa de un crate # que no dibuja nada. # El perfil de math/stdlib, reenviado al editor igual que el backend. std = ["llimphi-widget-text-editor/std"] vello = ["llimphi-widget-text-editor/vello"] cpu = ["llimphi-widget-text-editor/cpu"] wire = ["llimphi-widget-text-editor/wire"]