Using LanguageServer.jl with eglot in emacs

(I’ll respond only here instead of on both github and here to keep the conversation in one place)

Most of the difference is that I find eglot easier to grok:

  1. The codebase was cleaner and easier to read.
  2. The documentation was simpler.
  3. There’s no equivalent to lsp-ui that adds lots of noise and confusion (and was needed for flycheck integration).
  4. eglot integrates with components that are included with emacs instead of external packages: completion-at-point instead of company-mode, project.el instead of projectile, flymake instead of flycheck, etc.

Philosophically, eglot is closer to a “library” than a framework whereas I found lsp-mode more on the “framework” side of that divide. It’s much the same reason I switched from using Spacemacs to having a vanilla emacs config.

Half the time, I don’t want the fancy IDE features provided by LanguageServer.jl at all, so when I do using eglot feels much less intrusive and closer to my normal editing environment than lsp-mode ever did.

I may have time to do this in the coming weeks. Would it be helpful to you as well @gdkrmr if you could simply install “eglot-julia” from melpa and M-x eglot in a julia buffer?

If anyone was holding off on trying eglot because of this, that particular bug is fixed now.

5 Likes