aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/configs/ruff_lsp.lua
blob: ea00352bd73b63039aa7a645cd9fedb74ba31b84 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
local util = require 'lspconfig.util'

return {
  default_config = {
    cmd = { 'ruff-lsp' },
    filetypes = { 'python' },
    root_dir = function(fname)
      return util.root_pattern('pyproject.toml', 'ruff.toml')(fname)
        or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1])
    end,
    single_file_support = true,
    settings = {},
  },
  docs = {
    description = [[
https://github.com/astral-sh/ruff-lsp

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

```sh
pip install ruff-lsp
```

Extra CLI arguments for `ruff` can be provided via

```lua
require'lspconfig'.ruff_lsp.setup{
  init_options = {
    settings = {
      -- Any extra CLI arguments for `ruff` go here.
      args = {},
    }
  }
}
```

  ]],
  },
}