emacs-devel
[Top][All Lists]
Advanced

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

Re: dash.el [was: Re: Imports / inclusion of s.el into Emacs]


From: Dmitry Gutov
Subject: Re: dash.el [was: Re: Imports / inclusion of s.el into Emacs]
Date: Sat, 23 May 2020 03:24:49 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0

On 23.05.2020 03:08, João Távora wrote:
Dmitry Gutov <address@hidden> writes:

I don't think that's what "integrated" means.

Why not? You find the Rust file, activate Eglot and it starts working.
Some major modes might even automate the second step, if it's cheap.  I
know people really like `eglot-ensure`, which that starts up a server
automatically.

It's less "integrated" than what that other mode is doing.

So worst case scenario, people will point out that Emacs core has released something not entirely complete while there is a package with all batteries included.

If the LSP settings are broken or outdated, however, the user are more
likely to see that as Eglot being broken or obsolete.

I've explained this has specific to do with LSP.  It's the fact that you
rely on an external program.  Emacs does that all the time, with aspell,
shell programs, so nothing different here.  Aren't you ruby-mode
maintainer?  Doesn't it call the rubocop program?  Is it rotting
frequently?

Again, examples of much simpler programs. And historically stable. And Rubocop has its own, well-documented configuration interface (text file) that's expected to be edited by users.

Of course, as you know, the whole point of LSP to start with is to make
these obsolete.
Some basic idea was like that, maybe. But then the reality
intervened. And people value features more than stability.

I don't think it's very bad, the fact that only minor customization is
needed for a small set of servers means the idea is mostly solid.  It's
a question of good defaults, mostly.  And growing the protocol.

And of every major mode author making the effort to familiarize themselves with this stuff, apparently.

And I'm fairly sure language servers will continue to provide their
ad-hoc extensions because different languages have different needs.

Yes, true, but from these two years I've been seeing less and less of
that.  I bet a good majority of the servers Eglot supports work out of
the box, no special customization.  pyls, clangd, the javascript one,
and probably many of the other simpler ones.

You might be forgetting that Eglot doesn't exactly support _all_ the features that languages servers offer. At least, that's my impression of your answer to the question about refactoring actions.

And take the lsp-rust example again: https://github.com/emacs-lsp/lsp-mode/blob/057e8789638a0bf493930637185694b6b09ea58e/lsp-rust.el#L259-L283

There are 24 settings there. Perhaps half is outdated or unimportant. Who will be responsible for setting them and choosing their values?



reply via email to

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