]> 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 typo (#916)
[etc/vim.git] / README.md
index edf187fe7ed2343f8b0892242634bf5797bad7dc..dc93b37c6d75376cf5cee320c3d13652a4ad299f 100644 (file)
--- a/README.md
+++ b/README.md
@@ -28,6 +28,7 @@ content instead.
 possible.
 
 Try it out now using the [Black Playground](https://black.now.sh).
 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.
 
 ---
 
 
 ---
 
@@ -38,6 +39,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)** |
 **[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)** |
 **[Testimonials](#testimonials)** |
 **[Show your style](#show-your-style)** |
 **[Contributing](#contributing-to-black)** |
@@ -71,6 +73,7 @@ black {source_file_or_directory}
 black [OPTIONS] [SRC]...
 
 Options:
 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]
   -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 +139,7 @@ Options:
 
 ### NOTE: This is a beta product
 
 
 ### 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.
 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.
@@ -290,7 +293,7 @@ you are probably already using.  You'd do it like this:
 max-line-length = 80
 ...
 select = C,E,F,W,B,B950
 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.
 ```
 
 You'll find *Black*'s own .flake8 config file is configured like this.
@@ -617,7 +620,8 @@ configuration from different levels of the file hierarchy.
 
 ### Emacs
 
 
 ### 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
 
 
 ### PyCharm/IntelliJ IDEA
@@ -647,11 +651,11 @@ $ where black
 3. Open External tools in PyCharm/IntelliJ IDEA
 
   On macOS:
 3. Open External tools in PyCharm/IntelliJ IDEA
 
   On macOS:
-  
+
 ```PyCharm -> Preferences -> Tools -> External Tools```
 
   On Windows / Linux / BSD:
 ```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:
 ```File -> Settings -> Tools -> External Tools```
 
 4. Click the + icon to add a new external tool with the following values:
@@ -663,7 +667,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`.
 
 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:
 
     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 +680,38 @@ $ where black
         - Working directory: `$ProjectFileDir$`
        - Uncheck "Auto-save edited files to trigger the watcher"
 
         - 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:
 ### Vim
 
 Commands and shortcuts:
@@ -808,6 +844,14 @@ Options:
   -h, --help                      Show this message and exit.
 ```
 
   -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
 ### Protocol
 
 `blackd` only accepts `POST` requests at the `/` path. The body of the request
@@ -866,7 +910,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
 
 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`
 for an example.
 
 If you're already using Python 3.7, switch the `language_version`
@@ -889,6 +933,20 @@ 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.
 
 `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),
+every Datadog Agent Integration.
+
+Are we missing anyone?  Let us know.
+
 
 ## Testimonials
 
 
 ## Testimonials
 
@@ -951,18 +1009,42 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md).
 
 ## Change Log
 
 
 ## Change Log
 
-### 19.3b1
+### unreleased
+
+* added `black -c` as a way to format code passed from the command line
+  (#761)
+
+* --safe now works with Python 2 code (#840)
 
 
-* don't produce invalid code for `from` ... `import` blocks with comments
+* fixed grammar selection for Python 2-specific code (#765)
+
+* 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)
+
+* *Black* no longer crashes on standalone comments prepended with
+  a backslash (#767)
+
+* *Black* no longer crashes on `from` ... `import` blocks with comments
   (#829)
 
   (#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)
+
+* 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)
 
 
-* fix bug that led *Black* format some code with a line length target of 1
-  (#762)
 
 ### 19.3b0
 
 
 ### 19.3b0
 
@@ -990,6 +1072,7 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md).
 
 * `blackd` now supports CORS (#622)
 
 
 * `blackd` now supports CORS (#622)
 
+
 ### 18.9b0
 
 * numeric literals are now formatted by *Black* (#452, #461, #464, #469):
 ### 18.9b0
 
 * numeric literals are now formatted by *Black* (#452, #461, #464, #469):
@@ -1393,12 +1476,14 @@ Maintained with [Carol Willing](mailto:carolcode@willingconsulting.com),
 Multiple contributions by:
 * [Anthony Sottile](mailto:asottile@umich.edu)
 * [Artem Malyshev](mailto:proofit404@gmail.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)
 * [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)
 * [Jonas Obrist](mailto:ojiidotch@gmail.com)
 * [Luka Sterbic](mailto:luka.sterbic@gmail.com)
 * [Miguel Gaiowski](mailto:miggaiowski@gmail.com)