Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 16 additions & 9 deletions lua/lspconfig/server_configurations/ruff.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ local root_files = {

return {
default_config = {
cmd = { 'ruff', 'server', '--preview' },
cmd = { 'ruff', 'server' },
filetypes = { 'python' },
root_dir = util.root_pattern(unpack(root_files)) or util.find_git_ancestor(),
single_file_support = true,
Expand All @@ -18,22 +18,29 @@ return {
description = [[
https://github.com/astral-sh/ruff

A Language Server Protocol implementation for Ruff, an extremely fast Python linter and code formatter, written in Rust. It can be installed via pip.
A Language Server Protocol implementation for Ruff, an extremely fast Python linter and code formatter, written in Rust. It can be installed via `pip`.

```sh
pip install ruff
```

_Requires Ruff v0.3.3 or later._
**Available in Ruff `v0.4.5` in beta and stabilized in Ruff `v0.5.3`.**

This is the new Rust-based version of the original `ruff-lsp` implementation. It's currently in alpha, meaning that some features are under development. Currently, the following capabilities are supported:
This is the new built-in language server written in Rust. It supports the same feature set as `ruff-lsp`, but with superior performance and no installation required. Note that the `ruff-lsp` server will continue to be maintained until further notice.

1. Diagnostics
2. Code actions
3. Formatting
4. Range Formatting
Server settings can be provided via:

Please note that the `ruff-lsp` server will continue to be maintained until further notice.
```lua
require('lspconfig').ruff.setup({
init_options = {
settings = {
-- Server settings should go here
}
}
})

Refer to the [documentation](https://docs.astral.sh/ruff/editors/) for more details.
```

]],
root_dir = [[root_pattern("pyproject.toml", "ruff.toml", ".ruff.toml", ".git")]],
Expand Down