fix(python): make both ruff and ruff_lsp available to user (#3060)

* fix(python): make both `ruff` and `ruff_lsp` available to user

Provide global variable to choose between `ruff` and `ruff_lsp` in
accordance to `pyright`/`basedpyright`

* refactor(python): ruff stuff

---------

Co-authored-by: Folke Lemaitre <folke.lemaitre@gmail.com>
This commit is contained in:
Iordanis Petkakis 2024-05-03 10:23:31 +03:00 committed by GitHub
parent a96348d7b0
commit 34183a2759
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,9 +2,11 @@ if lazyvim_docs then
-- LSP Server to use for Python. -- LSP Server to use for Python.
-- Set to "basedpyright" to use basedpyright instead of pyright. -- Set to "basedpyright" to use basedpyright instead of pyright.
vim.g.lazyvim_python_lsp = "pyright" vim.g.lazyvim_python_lsp = "pyright"
vim.g.lazyvim_python_ruff = "ruff_lsp"
end end
local lsp = vim.g.lazyvim_python_lsp or "pyright" local lsp = vim.g.lazyvim_python_lsp or "pyright"
local ruff = vim.g.lazyvim_python_ruff or "ruff_lsp"
return { return {
{ {
@ -28,7 +30,13 @@ return {
[lsp] = { [lsp] = {
enabled = true, enabled = true,
}, },
ruff_lsp = {
enabled = ruff == "ruff_lsp",
},
ruff = { ruff = {
enabled = ruff == "ruff",
},
[ruff] = {
keys = { keys = {
{ {
"<leader>co", "<leader>co",
@ -47,9 +55,9 @@ return {
}, },
}, },
setup = { setup = {
ruff = function() [ruff] = function()
LazyVim.lsp.on_attach(function(client, _) LazyVim.lsp.on_attach(function(client, _)
if client.name == "ruff" then if client.name == ruff then
-- Disable hover in favor of Pyright -- Disable hover in favor of Pyright
client.server_capabilities.hoverProvider = false client.server_capabilities.hoverProvider = false
end end