Black plugin for the Python LSP Server.
In the same virtualenv
as python-lsp-server
:
pip install python-lsp-black
To avoid unexpected results you should make sure yapf
and autopep8
are not installed.
python-lsp-black
can either format an entire file or just the selected text.- The code will only be formatted if it is syntactically valid Python.
- Text selections are treated as if they were a separate Python file. Unfortunately this means you can't format an indented block of code.
python-lsp-black
will use your project's pyproject.toml if it has one.python-lsp-black
only officially supports the latest stable version of black. An effort is made to keep backwards-compatibility but older black versions will not be actively tested.
To install the project for development you need to specify the dev optional dependencies:
python -m venv .venv
. .venv/bin/activate
pip install -e .[dev]
This project uses pre-commit hooks to control code quality, install them to run them when creating a git commit, thus avoiding seeing errors when you create a pull request:
pre-commit install
To run tests:
make test
To run linters:
make lint # just a shortcut to pre-commit run -a
make <linter_name> # black, flake8, isort, mypy
To upgrade the version of the pre-commit hooks:
pre-commit autoupdate
# check and git commit changes to .pre-commit-config.yaml