HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
emacs-lsp
lsp-mode
Emacs Lisp2018–2026
emacs-lsp / lsp-mode

lsp-mode

Emacs client/library for the Language Server Protocol

18Distinct people
19Mentions
0Explicit recommenders
5.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Emacs client/library for the Language Server Protocol

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year19 dated mentions

Observed mentions: 2018-12-06 19:20:33 UTC to 2026-10-28 15:59:17 UTC.

012342018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC303
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC404
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC303
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

19 sources
This is a good point, but I do want to mention that I feel like in the past 5 years we've had lots of extremely popular packages that hook into Emacs internals instead of rolling out their own architecture. For example, corfu [0] versus company [1]. Company works with capf, but you can also write your own backends for it (specific to company). Corfu also works with capf, but all backends are capf functions instead of a corfu specific backend. Another good example is eglot [2] versus lsp-mode [3]. Eglot is actually packaged with Emacs now. There's also other stuff, like vertico [4] (and others that are recommended to download) versus helm/ivy. I also want to mention that packages that hook into Emacs more don't necessarily mean that they're better. From my POV it's more like you get a lot more things for free and the documentation you dive
Read the rest
into will be Emacs specific instead of package specific. It all comes down to preference. Vertico/Counsel/Orderless is very nice, but Helm and Ivy are fully featured (I always forget how much Helm has for you). I use corfu, eglot, and vertico now. I have thought about going back to helm and company, especially since I was very familiar with company's backends for a long time. [0]: https://github.com/minad/corfu [1]: https://github.com/company-mode/company-mode [2]: https://github.com/joaotavora/eglot [3]: https://github.com/emacs-lsp/lsp-mode [4]: https://github.com/minad/vertico
In Emacs Turns 50
>Finally for LSP, I always recommend Eglot over LSP Mode, as Eglot is written by an Emacs contributor that has deep knowledge of Emacs and Emacs Lisp. LSP Mode is written by volunteers on Github, and the code is nowhere near as good. This isn't really true at all, but even if it was, lsp-mode has a larger scope and has many more features than eglot. It's also much more actively maintained/developed than eglot is. Anyways, most FOSS code is written by volunteers. I really don't think that's a great argument against a FOSS project. Also see: https://github.com/emacs-lsp/lsp-mode/graphs/contributors https://github.com/emacs-lsp/lsp-mode/pulse/monthly https://github.com/joaotavora/eglot/pulse/monthly
In A vision of a multi-threaded Emacs
I've had a terrible experience with lsp-mode, gopls and Emacs 27. Minor issues like inconsistencies and CPU/RAM hogging that requires manual restarts, and the major one that made me stop using it is that Emacs would frequently crash when editing Go files. I reported this to lsp-mode, but they kicked the can over to Emacs[1], which I never bothered reporting. The fact this is now a combination of tools with no clear reporting path when something goes wrong is awful UX. Every few months I update the entire setup with hopes things improve, but eventually I always get the crashes. I would really like for this to work, as the DX when it does is great, but for me it's just not there yet. [1]: https://github.com/emacs-lsp/lsp-mode/issues/3242
In Why LSP?
Sure, here are some samples from the source. This is Eglot's code. Try and figure out what's happening in each of these passages: https://github.com/joaotavora/eglot/blob/master/eglot.el#L41... https://github.com/joaotavora/eglot/blob/master/eglot.el#L41... https://github.com/joaotavora/eglot/blob/master/eglot.el#L17... Contrast with lsp-mode: https://github.com/emacs-lsp/lsp-mode/blob/master/lsp-mode.e... https://github.com/emacs-lsp/lsp-mode/blob/master/lsp-mode.e... https://github.com/emacs-lsp/lsp-mode/blob/master/lsp-modeli... The lsp-mode code is a lot easier to follow, in my opinion. It's a lot clearer what's happening (although I can't say much about whether either are overabstracted which is admittedly a big concern. I haven't looked into that). I remember watching an argument between the original authors on Reddit a while back.
Read the rest
The lsp-mode author came across as... let's just say more professional. lsp-mode seems much closer to a professional product to me in general.
In Toward a “modern” Emacs
"The Emacs and Vim ... are outclassed by modern IDE" Outclassed in what way? Have you looked at LSP[1] and its support in Emacs[2], for instance? That's not to mention things like SLIME and paredit for Lispy languages, or the integration of the rest of the Emacs ecosystem in to your development environment, the ability to develop and configure all these development tools in Lisp instead of being forced to switch to some other language, etc. [1] - https://github.com/Microsoft/language-server-protocol/ [2] - https://github.com/emacs-lsp/lsp-mode/
In Emacs is special regarding UIs
If you're willing to give Emacs another shot, check out LSP-mode [0]. It's an implementation of the language server protocol, the same tech that powers the autocomplete/jump-to-def/etc. in VS Code, and so it offers exactly the same functionality for all the same languages. It's true that it's not built into Emacs, but it's easy to set up and works well. It's been a total game changer for me - it's allowed me to transition to using Emacs full-time for professional Python programming. [0] https://github.com/emacs-lsp/lsp-mode
In Asciiflow in VS Code

Showing the 15 most recent of 19 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.