Cliente de Emacs para Language Server Protocol que añade autocompletado, diagnósticos, navegación y refactorización al estilo de un IDE.
joaotavora/eglot
Eglot es un cliente LSP integrado en Emacs que conecta los búferes de edición con servidores de lenguaje y requiere una configuración mínima.
- Estrellas
- 2,570
- Forks
- 210
- Issues abiertos
- 55
- Último commit
- hace 8 días
¿Qué es?
Eglot (Emacs Polyglot) es un cliente de Language Server Protocol para Emacs. Al ejecutar M-x eglot en un archivo de código fuente, inicia un servidor de lenguaje adecuado para el modo principal de ese archivo. Si es posible, deduce qué programa usar; de lo contrario, pregunta. Después, sincroniza los archivos abiertos del proyecto y lleva las funciones del servidor a las herramientas propias de Emacs.
Eglot usa las funciones integradas de Emacs en lugar de frameworks independientes: Flymake muestra diagnósticos, ElDoc muestra información al pasar el cursor y firmas, y Xref se encarga de ir a la definición y buscar referencias. La finalización funciona mediante completion-at-point, y se admite la finalización de fragmentos con yasnippet si se activa antes de conectarse. También están disponibles las acciones de código, el cambio de nombre y las ediciones iniciadas por el servidor (que, de forma predeterminada, requieren la confirmación del usuario).
Eglot forma parte del núcleo de Emacs desde Emacs 29, y este repositorio refleja ese código upstream para usarlo en versiones anteriores de Emacs a través de GNU ELPA. El desarrollo se realiza en el proyecto Emacs y los parches se envían por correo electrónico.
Funciones clave
- 01Inicia servidores de lenguaje con M-x eglot y deduce qué programa usar cuando es posible.
- 02Muestra diagnósticos mediante Flymake e información al pasar el cursor mediante ElDoc.
- 03Ofrece finalización mediante completion-at-point y, de forma opcional, fragmentos de yasnippet.
- 04Admite el cambio de nombre, las acciones de código y la búsqueda de definiciones y referencias mediante xref.
- 05Incluye una larga lista de servidores preconfigurados, como clangd, gopls, rust-analyzer y pyright.
Casos de uso
- Escribir código C, C++, Go o Rust en Emacs con todas las funciones de un servidor de lenguaje.
- Trabajar en proyectos de Python o TypeScript con diagnósticos y finalización dentro de Emacs.
- Probar la compatibilidad con LSP en Emacs sin instalar un framework más pesado.
Inicio rápido
- 1
Instala la versión estable desde GNU ELPA dentro de Emacs
M-x package-install RET eglot RET - 2
Abre cualquier archivo de código fuente e inicia Eglot
M-x eglot
Antes de usarlo
- Solo funciona dentro de Emacs, así que no se puede usar desde otros editores.
- Este repositorio ya no es el upstream de desarrollo y no se fusionarán pull requests.
- Licenciado bajo GPL-3.0, una licencia copyleft.
Temas
Preguntas frecuentes
- ¿Qué es eglot?
- Eglot es un cliente LSP integrado en Emacs que conecta los búferes de edición con servidores de lenguaje y requiere una configuración mínima. Eglot (Emacs Polyglot) es un cliente de Language Server Protocol para Emacs. Al ejecutar M-x eglot en un archivo de código fuente, inicia un servidor de lenguaje adecuado para el modo principal de ese archivo. Si es posible, deduce qué programa usar; de lo contrario, pregunta. Después, sincroniza los archivos abiertos del proyecto y lleva las funciones del servidor a las herramientas propias de Emacs.
- ¿eglot es gratuito? ¿Qué licencia tiene?
- eglot es open source bajo la licencia GPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿eglot sigue mantenido?
- Mantenimiento activo. El último commit de eglot fue el 30 oct 2026.
- ¿Para qué puedo usar eglot?
- Escribir código C, C++, Go o Rust en Emacs con todas las funciones de un servidor de lenguaje. Trabajar en proyectos de Python o TypeScript con diagnósticos y finalización dentro de Emacs. Probar la compatibilidad con LSP en Emacs sin instalar un framework más pesado.
- ¿Cómo se instala eglot?
- Instala la versión estable desde GNU ELPA dentro de Emacs: M-x package-install RET eglot RET Abre cualquier archivo de código fuente e inicia Eglot: M-x eglot
- ¿Dónde consigo eglot?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/joaotavora/eglot
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un framework modular de autocompletado en el búfer para GNU Emacs que muestra sugerencias de código y texto mientras escribes.
Colección de configuraciones listas para usar del Language Server Protocol que conectan Neovim con numerosos servidores de lenguaje.
Un plugin de Neovim escrito íntegramente en Lua que reemplaza copilot.vim y ofrece sugerencias en línea de GitHub Copilot, un panel de sugerencias y una API para integraciones.
Un plugin de Neovim que combina Next Edit Suggestions de Copilot LSP con una terminal integrada para ejecutar herramientas de IA por CLI.
Una biblioteca cliente de LSP para Python con la que crear aplicaciones que consultan servidores de lenguaje para obtener definiciones, referencias, información al pasar el cursor y completados.