GNU bug report logs - #67441
[PATCH] eglot: Add ruff-lsp as an alternative python server

Previous Next

Package: emacs;

Reported by: Niall Dooley <dooleyn <at> gmail.com>

Date: Sat, 25 Nov 2023 08:18:02 UTC

Severity: normal

Tags: patch

Merged with 67442

Fixed in version 29.2

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 67441 in the body.
You can then email your comments to 67441 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#67441; Package emacs. (Sat, 25 Nov 2023 08:18:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Niall Dooley <dooleyn <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 25 Nov 2023 08:18:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Niall Dooley <dooleyn <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Cc: Niall Dooley <dooleyn <at> gmail.com>
Subject: [PATCH] eglot: Add ruff-lsp as an alternative python server
Date: Fri, 24 Nov 2023 16:52:36 +0100
ruff-lsp [1] is a Language Server Protocol implementation for Ruff [2,
3], an extremely fast Python linter and code formatter, written in
Rust.

It supports surfacing Ruff diagnostics and providing Code Actions to
fix them, but is intended to be used alongside another Python LSP in
order to support features like navigation and autocompletion.

[1]: https://github.com/astral-sh/ruff-lsp
[2]: https://github.com/astral-sh/ruff
[3]: https://docs.astral.sh/ruff/
---
 lisp/progmodes/eglot.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 48ea33c3ee1..d7d91bddb01 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -216,7 +216,7 @@ chosen (interactively or automatically)."
                                 (vimrc-mode . ("vim-language-server" "--stdio"))
                                 ((python-mode python-ts-mode)
                                  . ,(eglot-alternatives
-                                     '("pylsp" "pyls" ("pyright-langserver" "--stdio") "jedi-language-server")))
+                                     '("pylsp" "pyls" ("pyright-langserver" "--stdio") "jedi-language-server" "ruff-lsp")))
                                 ((js-json-mode json-mode json-ts-mode)
                                  . ,(eglot-alternatives '(("vscode-json-language-server" "--stdio")
                                                           ("vscode-json-languageserver" "--stdio")
-- 
2.30.2





Merged 67441 67442. Request was from Eli Zaretskii <eliz <at> gnu.org> to control <at> debbugs.gnu.org. (Sat, 25 Nov 2023 09:20:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67441; Package emacs. (Fri, 15 Dec 2023 01:23:02 GMT) Full text and rfc822 format available.

Message #10 received at 67441 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Niall Dooley <dooleyn <at> gmail.com>, 67441 <at> debbugs.gnu.org
Cc: João Távora <joaotavora <at> gmail.com>
Subject: Re: bug#67441: [PATCH] eglot: Add ruff-lsp as an alternative python
 server
Date: Thu, 14 Dec 2023 17:22:29 -0800
Niall Dooley <dooleyn <at> gmail.com> writes:

> ruff-lsp [1] is a Language Server Protocol implementation for Ruff [2,
> 3], an extremely fast Python linter and code formatter, written in
> Rust.
>
> It supports surfacing Ruff diagnostics and providing Code Actions to
> fix them, but is intended to be used alongside another Python LSP in
> order to support features like navigation and autocompletion.
>
> [1]: https://github.com/astral-sh/ruff-lsp
> [2]: https://github.com/astral-sh/ruff
> [3]: https://docs.astral.sh/ruff/

João, any comments here?  Does eglot support running more than one LSP
server at the same time?

AFAICT, pylsp (for example) has built-in support for ruff, so while I'm
sure there's a use case for ruff-lsp, I don't think I currently
understand it.

In any case, I think the patch seems harmless enough, and could probably
be installed as-is.

> ---
>  lisp/progmodes/eglot.el | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
> index 48ea33c3ee1..d7d91bddb01 100644
> --- a/lisp/progmodes/eglot.el
> +++ b/lisp/progmodes/eglot.el
> @@ -216,7 +216,7 @@ chosen (interactively or automatically)."
>                                  (vimrc-mode . ("vim-language-server" "--stdio"))
>                                  ((python-mode python-ts-mode)
>                                   . ,(eglot-alternatives
> -                                     '("pylsp" "pyls" ("pyright-langserver" "--stdio") "jedi-language-server")))
> +                                     '("pylsp" "pyls" ("pyright-langserver" "--stdio") "jedi-language-server" "ruff-lsp")))
>                                  ((js-json-mode json-mode json-ts-mode)
>                                   . ,(eglot-alternatives '(("vscode-json-language-server" "--stdio")
>                                                            ("vscode-json-languageserver" "--stdio")
> --
> 2.30.2




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67441; Package emacs. (Fri, 15 Dec 2023 01:27:02 GMT) Full text and rfc822 format available.

Message #13 received at 67441 <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Stefan Kangas <stefankangas <at> gmail.com>
Cc: Niall Dooley <dooleyn <at> gmail.com>, 67441 <at> debbugs.gnu.org
Subject: Re: bug#67441: [PATCH] eglot: Add ruff-lsp as an alternative python
 server
Date: Fri, 15 Dec 2023 01:29:42 +0000
On Fri, Dec 15, 2023 at 1:22 AM Stefan Kangas <stefankangas <at> gmail.com> wrote:
>
> Niall Dooley <dooleyn <at> gmail.com> writes:
>
> > ruff-lsp [1] is a Language Server Protocol implementation for Ruff [2,
> > 3], an extremely fast Python linter and code formatter, written in
> > Rust.
> >
> > It supports surfacing Ruff diagnostics and providing Code Actions to
> > fix them, but is intended to be used alongside another Python LSP in
> > order to support features like navigation and autocompletion.
> >
> > [1]: https://github.com/astral-sh/ruff-lsp
> > [2]: https://github.com/astral-sh/ruff
> > [3]: https://docs.astral.sh/ruff/
>
> João, any comments here?  Does eglot support running more than one LSP
> server at the same time?

No.  This is the same question of Eli, who phrased it "alongside".

> AFAICT, pylsp (for example) has built-in support for ruff, so while I'm
> sure there's a use case for ruff-lsp, I don't think I currently
> understand it.

Me neither.  The fact that some language servers (pylsp, clangd) already
do what the hypothetical Eglot feature for running servers alongside each
other would do, is also the main reason why that feature has lost some
(definitely not all) of its relevance.

> In any case, I think the patch seems harmless enough, and could probably
> be installed as-is.

Agree.  Install at will.

João




Reply sent to Stefan Kangas <stefankangas <at> gmail.com>:
You have taken responsibility. (Sat, 16 Dec 2023 11:13:02 GMT) Full text and rfc822 format available.

Notification sent to Niall Dooley <dooleyn <at> gmail.com>:
bug acknowledged by developer. (Sat, 16 Dec 2023 11:13:02 GMT) Full text and rfc822 format available.

Message #18 received at 67441-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: João Távora <joaotavora <at> gmail.com>
Cc: Niall Dooley <dooleyn <at> gmail.com>, 67441-done <at> debbugs.gnu.org
Subject: Re: bug#67441: [PATCH] eglot: Add ruff-lsp as an alternative python
 server
Date: Sat, 16 Dec 2023 03:12:09 -0800
Version: 29.2

João Távora <joaotavora <at> gmail.com> writes:

> Install at will.

Thanks, done.  I'm therefore closing this bug report.




Reply sent to Stefan Kangas <stefankangas <at> gmail.com>:
You have taken responsibility. (Sat, 16 Dec 2023 11:13:02 GMT) Full text and rfc822 format available.

Notification sent to Niall Dooley <dooleyn <at> gmail.com>:
bug acknowledged by developer. (Sat, 16 Dec 2023 11:13:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 13 Jan 2024 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 118 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.