X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/21ab37a5d92c866a289320cba7c4689df70b3342..de806405d2934b629d67e2a6317ad7e826765a20:/README.md?ds=sidebyside diff --git a/README.md b/README.md index 8df2f9e..cdd8a52 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -![Black Logo](https://raw.githubusercontent.com/ambv/black/master/docs/_static/logo2-readme.png) +![Black Logo](https://raw.githubusercontent.com/python/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.” @@ -73,10 +73,16 @@ black [OPTIONS] [SRC]... Options: -l, --line-length INTEGER How many characters per line to allow. [default: 88] - -t, --target-version [pypy35|cpy27|cpy33|cpy34|cpy35|cpy36|cpy37|cpy38] + -t, --target-version [py27|py33|py34|py35|py36|py37|py38] Python versions that should be supported by Black's output. [default: per-file auto- detection] + --py36 Allow using Python 3.6-only syntax on all + input files. This will put trailing commas + in function signatures and calls also after + *args and **kwargs. Deprecated; use + --target-version instead. [default: per-file + auto-detection] --pyi Format all input files like typing stubs regardless of file extension (useful when piping source on standard input). @@ -364,7 +370,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/ambv/black/issues/26) for details). +[#26](https://github.com/python/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). @@ -571,7 +577,7 @@ to denote a significant space character. ```toml [tool.black] line-length = 88 -target_version = ['cpy37'] +target-version = ['py37'] include = '\.pyi?$' exclude = ''' @@ -614,7 +620,7 @@ configuration from different levels of the file hierarchy. Use [proofit404/blacken](https://github.com/proofit404/blacken). -### PyCharm +### PyCharm/IntelliJ IDEA 1. Install `black`. @@ -638,27 +644,35 @@ $ where black %LocalAppData%\Programs\Python\Python36-32\Scripts\black.exe # possible location ``` -3. Open External tools in PyCharm with `File -> Settings -> Tools -> External Tools`. +3. Open External tools in PyCharm/IntelliJ IDEA + + On macOS: + +```PyCharm -> Preferences -> Tools -> External Tools``` + + On Windows / Linux / BSD: + +```File -> Settings -> Tools -> External Tools``` 4. Click the + icon to add a new external tool with the following values: - Name: Black - Description: Black is the uncompromising Python code formatter. - Program: - - Arguments: `$FilePath$` + - Arguments: `"$FilePath$"` 5. Format the currently opened file by selecting `Tools -> External Tools -> black`. - - Alternatively, you can set a keyboard shortcut by navigating to `Preferences -> Keymap -> External Tools -> External Tools - Black`. + - Alternatively, you can set a keyboard shortcut by navigating to `Preferences or Settings -> Keymap -> External Tools -> External Tools - Black`. 6. Optionally, run Black on every file save: 1. Make sure you have the [File Watcher](https://plugins.jetbrains.com/plugin/7177-file-watchers) plugin installed. - 2. Go to `Preferences -> Tools -> File Watchers` and click `+` to add a new watcher: + 2. Go to `Preferences or Settings -> Tools -> File Watchers` and click `+` to add a new watcher: - Name: Black - File type: Python - Scope: Project Files - Program: - Arguments: `$FilePath$` - - Output paths to refresh: `$FilePathRelativeToProjectRoot$` + - Output paths to refresh: `$FilePath$` - Working directory: `$ProjectFileDir$` - Uncheck "Auto-save edited files to trigger the watcher" @@ -680,16 +694,16 @@ Configuration: To install with [vim-plug](https://github.com/junegunn/vim-plug): ``` -Plug 'ambv/black' +Plug 'python/black' ``` or with [Vundle](https://github.com/VundleVim/Vundle.vim): ``` -Plugin 'ambv/black' +Plugin 'python/black' ``` -or you can copy the plugin from [plugin/black.vim](https://github.com/ambv/black/tree/master/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. @@ -761,7 +775,7 @@ The formatted code will be returned on stdout (unless `--check` was passed). *Black* will still emit messages on stderr but that shouldn't affect your use case. -This can be used for example with PyCharm's [File Watchers](https://www.jetbrains.com/help/pycharm/file-watchers.html). +This can be used for example with PyCharm's or IntelliJ's [File Watchers](https://www.jetbrains.com/help/pycharm/file-watchers.html). ## blackd @@ -817,8 +831,8 @@ The headers controlling how code is formatted are: - `X-Python-Variant`: if set to `pyi`, `blackd` will act as *Black* does when passed the `--pyi` command line flag. Otherwise, its value must correspond to a Python version or a set of comma-separated Python versions, optionally - prefixed with `cpy` or `pypy`. For example, to request code that is compatible - with PyPy 3.5 and CPython 3.5, set the header to `pypy3.5,cpy3.5`. + prefixed with `py`. For example, to request code that is compatible + with Python 3.5 and 3.6, set the header to `py3.5,py3.6`. If any of these headers are set to invalid values, `blackd` returns a `HTTP 400` error response, mentioning the name of the problematic header in the message body. @@ -842,7 +856,7 @@ installed](https://pre-commit.com/#install), add this to the `.pre-commit-config.yaml` in your repository: ```yaml repos: -- repo: https://github.com/ambv/black +- repo: https://github.com/python/black rev: stable hooks: - id: black @@ -902,16 +916,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/ambv/black) +[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black) ``` Using the badge in README.rst: ``` .. image:: https://img.shields.io/badge/code%20style-black-000000.svg - :target: https://github.com/ambv/black + :target: https://github.com/python/black ``` -Looks like this: [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) +Looks like this: [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black) ## License @@ -937,17 +951,45 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md). ## Change Log -### 19.2b0 +### 19.5b0 -* removed `--py36` (use `--target-version=cpy36` instead) (#724) +* don't produce invalid code for `from` ... `import` blocks with comments + (#829) -* long `del` statements are now split into multiple lines (#698) +* fix grammar selection (#765) -* *Black* no longer normalizes numeric literals to include `_` separators (#696) +* fix feature detection for trailing commas in function definitions and + call sites (#763) + +* fix bug that led *Black* format some code with a line length target of 1 + (#762) + +### 19.3b0 * new option `--target-version` to control which Python versions *Black*-formatted code should target (#618) +* deprecated `--py36` (use `--target-version=py36` instead) (#724) + +* *Black* no longer normalizes numeric literals to include `_` separators (#696) + +* long `del` statements are now split into multiple lines (#698) + +* type comments are no longer mangled in function signatures + +* improved performance of formatting deeply nested data structures (#509) + +* *Black* now properly formats multiple files in parallel on + Windows (#632) + +* *Black* now creates cache files atomically which allows it to be used + in parallel pipelines (like `xargs -P8`) (#673) + +* *Black* now correctly indents comments in files that were previously + formatted with tabs (#262) + +* `blackd` now supports CORS (#622) + ### 18.9b0 * numeric literals are now formatted by *Black* (#452, #461, #464, #469): @@ -1354,6 +1396,7 @@ Multiple contributions by: * [Christian Heimes](mailto:christian@python.org) * [Daniel M. Capella](mailto:polycitizen@gmail.com) * [Eli Treuherz](mailto:eli@treuherz.com) +* hauntsaninja * Hugo van Kemenade * [Ivan Katanić](mailto:ivan.katanic@gmail.com) * [Jonas Obrist](mailto:ojiidotch@gmail.com) @@ -1365,5 +1408,6 @@ Multiple contributions by: * [Peter Bengtsson](mailto:mail@peterbe.com) * [Stavros Korokithakis](mailto:hi@stavros.io) * [Sunil Kapil](mailto:snlkapil@gmail.com) +* [Utsav Shah](mailto:ukshah2@illinois.edu) * [Vishwas B Sharma](mailto:sharma.vishwas88@gmail.com) * [Chuck Wooters](mailto:chuck.wooters@microsoft.com)