X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/189520bff13d6fb70f59d1d663ba69c967a48ce4..84e22b75c6baeb231dee52b7bd086f547063e0e4:/README.md diff --git a/README.md b/README.md index 7ab7d52..0d14b68 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -![Black Logo](https://raw.githubusercontent.com/python/black/master/docs/_static/logo2-readme.png) +![Black Logo](https://raw.githubusercontent.com/psf/black/master/docs/_static/logo2-readme.png)

The Uncompromising Code Formatter

-Build Status +Build Status Documentation Status -Coverage Status -License: MIT +Coverage Status +License: MIT PyPI Downloads -Code style: black +Code style: black

> “Any color you like.” @@ -178,14 +178,14 @@ great. ```py3 # in: -l = [1, +j = [1, 2, 3, ] # out: -l = [1, 2, 3] +j = [1, 2, 3] ``` If not, *Black* will look at the contents of the first outer matching @@ -293,11 +293,11 @@ you are probably already using. You'd do it like this: max-line-length = 80 ... select = C,E,F,W,B,B950 -ignore = E501 +ignore = E501,W503,E203 ``` You'll find *Black*'s own .flake8 config file is configured like this. -If you're curious about the reasoning behind B950, +If you're curious about the reasoning behind B950, [Bugbear's documentation](https://github.com/PyCQA/flake8-bugbear#opinionated-warnings) explains it. The tl;dr is "it's like highway speed limits, we won't bother you if you overdo it by a few km/h". @@ -373,7 +373,7 @@ The main reason to standardize on a single form of quotes is aesthetics. Having one kind of quotes everywhere reduces reader distraction. It will also enable a future version of *Black* to merge consecutive string literals that ended up on the same line (see -[#26](https://github.com/python/black/issues/26) for details). +[#26](https://github.com/psf/black/issues/26) for details). Why settle on double quotes? They anticipate apostrophes in English text. They match the docstring standard described in [PEP 257](https://www.python.org/dev/peps/pep-0257/#what-is-a-docstring). @@ -682,7 +682,7 @@ $ where black -### Wing IDE +### Wing IDE Wing supports black via the OS Commands tool, as explained in the Wing documentation on [pep8 formatting](https://wingware.com/doc/edit/pep8). The detailed procedure is: @@ -704,7 +704,7 @@ $ black --help - click on **+** in **OS Commands** -> New: Command line.. - Title: black - Command Line: black %s - - I/O Encoding: Use Default + - I/O Encoding: Use Default - Key Binding: F1 - [x] Raise OS Commands when executed - [x] Auto-save files before execution @@ -730,16 +730,22 @@ Configuration: To install with [vim-plug](https://github.com/junegunn/vim-plug): ``` -Plug 'python/black' +Plug 'psf/black' ``` or with [Vundle](https://github.com/VundleVim/Vundle.vim): ``` -Plugin 'python/black' +Plugin 'psf/black' +``` + +or you can copy the plugin from [plugin/black.vim](https://github.com/psf/black/tree/master/plugin/black.vim). + +``` +mkdir -p ~/.vim/pack/python/start/black/plugin +curl https://raw.githubusercontent.com/psf/black/master/plugin/black.vim -o ~/.vim/pack/python/start/black/plugin/black.vim ``` -or you can copy the plugin from [plugin/black.vim](https://github.com/python/black/tree/master/plugin/black.vim). Let me know if this requires any changes to work with Vim 8's builtin `packadd`, or Pathogen, and so on. @@ -762,6 +768,12 @@ To run *Black* on save, add the following line to `.vimrc` or `init.vim`: autocmd BufWritePre *.py execute ':Black' ``` +To run *Black* on a key press (e.g. F9 below), add this: + +``` +nnoremap :Black +``` + **How to get Vim with Python 3.6?** On Ubuntu 17.10 Vim comes with Python 3.6 by default. On macOS with Homebrew run: `brew install vim --with-python3`. @@ -844,6 +856,14 @@ Options: -h, --help Show this message and exit. ``` +There is no official blackd client tool (yet!). You can test that blackd is +working using `curl`: + +``` +blackd --bind-port 9090 & # or let blackd choose a port +curl -s -XPOST "localhost:9090" -d "print('valid')" +``` + ### Protocol `blackd` only accepts `POST` requests at the `/` path. The body of the request @@ -885,6 +905,9 @@ Apart from the above, `blackd` can produce the following response codes: - `HTTP 500`: If there was any kind of error while trying to format the input. The response body contains a textual representation of the error. +The response headers include a `X-Black-Version` header containing the version +of *Black*. + ## Version control integration Use [pre-commit](https://pre-commit.com/). Once you [have it @@ -892,7 +915,7 @@ installed](https://pre-commit.com/#install), add this to the `.pre-commit-config.yaml` in your repository: ```yaml repos: -- repo: https://github.com/python/black +- repo: https://github.com/psf/black rev: stable hooks: - id: black @@ -902,7 +925,7 @@ Then run `pre-commit install` and you're ready to go. Avoid using `args` in the hook. Instead, store necessary configuration in `pyproject.toml` so that editors and command-line usage of Black all -behave consistently for your project. See *Black*'s own `pyproject.toml` +behave consistently for your project. See *Black*'s own [pyproject.toml](/pyproject.toml) for an example. If you're already using Python 3.7, switch the `language_version` @@ -925,12 +948,17 @@ is: `file-mode` is an int flag that determines whether the file was formatted as 3.6+ only, as .pyi, and whether string normalization was omitted. +To override the location of these files on macOS or Linux, set the environment variable +`XDG_CACHE_HOME` to your preferred location. For example, if you want to put the cache in +the directory you're running *Black* from, set `XDG_CACHE_HOME=.cache`. *Black* will then +write the above files to `.cache/black//`. ## Used by The following notable open-source projects trust *Black* with enforcing a consistent code style: pytest, tox, Pyramid, Django Channels, Hypothesis, -attrs, SQLAlchemy, Poetry, PyPA applications (Warehouse, Pipenv, virtualenv). +attrs, SQLAlchemy, Poetry, PyPA applications (Warehouse, Pipenv, virtualenv), +pandas, Pillow, every Datadog Agent Integration. Are we missing anyone? Let us know. @@ -961,16 +989,16 @@ and [`pipenv`](https://docs.pipenv.org/): Use the badge in your project's README.md: ```markdown -[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black) +[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) ``` Using the badge in README.rst: ``` .. image:: https://img.shields.io/badge/code%20style-black-000000.svg - :target: https://github.com/python/black + :target: https://github.com/psf/black ``` -Looks like this: [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black) +Looks like this: [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) ## License @@ -996,7 +1024,7 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md). ## Change Log -### 19.5b0 +### unreleased * added `black -c` as a way to format code passed from the command line (#761) @@ -1008,6 +1036,8 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md). * fixed feature detection for trailing commas in function definitions and call sites (#763) +* *Black* can now format async generators (#593) + * *Black* no longer crashes on Windows machines with more than 61 cores (#838) @@ -1024,6 +1054,20 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md). * fixed bug that led *Black* format some code with a line length target of 1 (#762) +* *Black* no longer introduces quotes in f-string subexpressions on string + boundaries (#863) + +* if *Black* puts parenthesis around a single expression, it moves comments + to the wrapped expression instead of after the brackets (#872) + +* *Black* is now able to format Python code that uses assignment expressions + (`:=` as described in PEP-572) (#935) + +* *Black* is now able to format Python code that uses positional-only + arguments (`/` as described in PEP-570) (#946) + +* `blackd` now returns the version of *Black* in the response headers (#1013) + ### 19.3b0