Emacs向けのLanguage Server Protocolクライアント。IDEのような補完、診断、コードナビゲーション、リファクタリング機能を追加します。
joaotavora/eglot
EglotはEmacsに組み込まれたLSPクライアントで、最小限の設定で編集バッファを言語サーバーに接続します。
- スター
- 2,570
- フォーク
- 210
- 未解決の Issue
- 55
- 最終コミット
- 7 日前
これは何?
Eglot(Emacs Polyglot)はEmacs向けのLanguage Server Protocolクライアントです。ソースファイルでM-x eglotを実行すると、そのファイルのメジャーモードに適した言語サーバーを起動します。可能な場合はプログラムを自動判別し、判別できない場合は入力を求めます。その後、プロジェクト内で開いているファイルを同期し、サーバーの機能をEmacsの標準ツールに連携します。
Eglotは別のフレームワークではなく、Emacs組み込みの機能を利用します。Flymakeで診断を表示し、ElDocでホバー情報やシグネチャを表示、Xrefで定義ジャンプや参照検索を行います。補完はcompletion-at-point経由で利用でき、接続前に有効化すればyasnippetベースのスニペット補完にも対応します。コードアクション、リネーム、サーバー起点の編集(デフォルトではユーザーに確認)も利用できます。
EglotはEmacs 29以降、Emacs本体に含まれています。このリポジトリは、GNU ELPAを通じて古いEmacsでも使えるよう、上流のコードをミラーしています。開発はEmacsプロジェクト内で行われ、パッチはメールで提出します。
主な機能
- 01M-x eglotで言語サーバーを起動し、可能な場合はサーバープログラムを自動判別します。
- 02Flymakeで診断を、ElDocでホバー情報を表示します。
- 03completion-at-point経由の補完を提供し、オプションでyasnippetのスニペットにも対応します。
- 04リネーム、コードアクション、Xrefによる定義・参照の検索に対応します。
- 05clangd、gopls、rust-analyzer、pyrightなど、多数のサーバーがあらかじめ設定されています。
ユースケース
- EmacsでC、C++、Go、Rustのコードを書き、言語サーバーの機能を活用する。
- Emacs内で診断や補完を利用しながら、PythonやTypeScriptのプロジェクトに取り組む。
- より大規模なフレームワークをインストールせずに、EmacsのLSPサポートを試す。
クイックスタート
- 1
Emacs 内で GNU ELPA から安定版をインストールします
M-x package-install RET eglot RET - 2
任意のソースファイルを開き、Eglot を起動します
M-x eglot
使う前に知っておきたいこと
- Emacs 内でのみ動作するため、他のエディターでは使用できません。
- このリポジトリは現在、開発元ではないため、プルリクエストはマージされません。
- コピーレフトライセンスである GPL-3.0 の下でライセンスされています。
トピック
よくある質問
- eglot とは?
- EglotはEmacsに組み込まれたLSPクライアントで、最小限の設定で編集バッファを言語サーバーに接続します。 Eglot(Emacs Polyglot)はEmacs向けのLanguage Server Protocolクライアントです。ソースファイルでM-x eglotを実行すると、そのファイルのメジャーモードに適した言語サーバーを起動します。可能な場合はプログラムを自動判別し、判別できない場合は入力を求めます。その後、プロジェクト内で開いているファイルを同期し、サーバーの機能をEmacsの標準ツールに連携します。
- eglot は無料で使えますか?ライセンスは?
- eglot は GPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- eglot は今もメンテナンスされていますか?
- 活発にメンテナンス中。eglot の最終コミットは 2026年10月30日 です。
- eglot は何に使えますか?
- EmacsでC、C++、Go、Rustのコードを書き、言語サーバーの機能を活用する。 Emacs内で診断や補完を利用しながら、PythonやTypeScriptのプロジェクトに取り組む。 より大規模なフレームワークをインストールせずに、EmacsのLSPサポートを試す。
- eglot のインストール方法は?
- Emacs 内で GNU ELPA から安定版をインストールします: M-x package-install RET eglot RET 任意のソースファイルを開き、Eglot を起動します: M-x eglot
- eglot はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/joaotavora/eglot
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
GNU Emacs向けのモジュール式バッファ内補完フレームワーク。入力中にコードやテキストの候補を表示します。
Neovimをさまざまな言語サーバーに接続するための、すぐに使えるLanguage Server Protocol設定集。
copilot.vimに代わる、GitHub Copilotのインライン候補や候補パネル、連携用APIを提供する純粋なLua製Neovimプラグイン。
Copilot LSPのNext Edit Suggestionsと、AI CLIツール実行用の組み込みターミナルを備えたNeovimプラグイン。
Language Serverに定義、参照、ホバー情報、補完を問い合わせるアプリケーションを構築するためのPython LSPクライアントライブラリ。