this post was submitted on 31 Oct 2024
4 points (100.0% liked)

Emacs

1978 readers
12 users here now

Our infinitely powerful editor.

founded 4 years ago
MODERATORS
 

Hello.

I have been using both Neovim and Emacs on and off for about 2 years now, only really getting into both projects around 8 months ago.

After Emacs broke on NixOS (not sure whose fault it was), I didn't want to see Emacs for a while, so I used Neovim and sort of forgot about Emacs, but now that flatpaks broke for me on Fedora a few days ago, and I decided to switch to PopOS where Neovim is a version or two older than the minimum for some plugins. I tried to make it work and failed so I'm back on Emacs.

I even managed to find a fix for an issue I had with the Dashboard Logo.

But I've grown used to the way Neovim does things with Mason, just compiling all language servers automagically.

In short, I couldn't find a way to do that in Emacs and seeing as AI couldn't help me in these endeavours, I decided the best place to ask for help would be here.

I need a way to easily install Language Servers, integrate them with LSP and Auto-Complete mode, and have Emacs or an Emacs package compile and/or install these language servers automatically with no further effort required on my part.

Thank you.

top 2 comments
sorted by: hot top controversial new old
[โ€“] TunaCowboy 4 points 2 weeks ago* (last edited 2 weeks ago)

You can just compile emacs and/or neovim yourself rather than installing a whole new distro to get different versions.

As far as lsp-mode goes, a bunch of language servers will already auto install, you can add support for ones that don't or script it yourself in the shell of your choice or elisp.

eglot is an alternative to lsp-mode that takes a more hands off approach.

Enabling lsp for a specific language is pretty much just:

(add-hook '<LANG>-mode-hook 'lsp)

If you're using use-package:

:hook (<LANG>-mode . lsp)

eglot can be substituted for lsp.

[โ€“] [email protected] 2 points 2 weeks ago

To add some more context:

Eglot is part of Emacs now, so it comes preinstalled. It's good at finding lsp servers, but won't help you to install them. Definitely the option if you want to keep things simple and can live with the need to manually install servers. (Also a quick note, the hook you should use to auto activate eglot is eglot-ensure, rather than just eglot.