-
Notifications
You must be signed in to change notification settings - Fork 57
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
Better notification when used Ruff not compatible to extension. #476
Labels
Comments
Also related to #323. I expected to get |
Thank you for the feedback! I agree and in general we should look at the messages sent to the UI to improve the user experience. |
This was referenced Jul 2, 2024
dhruvmanila
added a commit
that referenced
this issue
Jul 4, 2024
## Summary This PR makes progress towards #476 and #479 by making the following changes: * Update the `ruff_server.py` script to limit itself to just getting the Ruff binary path using `sysconfig` * Use the `which` dependency and move the logic of locating the Ruff binary from `PATH` to TypeScript * Add log messages similar to `ruff-lsp` ## Test Plan ### 1 ```json { "ruff.nativeServer": true } ``` Or ```json { "ruff.nativeServer": true, "ruff.importStrategy": "fromEnvironment" } ``` Logs: When the `ruff` binary is installed in the current virtual environment: ``` 2024-07-03 15:28:35.674 [info] Using the Ruff binary: /Users/dhruv/work/astral/ruff-vscode/.venv/bin/ruff 2024-07-03 15:28:35.675 [info] Server run command: /Users/dhruv/work/astral/ruff-vscode/.venv/bin/ruff server --preview ``` If there's no `ruff` binary in the current virtual environment: ``` 2024-07-03 15:25:19.605 [info] Using the Ruff binary: /Users/dhruv/.local/bin/ruff 2024-07-03 15:25:19.606 [info] Server run command: /Users/dhruv/.local/bin/ruff server --preview ``` If the `ruff` binary is only available via `PATH`: ``` 2024-07-03 15:32:12.172 [info] Using environment executable: /opt/homebrew/bin/ruff 2024-07-03 15:32:12.173 [info] Server run command: /opt/homebrew/bin/ruff server --preview ``` And, if there's no `ruff` binary anywhere on the system, use the bundled binary: ``` 2024-07-03 15:29:47.948 [info] Falling back to bundled executable: /Users/dhruv/work/astral/ruff-vscode/bundled/libs/bin/ruff 2024-07-03 15:29:47.948 [info] Server run command: /Users/dhruv/work/astral/ruff-vscode/bundled/libs/bin/ruff server --preview ``` ### 2 ```json { "ruff.nativeServer": true, "ruff.importStrategy": "useBundled" } ``` Logs: ``` 2024-07-03 15:26:28.767 [info] Using bundled executable: /Users/dhruv/work/astral/ruff-vscode/bundled/libs/bin/ruff 2024-07-03 15:26:28.767 [info] Server run command: /Users/dhruv/work/astral/ruff-vscode/bundled/libs/bin/ruff server --preview ``` ### 3 ```json { "ruff.nativeServer": true, "ruff.path": ["/Users/dhruv/work/astral/ruff/target/debug/ruff"] } ``` Logs: ``` 2024-07-03 15:27:42.342 [info] Using 'path' setting: /Users/dhruv/work/astral/ruff/target/debug/ruff 2024-07-03 15:27:42.342 [info] Server run command: /Users/dhruv/work/astral/ruff/target/debug/ruff server --preview ``` ### 4 ```json { "ruff.nativeServer": true, "ruff.interpreter": [ "/Users/dhruv/work/astral/ruff-lsp/.venv/bin/python" ] } ``` Logs: ``` 2024-07-03 15:35:23.578 [info] Using the Ruff binary: /Users/dhruv/work/astral/ruff-lsp/.venv/bin/ruff 2024-07-03 15:35:23.578 [info] Server run command: /Users/dhruv/work/astral/ruff-lsp/.venv/bin/ruff server --preview ``` ### 5 What if the script failed? I modified the script path in TypeScript code and we get the following logs: ``` 2024-07-03 15:42:41.035 [error] Error while trying to find the Ruff binary: Error: Command failed: /Users/dhruv/work/astral/ruff-lsp/.venv/bin/python /Users/dhruv/work/astral/ruff-vscode/bundled/tool/find_ruff_binary_pat.py /Users/dhruv/work/astral/ruff-lsp/.venv/bin/python: can't open file '/Users/dhruv/work/astral/ruff-vscode/bundled/tool/find_ruff_binary_pat.py': [Errno 2] No such file or directory 2024-07-03 15:42:41.037 [info] Using environment executable: /Users/dhruv/.local/bin/ruff 2024-07-03 15:42:41.040 [info] Server run command: /Users/dhruv/.local/bin/ruff server --preview ```
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Notifications on using Ruff v0.3.0 with
ruff.nativeServer
settings enabled:Output
The text was updated successfully, but these errors were encountered: