A slightly more compromising Python code formatter, based on the latest stable release of
Black
(20.8b10
at the time of writing).
- The default line length is 99 instead of 88 (configurable with
--line-length
). - Single quoted strings are preferred (configurable with
--string-normalization none/single/double
). - Empty lines between
class
es anddef
s are treated no differently from other code. The old behavior, which sometimes inserts double empty lines between them, remains available via--special-case-def-empty-lines
. - The Vim plugin configuration variable for line length is named
g:lavender_line_length
instead ofg:lavender_linelength
, for consistency with the other configuration variable names.
Read up on Black, but replace black
with lavender
in your
head.
Poetry is recommended for managing Python development tooling.
To initialize an isolated Python development environment for Lavender:
poetry install
Code formatting for Python is handled by Lavender itself.
To check that the code is correctly formatted:
poetry run lavender --check .
To auto-format the code:
poetry run lavender .
Type checking for Python is handled by mypy.
To check that the code is correctly typed:
poetry run mypy .
Lavender is Copyright (c) 2019-2021 Michael Smith <michael@spinda.net>
Black, the software on which it was based, is Copyright (c) 2018-2020 Łukasz Langa
This program is free software: you can redistribute it and/or modify it under the terms of the MIT License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MIT License for more details.
You should have received a copy of the MIT License along with this program. If not, see http://opensource.org/licenses/MIT.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this work by you shall be licensed as above, without any additional terms or conditions.