unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Externalising 'eglot-server-programs'
@ 2024-07-17 22:23 Philip Kaludercic
  2024-07-18  5:04 ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Philip Kaludercic @ 2024-07-17 22:23 UTC (permalink / raw)
  To: emacs-devel


I have been wondering why all the language servers are currently listed
in 'eglot-server-programs'?  Isn't it usually the responsibility of a
major mode to integrate and configure generic functionality (Imenu,
CAPF, Xref, Outline, Font-Lock, ...) for a language?  Would it be
imaginable to move towards the expectation that major modes and their
packages update 'eglot-server-programs', just like they update
'auto-mode-alist'?

-- 
	Philip Kaludercic on peregrine



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Externalising 'eglot-server-programs'
  2024-07-17 22:23 Externalising 'eglot-server-programs' Philip Kaludercic
@ 2024-07-18  5:04 ` Eli Zaretskii
  2024-07-18  7:52   ` João Távora
  2024-07-18 10:41   ` Philip Kaludercic
  0 siblings, 2 replies; 4+ messages in thread
From: Eli Zaretskii @ 2024-07-18  5:04 UTC (permalink / raw)
  To: Philip Kaludercic, João Távora; +Cc: emacs-devel

> From: Philip Kaludercic <philipk@posteo.net>
> Date: Wed, 17 Jul 2024 22:23:12 +0000
> 
> 
> I have been wondering why all the language servers are currently listed
> in 'eglot-server-programs'?  Isn't it usually the responsibility of a
> major mode to integrate and configure generic functionality (Imenu,
> CAPF, Xref, Outline, Font-Lock, ...) for a language?  Would it be
> imaginable to move towards the expectation that major modes and their
> packages update 'eglot-server-programs', just like they update
> 'auto-mode-alist'?

We should keep in mind that Eglot is also available from ELPA, so it
cannot necessarily rely on what major modes in core do, because
3rd-party major modes might not do that.

Also, I don't see what possible harm could be caused by having all the
known servers listed in that variable.

Adding João to the discussion.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Externalising 'eglot-server-programs'
  2024-07-18  5:04 ` Eli Zaretskii
@ 2024-07-18  7:52   ` João Távora
  2024-07-18 10:41   ` Philip Kaludercic
  1 sibling, 0 replies; 4+ messages in thread
From: João Távora @ 2024-07-18  7:52 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Philip Kaludercic, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 553 bytes --]

On Thu, Jul 18, 2024, 06:04 Eli Zaretskii <eliz@gnu.org> wrote:

> Adding João to the discussion.

eglot-server-program singular (or eglot-contact) has long been in the
roadmap. The e-s-programs is from Eglot's out-of-tree days.

If someone wants to work on this, show a patch, for code and doc that keeps
100% backward compatibility to the e-s-programs variable, which should
probably not be deprecated.

New variable should allow expressing everything the plural variable does,
including multi-language servers (see bug#72088).

João

[-- Attachment #2: Type: text/html, Size: 691 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Externalising 'eglot-server-programs'
  2024-07-18  5:04 ` Eli Zaretskii
  2024-07-18  7:52   ` João Távora
@ 2024-07-18 10:41   ` Philip Kaludercic
  1 sibling, 0 replies; 4+ messages in thread
From: Philip Kaludercic @ 2024-07-18 10:41 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: João Távora, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Philip Kaludercic <philipk@posteo.net>
>> Date: Wed, 17 Jul 2024 22:23:12 +0000
>> 
>> 
>> I have been wondering why all the language servers are currently listed
>> in 'eglot-server-programs'?  Isn't it usually the responsibility of a
>> major mode to integrate and configure generic functionality (Imenu,
>> CAPF, Xref, Outline, Font-Lock, ...) for a language?  Would it be
>> imaginable to move towards the expectation that major modes and their
>> packages update 'eglot-server-programs', just like they update
>> 'auto-mode-alist'?
>
> We should keep in mind that Eglot is also available from ELPA, so it
> cannot necessarily rely on what major modes in core do, because
> 3rd-party major modes might not do that.
>
> Also, I don't see what possible harm could be caused by having all the
> known servers listed in that variable.

It is not so much harm, but just that it is easier for a the maintainers
of a major mode to evaluate and perhaps change anything related to the
LSP server configuration, than if they have to make the change in some
other project (in this case emacs.git).  I'd also guess that people
maintaining a specific major mode have more experience and are better at
testing edge-cases specific to a language{,server} than the average
Emacs developer.

> Adding João to the discussion.
>
>

-- 
	Philip Kaludercic on peregrine



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-07-18 10:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-17 22:23 Externalising 'eglot-server-programs' Philip Kaludercic
2024-07-18  5:04 ` Eli Zaretskii
2024-07-18  7:52   ` João Távora
2024-07-18 10:41   ` Philip Kaludercic

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).