X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/129ebd53a66b4a8069321742aeecfafb44c76fd9..866be066463fc8fd01c16559596641f6ead1e797:/README.md diff --git a/README.md b/README.md index 2574c55..6635675 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.” @@ -38,6 +38,7 @@ Try it out now using the [Black Playground](https://black.now.sh). **[blackd](#blackd)** | **[Version control integration](#version-control-integration)** | **[Ignoring unmodified files](#ignoring-unmodified-files)** | +**[Used by](#used-by)** | **[Testimonials](#testimonials)** | **[Show your style](#show-your-style)** | **[Contributing](#contributing-to-black)** | @@ -71,6 +72,7 @@ black {source_file_or_directory} black [OPTIONS] [SRC]... Options: + -c, --code TEXT Format the code passed in as a string. -l, --line-length INTEGER How many characters per line to allow. [default: 88] -t, --target-version [py27|py33|py34|py35|py36|py37|py38] @@ -136,7 +138,7 @@ Options: ### NOTE: This is a beta product -*Black* is already successfully used by several projects, small and big. +*Black* is already [successfully used](#used-by) by many projects, small and big. It also sports a decent test suite. However, it is still very new. Things will probably be wonky for a while. This is made explicit by the "Beta" trove classifier, as well as by the "b" in the version number. @@ -370,7 +372,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). @@ -577,7 +579,7 @@ to denote a significant space character. ```toml [tool.black] line-length = 88 -target_version = ['py37'] +target-version = ['py37'] include = '\.pyi?$' exclude = ''' @@ -617,7 +619,8 @@ configuration from different levels of the file hierarchy. ### Emacs -Use [proofit404/blacken](https://github.com/proofit404/blacken). +Use [proofit404/blacken](https://github.com/proofit404/blacken) or +[Elpy](https://github.com/jorgenschaefer/elpy). ### PyCharm/IntelliJ IDEA @@ -647,11 +650,11 @@ $ where black 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: @@ -663,7 +666,7 @@ $ where black 5. Format the currently opened file by selecting `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: +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 or Settings -> Tools -> File Watchers` and click `+` to add a new watcher: @@ -676,6 +679,38 @@ $ where black - Working directory: `$ProjectFileDir$` - Uncheck "Auto-save edited files to trigger the watcher" + + +### 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: + +1. Install `black`. + +```console +$ pip install black +``` + +2. Make sure it runs from the command line, e.g. + +```console +$ black --help +``` + +3. In Wing IDE, activate the **OS Commands** panel and define the command **black** to execute black on the currently selected file: + +- Use the Tools -> OS Commands menu selection +- click on **+** in **OS Commands** -> New: Command line.. + - Title: black + - Command Line: black %s + - I/O Encoding: Use Default + - Key Binding: F1 + - [x] Raise OS Commands when executed + - [x] Auto-save files before execution + - [x] Line mode + +4. Select a file in the editor and press **F1** , or whatever key binding you selected in step 3, to reformat the file. + ### Vim Commands and shortcuts: @@ -694,16 +729,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. @@ -856,7 +891,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 @@ -890,6 +925,15 @@ is: as .pyi, and whether string normalization was omitted. +## 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). + +Are we missing anyone? Let us know. + + ## Testimonials **Dusty Phillips**, [writer](https://smile.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=dusty+phillips): @@ -916,16 +960,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 @@ -951,6 +995,27 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md). ## Change Log +### 19.5b0 + +* don't crash when run on a Windows machine with more than 61 cores (#838) + +* remove unnecessary parentheses around `yield` expressions (#834) + +* add parentheses around long tuples in unpacking assignments (#832) + +* don't produce invalid code for `from` ... `import` blocks with comments + (#829) + +* fix grammar selection (#765) + +* fix feature detection for trailing commas in function definitions and + call sites (#763) + +* add `black -c` as a way to format code passed from the command line (#761) + +* 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