Subject: bug#65359: [PATCH] eglot: add "lexical" LSP server

From: Eli Zaretskii <[email-masked]>
Date: Sat, 19 Aug 2023 11:38:26 +0300

> From: Mou Tong <[email-masked]>
> CC: "[email-masked]" <[email-masked]>
> Date: Fri, 18 Aug 2023 07:08:42 +0000
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > Then we should make this entry be in effect only on systems that
> > aren't Windows.
> >
> > I don't mind installing this now, but only if it doesn't break Elixir
> > support on Windows, which would mean this new entry should be hidden
> > when Emacs runs on Windows.
> 
> Oh, I see, here is the new patch, I'm using the `eglot-alternatives`
> in the else so we don't see lexical on Windows.
> 
> > I also don't mind waiting...
> 
> Actually I'd like it got merged so I needn't to keep the hack in my
> configuration. (Forgive me laziness...)

João, is the below OK with you?  It's for the master branch.

> From 18161aea6287ffd177834fdac156f6037c410856 Mon Sep 17 00:00:00 2001
> From: dalu <[email-masked]>
> Date: Thu, 17 Aug 2023 18:34:42 +0800
> Subject: [PATCH] Add "lexical" LSP server to Eglot
> 
> lexical does not support Windows currently
> ---
>  lisp/progmodes/eglot.el | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
> index 113ff08e94e..65daa0941d5 100644
> --- a/lisp/progmodes/eglot.el
> +++ b/lisp/progmodes/eglot.el
> @@ -222,7 +222,8 @@ eglot-server-programs
>                                   . ,(if (and (fboundp 'w32-shell-dos-semantics)
>                                               (w32-shell-dos-semantics))
>                                          '("language_server.bat")
> -                                      '("language_server.sh")))
> +                                      (eglot-alternatives
> +                                       '("language_server.sh" "start_lexical.sh"))))
>                                  (ada-mode . ("ada_language_server"))
>                                  (scala-mode . ,(eglot-alternatives
>                                                  '("metals" "metals-emacs")))
> -- 
> 2.41.0
>