Ruby

Choosing a language server

The Ruby extension offers both solargraph and ruby-lsp language server support.

solargraph is enabled by default.

To switch to ruby-lsp, add the following to your settings.json:

{
  "languages": {
    "Ruby": {
      "language_servers": ["ruby-lsp", "..."]
    }
  }
}

Setting up solargraph

Zed currently doesn't install Solargraph automatically. To use Solargraph, you need to install the gem. Zed just looks for an executable called solargraph on your PATH.

You can install the gem manually with the following command:

gem install solargraph

Alternatively, if your project uses Bundler, you can add the Solargraph gem to your Gemfile:

gem 'solargraph', group: :development

Solargraph has formatting and diagnostics disabled by default. We can tell Zed to enable them by adding the following to your settings.json:

{
  "lsp": {
    "solargraph": {
      "initialization_options": {
        "diagnostics": true,
        "formatting": true
      }
    }
  }
}

Configuration

Solargraph reads its configuration from a file called .solargraph.yml in the root of your project. For more information about this file, see the Solargraph configuration documentation.

Setting up ruby-lsp

Zed currently doesn't install Ruby LSP automatically. To use Ruby LSP, you need to install the gem. Zed just looks for an executable called ruby-lsp on your PATH.

You can install the gem manually with the following command:

gem install ruby-lsp

Ruby LSP uses pull-based diagnostics which Zed doesn't support yet. We can tell Zed to disable it by adding the following to your settings.json:

{
  "lsp": {
    "ruby-lsp": {
      "initialization_options": {
        "enabledFeatures": {
          "diagnostics": false
        }
      }
    }
  }
}