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: Po Lu
Subject: Re: Making Emacs more friendly to newcomers
Date: Wed, 22 Apr 2020 12:30:12 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Theodor Thornhill <address@hidden> writes:

> 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:

Nice.  I was not aware of that before.

> 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.

Agreed.  Stefan has a proof-of-concept package named `gnu-elpa' that
does exactly this, and it would indeed be nice if Emacs had that.

> 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

IIRC, Tide uses tsserver, and people say it works quite well.  I also
recall some interesting discussions related to multiple major modes in
2016, that came up with some interesting ideas.

> 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

Yeah, but so far Eglot seems to be the only package that has copyright
assigned to the FSF, which means discussion around Emacs and LSP should
focus on improving Eglot.

> 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.

As for company, I think that's not something for Eglot to do, but
automatically installing language servers is something we need.


reply via email to

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