ruby: Update documentation about new LS activation sequence (#30160)
Hi, this pull request updates the Ruby extension documentation to reflect new language server activation sequence and autoinstallation shipped in [v0.7.0](https://github.com/zed-extensions/ruby/releases/tag/v0.7.0). Release Notes: - N/A
This commit is contained in:
parent
9c1b2afa49
commit
3339c84cdd
1 changed files with 22 additions and 72 deletions
|
@ -29,6 +29,28 @@ When configuring a language server, it helps to open the LSP Logs window using t
|
|||
|
||||
The [Ruby extension](https://github.com/zed-extensions/ruby) offers both `solargraph` and `ruby-lsp` language server support.
|
||||
|
||||
### Language Server Activation
|
||||
|
||||
For all Ruby language servers (`solargraph`, `ruby-lsp`, and `rubocop`), the Ruby extension follows this activation sequence:
|
||||
|
||||
1. If the language server is found in your project's `Gemfile`, it will be used through `bundle exec`.
|
||||
2. If not found in the `Gemfile`, the Ruby extension will look for the executable in your system `PATH`.
|
||||
3. If the language server is not found in either location, the Ruby extension will automatically install it as a global gem (note: this will not install to your current Ruby gemset).
|
||||
|
||||
You can skip step 1 and force using the system executable by setting `use_bundler` to `false` in your settings:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"lsp": {
|
||||
"<SERVER_NAME>": {
|
||||
"settings": {
|
||||
"use_bundler": false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
### Using `solargraph`
|
||||
|
||||
`solargraph` is enabled by default in the Ruby extension.
|
||||
|
@ -79,20 +101,6 @@ Or, conversely, you can disable `ruby-lsp` and enable `solargraph` and `rubocop`
|
|||
|
||||
## 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:
|
||||
|
||||
```sh
|
||||
gem install solargraph
|
||||
```
|
||||
|
||||
Alternatively, if your project uses Bundler, you can add the Solargraph gem to your `Gemfile`:
|
||||
|
||||
```rb
|
||||
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`:
|
||||
|
||||
```json
|
||||
|
@ -108,34 +116,12 @@ Solargraph has formatting and diagnostics disabled by default. We can tell Zed t
|
|||
}
|
||||
```
|
||||
|
||||
By default, Solargraph uses `bundle exec` to run in the context of the bundle. To disable that, you can use the `use_bundler` configuration option:
|
||||
|
||||
```json
|
||||
{
|
||||
"lsp": {
|
||||
"solargraph": {
|
||||
"settings": {
|
||||
"use_bundler": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 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](https://solargraph.org/guides/configuration).
|
||||
|
||||
## 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:
|
||||
|
||||
```sh
|
||||
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`:
|
||||
|
||||
```json
|
||||
|
@ -173,30 +159,8 @@ LSP `settings` and `initialization_options` can also be project-specific. For ex
|
|||
}
|
||||
```
|
||||
|
||||
By default, Ruby LSP does not use `bundle exec` to run in the context of the bundle. To enable that, you can use the `use_bundler` configuration option:
|
||||
|
||||
```json
|
||||
{
|
||||
"lsp": {
|
||||
"ruby-lsp": {
|
||||
"settings": {
|
||||
"use_bundler": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Setting up `rubocop` LSP
|
||||
|
||||
Zed currently doesn't install `rubocop` automatically. To use `rubocop`, you need to install the gem. Zed just looks for an executable called `rubocop` on your `PATH`.
|
||||
|
||||
You can install the gem manually with the following command:
|
||||
|
||||
```sh
|
||||
gem install rubocop
|
||||
```
|
||||
|
||||
Rubocop has unsafe autocorrection disabled by default. We can tell Zed to enable it by adding the following to your `settings.json`:
|
||||
|
||||
```json
|
||||
|
@ -224,20 +188,6 @@ Rubocop has unsafe autocorrection disabled by default. We can tell Zed to enable
|
|||
}
|
||||
```
|
||||
|
||||
By default, `rubocop` uses `bundle exec` to run in the context of the bundle. To disable that, you can use the `use_bundler` configuration option:
|
||||
|
||||
```json
|
||||
{
|
||||
"lsp": {
|
||||
"rubocop": {
|
||||
"settings": {
|
||||
"use_bundler": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Using the Tailwind CSS Language Server with Ruby
|
||||
|
||||
It's possible to use the [Tailwind CSS Language Server](https://github.com/tailwindlabs/tailwindcss-intellisense/tree/HEAD/packages/tailwindcss-language-server#readme) in Ruby and ERB files.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue