You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By 'workspace', I mean a working directory that has a pyproject.toml/ruff.toml configuration file. When hx 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:
2024-05-01T20:30:48.048 helix_lsp::transport [ERROR] ruff err <- "├─ 0.003277s 0ms WARN ruff_server::session::workspace Workspace not found for file:///<filepath>. Global settings will be used for this document\n"
2024-05-01T20:30:48.048 helix_lsp::transport [ERROR] ruff err <- " 0.003399s ERROR ruff_server::server::api An error occurred while running textDocument/didOpen: Unable to take snapshot for document with URL file:///<filepath>
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:
snowsignal
changed the title
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
May 8, 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
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: