Solargraph language server broken since BBEdit 15

172 views
Skip to first unread message

Esther Weidauer

unread,
Feb 6, 2024, 8:55:53 AM2/6/24
to BBEdit Talk
Hi everyone

since upgrading to BBEdit 15 the integration with Solargraph (language server for Ruby) doesn't seem to work anymore. Other language servers I use work fine.

I already followed the steps outlined here: https://www.barebones.com/support/bbedit/lsp-notes.html#trouble but no luck so far.

I'm running Solargraph 0.50 open Ruby 3.2.0, and macOS 14.3

Anyone got an idea?

Cheers,

Esther

Rich Siegel

unread,
Feb 6, 2024, 1:49:20 PM2/6/24
to BBEdit Talk
Hello,

On 6 Feb 2024, at 7:21, Esther Weidauer wrote:

> Hi everyone
>
> since upgrading to BBEdit 15 the integration with Solargraph (language
> server for Ruby) doesn't seem to work anymore. Other language servers I use
> work fine.
>
> I already followed the steps outlined
> here: https://www.barebones.com/support/bbedit/lsp-notes.html#trouble but
> no luck so far.

What specific version of BBEdit are you currently running?

15.0.1 had a change that might help:

* Made a change to LSP workspace detection so that it never
returns the current user's home directory as a workspace root.
(Most servers can't handle this, and they try to scan the entire
home directory, which in turn trips file access alarms and OS
permissions errors.)

> I'm running Solargraph 0.50 open Ruby 3.2.0, and macOS 14.3
>
> Anyone got an idea?

The LSP logs are usually the first place to look; you can enable verbose logging in the language-specific settings for Ruby, and that *may* generate additional useful data.

Filing an issue with Solargraph might shake loose some ideas as well.

Good luck,

R.

--
Rich Siegel Bare Bones Software, Inc.
<sie...@barebones.com> <https://www.barebones.com/>

Someday I'll look back on all this and laugh... until they sedate me.

Esther Weidauer

unread,
Feb 6, 2024, 1:57:18 PM2/6/24
to BBEdit Talk
Hi,

> What specific version of BBEdit are you currently running?

I'm running 15.0.1 now but that didn't fix the issue. I also tried the latest 14.x version and it seems broken there too so I don't actually know what broke it. I did try another editor with LSP support (SublimeText) to check if the Solargraph works at all and it does.

I tried getting verbose logs but I don't know where I can see those. Does BBEdit show those somewhere?

Rich Siegel

unread,
Feb 6, 2024, 1:58:48 PM2/6/24
to BBEdit Talk
On 6 Feb 2024, at 13:56, Esther Weidauer wrote:

> Hi,
>
>> What specific version of BBEdit are you currently running?
>
> I'm running 15.0.1 now but that didn't fix the issue. I also tried the
> latest 14.x version and it seems broken there too so I don't actually know
> what broke it.

Could be some environmental thing, assuming you've been using the same Solargraph version all along.

> I tried getting verbose logs but I don't know where I can see those. Does
> BBEdit show those somewhere?

The "Logs" command on the Folders submenu of the BBEdit application menu will open the appropriate Finder window. The LSP logs can be found in there.

Esther Weidauer

unread,
Feb 6, 2024, 2:41:12 PM2/6/24
to BBEdit Talk
I did some more testing and looked at the logs. It seems completion suggestions work, but linting doesn't (but it does in SublimeText). It looks like Solargraph doesn't report any "codeActionProvider" capabilities when launched from BBEdit:

2024-02-06 20:33:20.305: server startup response: {
    capabilities =     {
        completionProvider =         {
            resolveProvider = 1;
            triggerCharacters =             (
                ".",
                ":",
                "@"
            );
        };
        definitionProvider = 1;
        documentHighlightProvider = 1;
        documentSymbolProvider = 1;
        foldingRangeProvider = 1;
        hoverProvider = 1;
        referencesProvider = 1;
        renameProvider =         {
            prepareProvider = 1;
        };
        signatureHelpProvider =         {
            triggerCharacters =             (
                "(",
                ","
            );
        };
        textDocumentSync = 2;
        workspace =         {
            workspaceFolders =             {
                changeNotifications = 1;
                supported = 1;
            };
        };
        workspaceSymbolProvider = 1;
    };
}
2024-02-06 20:33:20.305: ...completed server startup.


This is the configuration that SublimeText uses:

"clients": {
    "ruby": {
            "enabled": true,
            "command": ["solargraph", "stdio"],
            "selector": "source.ruby | text.html.ruby",
            "initializationOptions": {
                "diagnostics": true
            }
        }
  },


it has this "diagnostics: true" option and that does exactly what I want, but I don't know how that is sent to Solargraph or what the equivalent in BBEdit would be

Rich Siegel

unread,
Feb 6, 2024, 2:51:24 PM2/6/24
to BBEdit Talk
On 6 Feb 2024, at 14:41, Esther Weidauer wrote:

> I did some more testing and looked at the logs. It seems completion
> suggestions work, but linting doesn't (but it does in SublimeText). It
> looks like Solargraph doesn't report any "codeActionProvider" capabilities
> when launched from BBEdit:
> [...]
> "clients": {
> "ruby": {
> "enabled": true,
> "command": ["solargraph", "stdio"],
> "selector": "source.ruby | text.html.ruby",
> "initializationOptions": {
> "diagnostics": true
> }
> }
> },
>
> it has this "diagnostics: true" option and that does exactly what I want,
> but I don't know how that is sent to Solargraph or what the equivalent in
> BBEdit would be

It's a little suprising that Solargraph doesn't enable diagnostics by default, and perhaps it's worth the time to file an issue about that.

Meanwhile, the "Advanced Configuration Topics" section of BBEdit's LSP notes should get you going in the right direction: <https://www.barebones.com/support/bbedit/lsp-notes.html#advanced>.

Esther Weidauer

unread,
Feb 6, 2024, 2:57:18 PM2/6/24
to BBEdit Talk
Thank you, adding that advanced configuration JSON solved it. Saved my day :)

Rich Siegel

unread,
Feb 6, 2024, 2:58:07 PM2/6/24
to BBEdit Talk
On 6 Feb 2024, at 14:57, Esther Weidauer wrote:

> Thank you, adding that advanced configuration JSON solved it. Saved my day
> :)

Fantastic, glad to hear it. :-)

Benjamin Irwin

unread,
Feb 6, 2024, 6:21:03 PM2/6/24
to BBEdit Talk
This really made my day.  Thanks for sharing Esther and Rich.  It was fun watching you two work through this issue in a single day and getting it to work.
Reply all
Reply to author
Forward
0 new messages