Linter plugin for pylsp based using ruff.
Formatting via ruff's --fix is available since v1.3.0.
In the same virtualenv as python-lsp-server:
pip install python-lsp-ruffThere also exists an AUR package.
This plugin will disable flake8, pycodestyle, pyflakes, mccabe and isort by default.
When enabled, all linting diagnostics will be provided by ruff.
Sorting of the imports through ruff when formatting is enabled by default.
The list of code fixes can be changed via the pylsp.plugins.ruff.format option.
When enabled, sorting of imports when formatting will be provided by ruff.
Configuration options can be passed to the python-language-server. If a pyproject.toml
file is present in the project, python-lsp-ruff will use these configuration options.
Note that any configuration options (except for extendIgnore and extendSelect, see
this issue) passed to ruff via
pylsp are ignored if the project has a pyproject.toml.
The plugin follows python-lsp-server's configuration. These are the valid configuration keys:
pylsp.plugins.ruff.enabled: boolean to enable/disable the plugin.trueby default.pylsp.plugins.ruff.config: Path to optionalpyproject.tomlfile.pylsp.plugins.ruff.exclude: Exclude files from being checked byruff.pylsp.plugins.ruff.executable: Path to theruffexecutable. Assumed to be in PATH by default.pylsp.plugins.ruff.ignore: Error codes to ignore.pylsp.plugins.ruff.extendIgnore: Same as ignore, but append to existing ignores.pylsp.plugins.ruff.lineLength: Set the line-length for length checks.pylsp.plugins.ruff.perFileIgnores: File-specific error codes to be ignored.pylsp.plugins.ruff.select: List of error codes to enable.pylsp.plugins.ruff.extendSelect: Same as select, but append to existing error codes.pylsp.plugins.ruff.format: List of error codes to fix during formatting.
For more information on the configuration visit Ruff's homepage.