-
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
fails to work in Neovim or Helix when outside of a workspace
#11236
Comments
Is this problem similar to the one solved in #10398 ? |
Yep, it's a related issue 👍 |
snowsignal
changed the title
May 8, 2024
ruff server
fails to work in Helix when outside of a workspaceruff server
fails to work in Neovim or Helix when outside of a workspace
Update: This is also happening on Neovim. |
snowsignal
added a commit
that referenced
this issue
May 22, 2024
## Summary Fixes #11236. This PR fixes several issues, most of which relate to non-VS Code editors (Helix and Neovim). 1. Global-only initialization options are now correctly deserialized from Neovim and Helix 2. Empty diagnostics are now published correctly for Neovim and Helix. 3. A workspace folder is created at the current working directory if the initialization parameters send an empty list of workspace folders. 4. The server now gracefully handles opening files outside of any known workspace, and will use global fallback settings taken from client editor settings and a user settings TOML, if it exists. ## Test Plan I've tested to confirm that each issue has been fixed. * Global-only initialization options are now correctly deserialized from Neovim and Helix + the server gracefully handles opening files outside of any known workspace https://github.com/astral-sh/ruff/assets/19577865/4f33477f-20c8-4e50-8214-6608b1a1ea6b * Empty diagnostics are now published correctly for Neovim and Helix https://github.com/astral-sh/ruff/assets/19577865/c93f56a0-f75d-466f-9f40-d77f99cf0637 * A workspace folder is created at the current working directory if the initialization parameters send an empty list of workspace folders. https://github.com/astral-sh/ruff/assets/19577865/b4b2e818-4b0d-40ce-961d-5831478cc726
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
By 'workspace', I mean a working directory that has a
pyproject.toml
/ruff.toml
configuration file. Whenhx
is used outside of a workspace, the server simply does not work with any opened files. None of the functions the server provides work as expected.These are the associated error logs:
My assumption is that we don't register a workspace on the server that can 'capture' the opened file, which means that the document is never registered as open (thus, we are unable to take a snapshot of it). We need a better way to handle documents outside of an existing workspace (the best solution may just be to instantiate a new workspace in the session when this happens).
Workaround
To work around this issue, create an empty configuration file from the directory where you launch the editor, using
touch ruff.toml
.The text was updated successfully, but these errors were encountered: