diff --git a/nvim/.config/nvim/after/ftplugin/python.lua b/nvim/.config/nvim/after/ftplugin/python.lua index d7f5db6..3c294b7 100644 --- a/nvim/.config/nvim/after/ftplugin/python.lua +++ b/nvim/.config/nvim/after/ftplugin/python.lua @@ -1,7 +1,9 @@ -vim.bo.textwidth = 0 -vim.bo.formatprg = "black -q -" +local lsp_utils = require('lsp-utils') +local ruff_config = lsp_utils.ruff_config() -vim.keymap.set('n', 'gq', "ggVGgq", { noremap=true, silent=true, buffer=0 }) +vim.lsp.start(ruff_config) + +vim.bo.textwidth = 0 vim.api.nvim_create_autocmd({ "BufWritePost" }, { buffer = 0, diff --git a/nvim/.config/nvim/after/plugin/nvim-lint.lua b/nvim/.config/nvim/after/plugin/nvim-lint.lua index e85f0a5..58da95e 100644 --- a/nvim/.config/nvim/after/plugin/nvim-lint.lua +++ b/nvim/.config/nvim/after/plugin/nvim-lint.lua @@ -11,7 +11,6 @@ nvim_lint.linters_by_ft = { javascript = { 'eslint_d' }, lua = { 'luacheck' }, markdown = { 'vale' }, - python = { 'ruff' }, sh = { 'shellcheck' }, typescript = { 'eslint_d' }, yaml = { 'yamllint' }, diff --git a/nvim/.config/nvim/lua/lsp-utils.lua b/nvim/.config/nvim/lua/lsp-utils.lua index 7070687..adb9a81 100644 --- a/nvim/.config/nvim/lua/lsp-utils.lua +++ b/nvim/.config/nvim/lua/lsp-utils.lua @@ -239,6 +239,20 @@ function M.ra_config() } end +function M.ruff_config() + local root_files = { 'pyproject.toml', 'setup.py', 'setup.cfg', 'requirements.txt', 'Pipfile' } + local root_directory = get_root_directory(root_files) + + return { + name = "ruff", + cmd = { "ruff-lsp" }, + filetypes = { 'python' }, + capabilities = default_capabilities, + root_dir = root_directory, + single_file_support = true, + } +end + function M.scheme_config() local root_files = { '.git' } local root_directory = get_root_directory(root_files)