eglot VS doom-emacs

Compare eglot vs doom-emacs and see what are their differences.

eglot

A client for Language Server Protocol servers (by joaotavora)

doom-emacs

An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs] (by hlissner)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
eglot doom-emacs
66 271
2,172 13,953
- -
3.4 9.9
about 1 month ago almost 2 years ago
Emacs Lisp Emacs Lisp
GNU General Public License v3.0 only MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

eglot

Posts with mentions or reviews of eglot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-11.
  • LSP could have been better
    12 projects | news.ycombinator.com | 11 Oct 2023
    Recently I stumbled upon this issue:

    https://github.com/joaotavora/eglot/discussions/1127

    I don't know enough about emacs and LSP to see the full picture, but it seems that both eglot's and corfu's maintainers, assumably very competent programmers, can't find a solution for this.

    I only skimmed the thread. My understanding is that LSP dumps a long list of completion candidates at once and they can't decide a cache strategy that works well with existing code...?

  • Spurious errors with Eglot / pylsp
    1 project | /r/emacs | 10 Jul 2023
    It could be. There are unfixed issues with eglot and corfu, and sadly not a lot of willingness to investigate.
  • Using Quarto with Emacs
    2 projects | /r/emacs | 9 Jun 2023
    Eglot errors when I add new Python code blocks. The error disappears when I reconnect the language server, but the same happens again when I add a new code block. My "workaround" now is that before I start working on the .qmd file, I just add a bunch of Python code blocks (for which I also have a function) and then reconnect the language server again. This way I can start working for a while until I need to add more code blocks again.
  • Looking for help in improving Typescript Eglot, Corfu, Orderless performance
    2 projects | /r/emacs | 8 Jun 2023
    This discussion has helped with some performance issues: https://github.com/joaotavora/eglot/discussions/993.
  • Typescript highlighting in emacs incomplete (compared to VSCode) even after using treesitter?
    1 project | /r/emacs | 3 Jun 2023
    I guess eglot doesn't support it yet: https://github.com/joaotavora/eglot/pull/839
  • joaotavora/breadcrumb: Emacs headerline indication of where you are in a large project
    4 projects | /r/emacs | 12 May 2023
    This is not by pure chance, João is the developer of the Eglot LSP client and the breadcrumbs from LSP-mode had been requested as a feature, but as far as I remember João thought rightfully that this could be an independent package, see https://github.com/joaotavora/eglot/discussions/988
  • Returning emacs user - what packages are common now?
    9 projects | /r/emacs | 9 May 2023
    A substantial section of the community is using corfu instead of company, but I wouldn't say company is out of date by any means. In emacs 29 eglot will be a built in, which might act as a replacement for lsp-mode depending on what functionality you need.
  • Eglot upgrade strategy
    1 project | /r/emacs | 6 May 2023
    I am currently running emacs 29 (built from emacs-29 branch) which – according to https://github.com/joaotavora/eglot – should contain the latest eglot.
  • 916 Days of Emacs
    12 projects | news.ycombinator.com | 13 Apr 2023
    Yep. You can use flymake or flycheck for that in combination with eglot or lsp-mode.

    See https://github.com/joaotavora/eglot#diagnostics

  • Eglot, eldoc and golang
    1 project | /r/emacs | 12 Apr 2023
    (I have reported this (that is, ElDoc missing docs for callable things at point, when Eglot is enabled) as an issue recently: First on GitHub-discussions https://github.com/joaotavora/eglot/discussions/1200, then on Debbugs https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62687. But the threads are very long, so I don't recommend reading them.)

doom-emacs

Posts with mentions or reviews of doom-emacs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-23.
  • trouble downloading D.E. on emacs flatpak
    2 projects | /r/DoomEmacs | 23 Oct 2023
    $ rm -rf ~/.config/emacs # Remove the existing directory if necessary git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.config/emacs ~/.config/emacs/bin/doom install
  • Zed – A high-performance, multiplayer code editor written in Rust. Now in public beta
    10 projects | /r/rust | 15 Mar 2023
    Sounds like what you want is emacs, but preconfigured. In that case, have you tried Doom Emacs, Spacemacs or any of the myriad of others like those?
  • user error why does it say no file after i created the directory
    1 project | /r/emacs | 11 Mar 2023
    darren@pop-os:~$ git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d Cloning into '/home/darren/.emacs.d'... remote: Enumerating objects: 1156, done. remote: Counting objects: 100% (1156/1156), done. remote: Compressing objects: 100% (1042/1042), done. remote: Total 1156 (delta 85), reused 650 (delta 71), pack-reused 0 Receiving objects: 100% (1156/1156), 1.13 MiB | 7.29 MiB/s, done. Resolving deltas: 100% (85/85), done.
  • how can i download a tarball as a mutable directory in home-manager?
    1 project | /r/NixOS | 4 Dec 2022
    I used to do something like -{ nixosConfig, config, lib, pkgs, ... }: -let - xdgConfig = config.xdg.configHome; -in { - home.activation = { - foo = lib.hm.dag.entryAfter [ "writeBoundary" ] '' - doomdir="${xdgConfig}/doom"; - # $VERBOSE_ARG - if [ -d "$doomdir" ]; then - $DRY_RUN_CMD git -C "$doomdir" pull http master || true - else - # git clone and change url - http="https://git." - $DRY_RUN_CMD git clone "$http" "$doomdir" - # the new url needs ssh keys setup - git -C "$doomdir" remote add http "$http" - git -C "$doomdir" remote set-url origin "gitea@git." - fi - emacsdir="${xdgConfig}/emacs" - if [ -d "$emacsdir" ]; then - if [ -d "$emacsdir/.local" ]; then - $DRY_RUN_CMD $emacsdir/bin/doom sync - fi - else - $DRY_RUN_CMD git clone --depth 1 https://github.com/hlissner/doom-emacs "$emacsdir" - fi - ''; - }; -}
  • How to specify formatter for LSP mode?
    2 projects | /r/DoomEmacs | 7 Sep 2022
    `;; Needed to add javascript-eslint to the the next-checker after lsp so that it would actually load, as that wasn’t happening by deafult ;; also needed to runit after the lsp-afer-initalize-hook because otherwise ‘lsp wasn’t a valid checker (add-hook ‘lsp-after-initialize-hook (lambda () (flycheck-add-next-checker ‘lsp ‘javascript-eslint))) ;; https://github.com/hlissner/doom-emacs/issues/1530 ;; Potential alternative to the above ;; (after! (:and lsp-mode flycheck) ;; (flycheck-add-next-checker ‘lsp ‘javascript-eslint))
  • Emacs for Professionals
    11 projects | news.ycombinator.com | 3 May 2022
    The performance lag of Spacemacs was addressed by Doom Emacs ( https://github.com/hlissner/doom-emacs ). Have you tried Doom Emacs by any chance. After syncing everything, the performance is stellar in my opinion.
  • Please help me in translating my vimrc to emacs equivalents.
    4 projects | /r/emacs | 27 Apr 2022
    but I just realized, you're probably better off using doom emacs. The defaults are sane, customizations are almost always optional and the community's really active/helpful. (Disclaimer: I'm a doom emacs user with ~2k lines of config)
  • Just discovered emacs as a long term vim user and it's incredible
    13 projects | /r/vim | 26 Apr 2022
    While Doom is more opinionated, it's not too difficult make Emacs your own, most of the choices are optimized anyway. Currently the head of Spacemacs devs is not active on the project anymore. Also I don't think it's hard to upstream code to Doom, as long as the code is thoroughly written, take a similar example on both sides: the introduction of a completion engine as layer/module (same packages are installed): - https://github.com/syl20bnr/spacemacs/pull/14901: 23 comments, 7 participants - https://github.com/hlissner/doom-emacs/pull/4664: 576 comments, 20 participants
  • What would you consider a modern lisp workflow/toolchain?
    10 projects | /r/lisp | 25 Apr 2022
    Also Doom emacs has one. https://github.com/hlissner/doom-emacs https://github.com/hlissner/doom-emacs/tree/master/modules/lang/common-lisp
  • Should I learn vim in 2022?
    1 project | /r/learnprogramming | 24 Apr 2022
    Nowadays, I use https://github.com/hlissner/doom-emacs with WSL2 but only for org-mode. For code, I have either Sublime Text or VS Code.

What are some alternatives?

When comparing eglot and doom-emacs you can also consider the following projects:

lsp-mode - Emacs client/library for the Language Server Protocol

spacemacs - A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs *and* Vim!

dap-mode - Emacs :heart: Debug Adapter Protocol

Visual Studio Code - Visual Studio Code

clangd - clangd language server

neovim - Vim-fork focused on extensibility and usability

rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]

prelude - Prelude is an enhanced Emacs 25.1+ distribution that should make your experience with Emacs both more pleasant and more powerful.

web-mode - web template editing mode for emacs

LunarVim - 🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.

company-mode - Modular in-buffer completion framework for Emacs

helm - Emacs incremental completion and selection narrowing framework