-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ruff server
: Introduce the ruff.printDebugInformation
command
#11831
Conversation
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is excellent! Do we have a place where we could document the new command? Like, have an issue, run this command and create an issue in the RUff repository.
Would it be possible to show the user a message hinting them that they should look at the output panel? It may otherwise not be clear where they can find the debug output
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for doing this! This will be very helpful
@rainzee I think astral-sh/ruff-vscode#495 does that. |
## Summary This PR updates the server capabilities to include the commands that Ruff supports. This is similar to how there's a list of possible code actions supported by the server. I noticed this when I was trying to find whether Helix supported workspace commands or not based on Jane's comment (#11831 (comment)) and I found the `:lsp-workspace-command` in the editor but it didn't show up anything in the picker. So, I looked at the implementation in Helix (https://github.com/helix-editor/helix/blob/9c479e6d2de3bca9dec304f9182cee2b1c0ad766/helix-term/src/commands/typed.rs#L1372-L1384) which made me realize that Ruff doesn't provide this in its capabilities. Currently, this does require `ruff` to be first in the list of language servers in the user config but that should be resolved by helix-editor/helix#10176. So, the following config should work: ```toml [[language]] name = "python" # Ruff should come first until helix-editor/helix#10176 is released language-servers = ["ruff", "pyright"] ``` ## Test Plan 1. Neovim's server capabilities output should include the supported commands: ``` executeCommandProvider = { commands = { "ruff.applyFormat", "ruff.applyAutofix", "ruff.applyOrganizeImports", "ruff.printDebugInformation" }, workDoneProgress = false }, ``` 2. Helix should now display the commands to pick from when `:lsp-workspace-command` is invoked: <img width="832" alt="Screenshot 2024-06-13 at 08 47 14" src="https://github.com/astral-sh/ruff/assets/67177269/09048ecd-c974-4e09-ab56-9482ff3d780b">
## Summary Introduces a command to print debug information. It should look like this in the Output window: <img width="632" alt="Screenshot 2024-06-10 at 12 21 07 PM" src="https://github.com/astral-sh/ruff-vscode/assets/19577865/671c38a0-00f6-4fd1-a4e6-824cc788b54f"> ## Test Plan See astral-sh/ruff#11831 for testing information.
Summary
Closes #11715.
Introduces a new command,
ruff.printDebugInformation
. This will print useful information about the status of the server tostderr
.Right now, the information shown by this command includes:
Test Plan
First, checkout and use the corresponding
ruff-vscode
PR.Running the
Print debug information
command in VS Code should show something like the following in the Output channel: