emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Making Emacs more friendly to newcomers


From: Theodor Thornhill
Subject: Re: Making Emacs more friendly to newcomers
Date: Tue, 21 Apr 2020 08:44:03 +0000

"Po Lu" <address@hidden> writes:

> IIRC, lsp-mode has good support for automagically downloading popular
> LSP servers.  Perhaps that could be added to eglot?
>

I know that fsharp-mode already offers this integration with eglot. So
it is absolutely possible. However, there are some small things I see
which could be needed for this easier adoption for newcomers. I see some
of this has been disussed earlier, but anyhow:

1: VsCode offers on the home screen an option to click on what languages
you want to install support for. This offers a nice one-click shop for
language packs. This, I guess is the same behaviour that Doom/Spacemacs
offers with their layers etc. In Emacs we often have to install
lsp-client, lsp-server, language mode, company, adjust company backends.
It would be nice to have emacs install all of the above automatically
when clicking on Python, JS and such.

2: One bigger problem here is that VsCode attracts JS/TS-devs, and
tssnerver is really not lsp-compliant, or even an lsp-server at all. So
to get that behaviour you need you have to install
javascript-typescript-server OR typescript-language-server. The latter
seems to be the best, but it is now unmaintained. Also, support for JSX,
while improved a ton lately, is not there for TSX yet. To get proper
support for TSX you must use web-mode, but this in turn does not offer
keyword syntax highlighting for typescript. Also, "tide" is a separate
lsp implementation dealing only with js/typescript

3: Eglot has some shortcomings compared to lsp-mode. In example multi
server support, which is discussed here:
https://github.com/joaotavora/eglot/issues/423

This is needed yet again for better support of js/ts.

4: Eglot chooses to "take over" emacs' default behaviour, and I believe
this could be extended further to alleviate at least point number
one. If eglot were capable of installing company, lsp-servers and
file-extension-based language modes we are already there as for
one-click functionality. It even has an eglot-stay-out-of option for
configuration if more granular control is wanted.

              
The JS/TS story however is not solvable quickly it seems:
https://github.com/emacs-typescript/typescript.el/issues/4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]