Repolode
joaotavora

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. 1

    Установите стабильную версию из GNU ELPA в Emacs

    M-x package-install RET eglot RET
  2. 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 обновляется ежедневно.

Похожие проекты