feat: add sorbet Ruby LSP server option#9
feat: add sorbet Ruby LSP server option#9notchairmk wants to merge 1 commit intozed-extensions:mainfrom
Conversation
|
We require contributors to sign our Contributor License Agreement, and we don't have @notchairmk on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'. |
|
@cla-bot check |
|
The cla-bot has been summoned, and re-checked this pull request! |
|
@notchairmk Thanks for the pull request! I think for specific things like |
|
Thanks for the info @vitallium. Broke it out into a separate extension and opened up zed-industries/extensions#1657 |
|
Closing since the Sorbet extension's been merged |
|
@notchairmk thanks! I will be using it! ❤️ |
|
Should this decision be reconsidered since Steep is being added in #102 ? |
Sure, I think it’s really up to @notchairmk. At first, I was a bit skeptical about adding |
|
I'd be happy to revive this. I do want to note though that issues like notchairmk/zed-sorbet#6 will still keep showing up. |
Redo for #9 (unable to reopen after force-pushing to the branch for the original PR). This adds Sorbet's LSP as an additional Ruby language server option and would take precedent over https://github.com/notchairmk/zed-sorbet. In it's current state issues like notchairmk/zed-sorbet#6 will still be present. In addition, without `get_executable_args` being worktree-aware (and the extension being able to supply default args) the sorbet binary for a repo missing config at `sorbet/config` will fail to initiate. The workaround in zed-sorbet was to just supply empty config if that file is missing and allow for file-local errors. These are the listed server capabilities ```json { "textDocumentSync": 1, "hoverProvider": true, "completionProvider": { "triggerCharacters": [ ".", ":", "@", "#" ] }, "definitionProvider": true, "typeDefinitionProvider": true, "implementationProvider": true, "referencesProvider": true, "documentHighlightProvider": true, "documentSymbolProvider": true, "workspaceSymbolProvider": true, "codeActionProvider": { "codeActionKinds": [ "quickfix", "source.fixAll.sorbet", "refactor.extract", "refactor.rewrite" ], "resolveProvider": true }, "documentFormattingProvider": false, "renameProvider": { "prepareProvider": true } } ``` <img width="802" alt="image" src="https://github.com/user-attachments/assets/b13e2cb0-b0f1-4d85-a51b-136435004263"> --------- Co-authored-by: Vitaly Slobodin <vitaliy.slobodin@gmail.com>
Adds Sorbet's LSP as an additional Ruby language server option.
These are the listed server capabilities
{ "textDocumentSync": 1, "hoverProvider": true, "completionProvider": { "triggerCharacters": [ ".", ":", "@", "#" ] }, "definitionProvider": true, "typeDefinitionProvider": true, "implementationProvider": true, "referencesProvider": true, "documentHighlightProvider": true, "documentSymbolProvider": true, "workspaceSymbolProvider": true, "codeActionProvider": { "codeActionKinds": [ "quickfix", "source.fixAll.sorbet", "refactor.extract", "refactor.rewrite" ], "resolveProvider": true }, "documentFormattingProvider": false, "renameProvider": { "prepareProvider": true } }