Cliente Emacs para o Language Server Protocol, que adiciona ao editor recursos de IDE, como conclusão, diagnósticos, navegação e refatoração.
joaotavora/eglot
Eglot é um cliente LSP integrado ao Emacs que conecta buffers de edição a servidores de linguagem com configuração mínima.
- Estrelas
- 2,570
- Forks
- 210
- Issues abertas
- 55
- Último commit
- há 8 dias
O que é?
Eglot (Emacs Polyglot) é um cliente do Language Server Protocol para Emacs. Ao executar M-x eglot em um arquivo de código-fonte, ele inicia um servidor de linguagem adequado ao major mode do arquivo, identificando o programa quando possível e perguntando ao usuário caso contrário. Em seguida, sincroniza os arquivos abertos no projeto e integra os recursos do servidor às ferramentas do próprio Emacs.
Em vez de usar frameworks separados, Eglot aproveita recursos integrados do Emacs: Flymake exibe diagnósticos, ElDoc mostra informações ao passar o cursor e assinaturas, e Xref gerencia ir para a definição e localizar referências. O preenchimento automático funciona via completion-at-point, e há suporte a snippets do yasnippet quando essa opção é ativada antes da conexão. Também estão disponíveis ações de código, renomeação e edições iniciadas pelo servidor (por padrão, confirmadas pelo usuário).
Eglot faz parte do núcleo do Emacs desde a versão 29, e este repositório espelha o código upstream para uso em versões mais antigas do Emacs por meio do GNU ELPA. O desenvolvimento acontece no projeto Emacs, e as alterações são enviadas por e-mail.
Recursos principais
- 01Inicia servidores de linguagem com M-x eglot e identifica o programa do servidor quando possível.
- 02Exibe diagnósticos com Flymake e informações ao passar o cursor com ElDoc.
- 03Oferece preenchimento automático via completion-at-point, com suporte opcional a snippets do yasnippet.
- 04Oferece renomeação, ações de código e busca de definições e referências com base no Xref.
- 05Inclui uma longa lista de servidores pré-configurados, como clangd, gopls, rust-analyzer e pyright.
Casos de uso
- Escrever código C, C++, Go ou Rust no Emacs com todos os recursos de servidores de linguagem.
- Trabalhar em projetos Python ou TypeScript com diagnósticos e preenchimento automático no Emacs.
- Experimentar o suporte a LSP no Emacs sem instalar um framework mais pesado.
Início rápido
- 1
Instale a versão estável pelo GNU ELPA dentro do Emacs
M-x package-install RET eglot RET - 2
Abra qualquer arquivo-fonte e inicie o Eglot
M-x eglot
Antes de usar
- Ele funciona apenas dentro do Emacs, portanto não pode ser usado em outros editores.
- Este repositório não é mais o upstream de desenvolvimento, e pull requests não serão integrados.
- Licenciado sob a GPL-3.0, uma licença copyleft.
Tópicos
Perguntas frequentes
- O que é eglot?
- Eglot é um cliente LSP integrado ao Emacs que conecta buffers de edição a servidores de linguagem com configuração mínima. Eglot (Emacs Polyglot) é um cliente do Language Server Protocol para Emacs. Ao executar M-x eglot em um arquivo de código-fonte, ele inicia um servidor de linguagem adequado ao major mode do arquivo, identificando o programa quando possível e perguntando ao usuário caso contrário. Em seguida, sincroniza os arquivos abertos no projeto e integra os recursos do servidor às ferramentas do próprio Emacs.
- eglot é gratuito? Qual é a licença?
- eglot é open source sob a licença GPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- eglot ainda é mantido?
- Manutenção ativa. O último commit de eglot foi em 30 de out. de 2026.
- Para que posso usar eglot?
- Escrever código C, C++, Go ou Rust no Emacs com todos os recursos de servidores de linguagem. Trabalhar em projetos Python ou TypeScript com diagnósticos e preenchimento automático no Emacs. Experimentar o suporte a LSP no Emacs sem instalar um framework mais pesado.
- Como instalar eglot?
- Instale a versão estável pelo GNU ELPA dentro do Emacs: M-x package-install RET eglot RET Abra qualquer arquivo-fonte e inicie o Eglot: M-x eglot
- Onde consigo eglot?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/joaotavora/eglot
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework modular de conclusão no buffer para GNU Emacs, que exibe sugestões de código e texto enquanto você digita.
Coleção de configurações prontas do Language Server Protocol para conectar o Neovim a diversos servidores de linguagem.
Verificador de tipos e servidor de linguagem para Python, rápido e escrito em Rust, com recursos de IDE como navegação, autocompletar e realce semântico.
Um plugin de Neovim feito inteiramente em Lua que substitui o copilot.vim, oferece sugestões inline do GitHub Copilot, um painel de sugestões e uma API para integrações.
Plugin do Neovim que combina as Next Edit Suggestions do Copilot LSP com um terminal integrado para executar ferramentas de IA via CLI.