]> git.madduck.net Git - etc/vim.git/blobdiff - README.md

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

fix CI (#1078)
[etc/vim.git] / README.md
index 6635675fa085039bdaf4068311faa1ac79f7a99f..3ef758fe78e22864f977b5e7ce92e934fbb399c0 100644 (file)
--- 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)
 <h2 align="center">The Uncompromising Code Formatter</h2>
 
 <p align="center">
-<a href="https://travis-ci.org/python/black"><img alt="Build Status" src="https://travis-ci.org/python/black.svg?branch=master"></a>
+<a href="https://travis-ci.com/psf/black"><img alt="Build Status" src="https://travis-ci.com/psf/black.svg?branch=master"></a>
 <a href="https://black.readthedocs.io/en/stable/?badge=stable"><img alt="Documentation Status" src="https://readthedocs.org/projects/black/badge/?version=stable"></a>
-<a href="https://coveralls.io/github/python/black?branch=master"><img alt="Coverage Status" src="https://coveralls.io/repos/github/python/black/badge.svg?branch=master"></a>
-<a href="https://github.com/python/black/blob/master/LICENSE"><img alt="License: MIT" src="https://black.readthedocs.io/en/stable/_static/license.svg"></a>
+<a href="https://coveralls.io/github/psf/black?branch=master"><img alt="Coverage Status" src="https://coveralls.io/repos/github/psf/black/badge.svg?branch=master"></a>
+<a href="https://github.com/psf/black/blob/master/LICENSE"><img alt="License: MIT" src="https://black.readthedocs.io/en/stable/_static/license.svg"></a>
 <a href="https://pypi.org/project/black/"><img alt="PyPI" src="https://black.readthedocs.io/en/stable/_static/pypi.svg"></a>
 <a href="https://pepy.tech/project/black"><img alt="Downloads" src="https://pepy.tech/badge/black"></a>
-<a href="https://github.com/python/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
+<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
 </p>
 
 > “Any color you like.”
@@ -28,6 +28,7 @@ content instead.
 possible.
 
 Try it out now using the [Black Playground](https://black.now.sh).
+Watch the [PyCon 2019 talk](https://youtu.be/esZLCuWs_2Y) to learn more.
 
 ---
 
@@ -177,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
@@ -292,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".
@@ -372,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).
@@ -681,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:
 
@@ -703,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
@@ -724,21 +725,27 @@ Configuration:
 * `g:black_fast` (defaults to `0`)
 * `g:black_linelength` (defaults to `88`)
 * `g:black_skip_string_normalization` (defaults to `0`)
-* `g:black_virtualenv` (defaults to `~/.vim/black`)
+* `g:black_virtualenv` (defaults to `~/.vim/black` or `~/.local/share/nvim/black`)
 
 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.
 
@@ -761,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 <F9> :Black<CR>
+```
+
 **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`.
@@ -797,6 +810,14 @@ the [Python Language Server](https://github.com/palantir/python-language-server)
 
 Use [python-black](https://atom.io/packages/python-black).
 
+### Kakoune 
+
+Add the following hook to your kakrc, then run black with `:format`.
+```
+hook global WinSetOption filetype=python %{
+    set-option window formatcmd 'black -q  -'
+}
+``` 
 
 ### Other editors
 
@@ -843,6 +864,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
@@ -884,6 +913,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
@@ -891,7 +923,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
@@ -901,7 +933,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`
@@ -924,12 +956,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/<version>/`.
 
 ## 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.
 
@@ -960,16 +997,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
@@ -995,26 +1032,50 @@ 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)
+
+* --safe now works with Python 2 code (#840)
+
+* fixed grammar selection for Python 2-specific code (#765)
+
+* fixed feature detection for trailing commas in function definitions
+  and call sites (#763)
 
-* don't crash when run on a Windows machine with more than 61 cores (#838)
+* *Black* can now format async generators (#593)
 
-* remove unnecessary parentheses around `yield` expressions (#834)
+* *Black* no longer crashes on Windows machines with more than 61 cores
+  (#838)
 
-* add parentheses around long tuples in unpacking assignments (#832)
+* *Black* no longer crashes on standalone comments prepended with
+  a backslash (#767)
 
-* don't produce invalid code for `from` ... `import` blocks with comments
+* *Black* no longer crashes on `from` ... `import` blocks with comments
   (#829)
 
-* fix grammar selection (#765)
+* removed unnecessary parentheses around `yield` expressions (#834)
 
-* fix feature detection for trailing commas in function definitions and
-  call sites (#763)
+* added parentheses around long tuples in unpacking assignments (#832)
 
-* add `black -c` as a way to format code passed from the command line (#761)
+* 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)
 
-* fix bug that led *Black* format some code with a line length target of 1
-  (#762)
 
 ### 19.3b0
 
@@ -1042,6 +1103,7 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md).
 
 * `blackd` now supports CORS (#622)
 
+
 ### 18.9b0
 
 * numeric literals are now formatted by *Black* (#452, #461, #464, #469):
@@ -1445,12 +1507,14 @@ Maintained with [Carol Willing](mailto:carolcode@willingconsulting.com),
 Multiple contributions by:
 * [Anthony Sottile](mailto:asottile@umich.edu)
 * [Artem Malyshev](mailto:proofit404@gmail.com)
+* [Benjamin Woodruff](mailto:github@benjam.info)
 * [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)
+* [Jason Fried](mailto:me@jasonfried.info)
 * [Jonas Obrist](mailto:ojiidotch@gmail.com)
 * [Luka Sterbic](mailto:luka.sterbic@gmail.com)
 * [Miguel Gaiowski](mailto:miggaiowski@gmail.com)