Repolode
joaotavora

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

    Instale a versão estável pelo GNU ELPA dentro do Emacs

    M-x package-install RET eglot RET
  2. 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