lsp-mode VS doom-emacs

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

doom-emacs

An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs] (by hlissner)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
lsp-mode doom-emacs
118 271
4,669 13,953
0.6% -
9.3 9.9
5 days ago about 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.

lsp-mode

Posts with mentions or reviews of lsp-mode. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-21.
  • lsp-mode: Emacs client/library for the Language Server Protocol
    1 project | /r/planetemacs | 15 Oct 2023
  • lsp-keymap-prefix not working
    1 project | /r/emacs | 22 Mar 2023
    I also tried to the solutions suggested ![here](https://github.com/emacs-lsp/lsp-mode/issues/1532) and ![here](https://github.com/emacs-lsp/lsp-mode/issues/1672), but nothing worked. I moved the (setq lsp-keymap-...) line outside (and before) use-package. I also used :config (define-key lsp-load-map...) in my use-package block. But none of them worked.
  • Help getting the yaml language server working with eglot
    3 projects | /r/emacs | 21 Mar 2023
    Not sure how much this might help, but lsp-mode has lsp-yaml-select-buffer-schema and lsp-yaml-set-buffer-schema commands to pick schema from a list or set from a URI. Checking the source of them might give some hints about how the same could be implemented in eglot?
  • What LaTeX setup do you use?
    7 projects | /r/emacs | 8 Mar 2023
    Beyond that you might as well embrace the suck and install autex with a language server: https://emacs-lsp.github.io/lsp-mode/
  • Emacs bankruptcy
    17 projects | /r/emacs | 3 Mar 2023
    Smart completion these days is done primarily through LSP. eglot is fairly minimal but built-in as of 29, also available via GNU Elpa. lsp-mode is another option with more integrations and a bit more fleshed out.
  • The bottom emoji breaks rust-analyzer
    7 projects | /r/rust | 13 Feb 2023
    2 projects | news.ycombinator.com | 13 Feb 2023
    lsp-mode: https://github.com/emacs-lsp/lsp-mode/issues/2080
  • Setting up a fundraiser for multi-threaded Emacs, any thoughts on this?
    7 projects | /r/emacs | 4 Feb 2023
    Are you running emacs-29? It has numerous speed-ups compared to emacs-28 and older versions, many of them coded by Mattias Engdegård, e.g. commit def6fa4246. I have a fresh build of emacs-29 running on Linux and a new mac with an M1 CPU, and it's stupid fast. I don't use the native-comp feature. I rarely notice any hesitation or slowness. I don't use Elpy. I do use lsp mode.
  • Newbie here! Need Help!
    6 projects | /r/emacs | 29 Jan 2023
    Since you are doing code development, the first things to go for would be setting up your emacs packaging (installing use-package and melpa (use-package's documentation covers this) so you have more packages to choose from (do be careful to not just pick things willy nilly but research them a bit first)) and then setting up lsp-mode. lsp-mode lets you use LSP servers for the specific programming languages you work with in a somewhat unified fashion. You then need to install and setup the LSP servers for the languages you use, and possibly install language specific Emacs packages as support (note, Emacs has builtin functionality for many).
  • Emacs 29: Install Tree-Sitter parser modules with a minor mode
    3 projects | /r/emacs | 26 Dec 2022
    And first of all, I'm trying to understand, how is it connected to https://github.com/emacs-lsp/lsp-mode? I'm sure, that existed lsp implementations already parse source code. Why TreeSitter?

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 lsp-mode and doom-emacs you can also consider the following projects:

eglot - A client for Language Server Protocol servers

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

tide - Tide - TypeScript Interactive Development Environment for Emacs

Visual Studio Code - Visual Studio Code

ctags - A maintained ctags implementation

neovim - Vim-fork focused on extensibility and usability

ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.

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

dap-mode - Emacs :heart: Debug Adapter Protocol

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

company-lsp - Company completion backend for lsp-mode

helm - Emacs incremental completion and selection narrowing framework