Клиент Emacs для Language Server Protocol: добавляет автодополнение, диагностику, навигацию и рефакторинг в стиле IDE.
joaotavora/eglot
Eglot — встроенный в Emacs LSP-клиент, который подключает буферы с кодом к языковым серверам и требует минимум настроек.
- Звёзды
- 2,570
- Форки
- 210
- Открытые issues
- 55
- Последний коммит
- 12 часов назад
Что это?
Eglot (Emacs Polyglot) — клиент Language Server Protocol для Emacs. Запустите M-x eglot в файле с исходным кодом, чтобы запустить подходящий языковой сервер для его major mode. Если возможно, Eglot сам определит нужную программу, а иначе предложит выбрать её. Затем он синхронизирует открытые файлы в проекте и передаёт функции сервера инструментам Emacs.
Вместо отдельных фреймворков Eglot использует встроенные средства Emacs: Flymake показывает диагностику, ElDoc — информацию при наведении и сигнатуры, а Xref отвечает за переход к определению и поиск ссылок. Автодополнение работает через completion-at-point; также поддерживается дополнение сниппетами на основе yasnippet, если включить его до подключения. Доступны и code actions, переименование и изменения, инициированные сервером (по умолчанию пользователь должен их подтвердить).
Начиная с Emacs 29, Eglot входит в состав Emacs. Этот репозиторий содержит копию исходного кода из основного проекта, чтобы Eglot можно было использовать в более старых версиях Emacs через GNU ELPA. Разработка ведётся в проекте Emacs, а патчи отправляются по электронной почте.
Ключевые возможности
- 01Запускает языковые серверы командой M-x eglot и, когда возможно, сам определяет нужную программу.
- 02Показывает диагностику через Flymake, а документацию при наведении — через ElDoc.
- 03Предоставляет автодополнение через completion-at-point и, при желании, сниппеты yasnippet.
- 04Поддерживает переименование, code actions, а также поиск определений и ссылок через Xref.
- 05Поставляется с большим списком предварительно настроенных серверов, например clangd, gopls, rust-analyzer и pyright.
Сценарии использования
- Написание кода на C, C++, Go или Rust в Emacs с полным набором возможностей языковых серверов.
- Работа над проектами на Python или TypeScript с диагностикой и автодополнением в Emacs.
- Подключение поддержки LSP в Emacs без установки более тяжёлого фреймворка.
Быстрый старт
- 1
Установите стабильную версию из GNU ELPA в Emacs
M-x package-install RET eglot RET - 2
Откройте любой файл с исходным кодом и запустите Eglot
M-x eglot
Что важно знать
- Программа работает только в Emacs, поэтому её нельзя использовать в других редакторах.
- Этот репозиторий больше не является основным upstream-репозиторием разработки, и pull request не будут приниматься.
- Распространяется по лицензии GPL-3.0 — лицензии с авторским левом.
Темы
Частые вопросы
- Что такое eglot?
- Eglot — встроенный в Emacs LSP-клиент, который подключает буферы с кодом к языковым серверам и требует минимум настроек. Eglot (Emacs Polyglot) — клиент Language Server Protocol для Emacs. Запустите M-x eglot в файле с исходным кодом, чтобы запустить подходящий языковой сервер для его major mode. Если возможно, Eglot сам определит нужную программу, а иначе предложит выбрать её. Затем он синхронизирует открытые файлы в проекте и передаёт функции сервера инструментам Emacs.
- eglot можно использовать бесплатно? Какая у него лицензия?
- eglot распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- eglot всё ещё поддерживается?
- Активно поддерживается. Последний коммит в eglot — 7 нояб. 2026 г..
- Для чего можно использовать eglot?
- Написание кода на C, C++, Go или Rust в Emacs с полным набором возможностей языковых серверов. Работа над проектами на Python или TypeScript с диагностикой и автодополнением в Emacs. Подключение поддержки LSP в Emacs без установки более тяжёлого фреймворка.
- Как установить eglot?
- Установите стабильную версию из GNU ELPA в Emacs: M-x package-install RET eglot RET Откройте любой файл с исходным кодом и запустите Eglot: M-x eglot
- Где скачать eglot?
- Исходный код и инструкции по установке — на GitHub: https://github.com/joaotavora/eglot
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Модульная система автодополнения в буферах GNU Emacs, которая показывает варианты для кода и текста по мере ввода.
Готовые конфигурации Language Server Protocol для подключения Neovim к множеству серверов языков программирования.
Быстрый чекер типов и language server для Python на Rust с функциями IDE: переходом по коду, автодополнением и семантической подсветкой.
Плагин для Neovim на чистом Lua, заменяющий copilot.vim: показывает подсказки GitHub Copilot, панель вариантов и предоставляет API для интеграций.
Плагин для Neovim, который объединяет Next Edit Suggestions от Copilot LSP и встроенный терминал для запуска AI CLI-инструментов.