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

use blackrelease github user for uploading release artifacts
[etc/vim.git] / README.md
index c26ef16dc694ed65755862dfc9fe1f291b852327..18798491f3e7487ee9b01582107239f528a8b54d 100644 (file)
--- a/README.md
+++ b/README.md
@@ -81,6 +81,8 @@ Options:
                               source on standard input).
   -S, --skip-string-normalization
                               Don't normalize string quotes or prefixes.
+  -N, --skip-numeric-underscore-normalization
+                              Don't normalize underscores in numeric literals.                       
   --check                     Don't write the files back, just return the
                               status.  Return code 0 means nothing would
                               change.  Return code 1 means some files would be
@@ -99,7 +101,7 @@ Options:
                               recursive searches. On Windows, use forward
                               slashes for directories.  [default:
                               build/|buck-out/|dist/|_build/|\.git/|\.hg/|
-                              \.mypy_cache/|\.tox/|\.venv/]
+                              \.mypy_cache/|\.nox/|\.tox/|\.venv/]
   -q, --quiet                 Don't emit non-error messages to stderr. Errors
                               are still emitted, silence those with
                               2>/dev/null.
@@ -141,7 +143,8 @@ original.  This slows it down.  If you're feeling confident, use
 
 *Black* reformats entire files in place.  It is not configurable.  It
 doesn't take previous formatting into account.  It doesn't reformat
-blocks that start with `# fmt: off` and end with `# fmt: on`.  It also
+blocks that start with `# fmt: off` and end with `# fmt: on`. `# fmt: on/off`
+have to be on the same level of indentation. It also
 recognizes [YAPF](https://github.com/google/yapf)'s block comments to
 the same effect, as a courtesy for straddling code.
 
@@ -277,7 +280,8 @@ ignore = E501
 ```
 
 You'll find *Black*'s own .flake8 config file is configured like this.
-If you're curious about the reasoning behind B950, Bugbear's documentation
+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".
 
@@ -374,12 +378,18 @@ an adoption helper, avoid using this for new projects.
 
 ### Numeric literals
 
-*Black* standardizes most numeric literals to use lowercase letters: `0xab`
+*Black* standardizes most numeric literals to use lowercase letters for the
+syntactic parts and uppercase letters for the digits themselves: `0xAB`
 instead of `0XAB` and `1e10` instead of `1E10`. Python 2 long literals are
 styled as `2L` instead of `2l` to avoid confusion between `l` and `1`. In
 Python 3.6+, *Black* adds underscores to long numeric literals to aid
 readability: `100000000` becomes `100_000_000`.
 
+For regions where numerals are grouped differently (like [India](https://en.wikipedia.org/wiki/Indian_numbering_system)
+and [China](https://en.wikipedia.org/wiki/Chinese_numerals#Whole_numbers)),
+the `-N` or `--skip-numeric-underscore-normalization` command line option
+makes *Black* preserve underscores in numeric literals.
+
 ### Line breaks & binary operators
 
 *Black* will break a line before a binary operator when splitting a block
@@ -538,6 +548,8 @@ other file.
 If you're running with `--verbose`, you will see a blue message if
 a file was found and used.
 
+Please note `blackd` will not use `pyproject.toml` configuration. 
+
 
 ### Configuration format
 
@@ -795,6 +807,8 @@ The headers controlling how code is formatted are:
  - `X-Skip-String-Normalization`: corresponds to the `--skip-string-normalization`
     command line flag. If present and its value is not the empty string, no string
     normalization will be performed.
+ - `X-Skip-Numeric-Underscore-Normalization`: corresponds to the
+    `--skip-numeric-underscore-normalization` command line flag.
  - `X-Fast-Or-Safe`: if set to `fast`, `blackd` will act as *Black* does when
     passed the `--fast` command line flag.
  - `X-Python-Variant`: if set to `pyi`, `blackd` will act as *Black* does when
@@ -919,39 +933,48 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md).
 
 ## Change Log
 
-### 18.8b0
+### 18.9b0
 
-* added `blackd`, see [its documentation](#blackd) for more info (#349)
+* numeric literals are now formatted by *Black* (#452, #461, #464, #469):
 
-* adjacent string literals are now correctly split into multiple lines (#463)
+  * numeric literals are normalized to include `_` separators on Python 3.6+ code
 
-* added `blackd`, see [its documentation](#blackd) for more info (#349)
+  * added `--skip-numeric-underscore-normalization` to disable the above behavior and
+    leave numeric underscores as they were in the input
 
-* code with `_` in numeric literals is recognized as Python 3.6+ (#461)
+  * code with `_` in numeric literals is recognized as Python 3.6+
 
-* numeric literals are now formatted by *Black* (#452, #461, #464, #469):
+  * most letters in numeric literals are lowercased (e.g., in `1e10`, `0x01`)
 
-  * numeric literals are normalized to include `_` separators on Python 3.6+ code
+  * hexadecimal digits are always uppercased (e.g. `0xBADC0DE`)
 
-  * code with `_` in numeric literals is recognized as Python 3.6+
+* added `blackd`, see [its documentation](#blackd) for more info (#349)
 
-  * most letters in numeric literals are lowercased (e.g., in `1e10` or `0xab`)
+* adjacent string literals are now correctly split into multiple lines (#463)
+
+* trailing comma is now added to single imports that don't fit on a line (#250)
 
 * cache is now populated when `--check` is successful for a file which speeds up
   consecutive checks of properly formatted unmodified files (#448)
 
+* whitespace at the beginning of the file is now removed (#399)
+
+* fixed mangling [pweave](http://mpastell.com/pweave/) and
+  [Spyder IDE](https://pythonhosted.org/spyder/) special comments (#532)
+
+* fixed unstable formatting when unpacking big tuples (#267)
+
 * fixed parsing of `__future__` imports with renames (#389)
 
 * fixed scope of `# fmt: off` when directly preceding `yield` and other nodes (#385)
 
-* note: the Vim plugin stopped registering ``,=`` as a default chord as it turned out
-  to be a bad idea (#415)
-
 * fixed formatting of lambda expressions with default arguments (#468)
 
-* *Black* no longer breaks ``async for`` statements up to separate lines (#372)
+* fixed ``async for`` statements: *Black* no longer breaks them into separate
+  lines (#372)
 
-* fixed unstable formatting when unpacking big tuples (#267)
+* note: the Vim plugin stopped registering ``,=`` as a default chord as it turned out
+  to be a bad idea (#415)
 
 
 ### 18.6b4