Buf ha presentado el primer servidor LSP (Language Server Protocol) con soporte completo y listo para producción para Protobuf, un hito largamente esperado en el ecosistema del lenguaje de definición de interfaces. Hasta ahora, Protobuf carecía de la integración moderna con editores que sí tienen lenguajes como Go, Python o Rust. El nuevo Buf LSP, integrado en la Buf CLI, ofrece funcionalidades como navegación a definiciones, autocompletado, búsqueda de referencias y resaltado de sintaxis sensible a la semántica, y funciona de forma nativa con VSCode (a través de la extensión oficial de Buf) y Neovim (mediante nvim-lspconfig).
El servidor se apoya en protocompile, el compilador de Protobuf que Buf ya mantiene como frontend alternativo a protoc. Para esta versión, la compañía ha desarrollado un nuevo frontend basado en un modelo de consultas (query-driven) que permite compilación incremental y diagnósticos más precisos, por ejemplo detectando modificadores duplicados en campos repeated. También incorpora un AST y una representación intermedia propios, optimizados en memoria y capaces de adaptarse a próximas novedades del lenguaje, como las previstas en Editions 2024. Google ya utiliza protocompile en parte de su propio código.
Buf ha adelantado futuras mejoras, entre ellas la importación automática de módulos, autocompletado para opciones personalizadas, sugerencias de números de campo y enum, e integración específica con Protovalidate, incluyendo resaltado de sintaxis para fragmentos CEL.
