From 53616cb73dbba6fdb70b15e45bf755b56a95a43f Mon Sep 17 00:00:00 2001 From: Dhruv Manilawala Date: Thu, 27 Jun 2024 13:48:37 +0530 Subject: [PATCH] feat!: remove `--preview` flag from Ruff server --- lua/lspconfig/server_configurations/ruff.lua | 25 +++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/lua/lspconfig/server_configurations/ruff.lua b/lua/lspconfig/server_configurations/ruff.lua index 09a494cc80..62e4c7aed5 100644 --- a/lua/lspconfig/server_configurations/ruff.lua +++ b/lua/lspconfig/server_configurations/ruff.lua @@ -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, @@ -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")]],