]> 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:

[blib2to3] Fixed a typo and removed an unused import. (#848)
[etc/vim.git] / README.md
index cdd8a52e31f44e7cedd304412024b0e5fa5e8de7..76b7d7cafd770cb410071035861975fce5ed338e 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).
+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)** |
+**[Used by](#used-by)** |
 **[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:
+  -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 +139,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.
@@ -617,7 +620,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 +651,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 +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`.
 
-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 +680,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:
@@ -808,6 +844,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
@@ -889,6 +933,19 @@ 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).
+
+Are we missing anyone?  Let us know.
+
 
 ## Testimonials
 
@@ -953,16 +1010,37 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md).
 
 ### 19.5b0
 
-* don't produce invalid code for `from` ... `import` blocks with comments
+* 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)
+
+* *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)
 
-* fix grammar selection (#765)
+* removed unnecessary parentheses around `yield` expressions (#834)
+
+* added parentheses around long tuples in unpacking assignments (#832)
 
-* fix feature detection for trailing commas in function definitions and
-  call sites (#763)
+* 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)
 
-* fix bug that led *Black* format some code with a line length target of 1
-  (#762)
 
 ### 19.3b0
 
@@ -990,6 +1068,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):
@@ -1393,12 +1472,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)