X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/5a47fd13cc4c9f43270dd12c37577244c1eabfcc..8c74d7901fe8de0abd72a182d775b639b4202577:/README.md?ds=inline diff --git a/README.md b/README.md index 1570348..ed69cb8 100644 --- a/README.md +++ b/README.md @@ -342,6 +342,26 @@ In those cases, parentheses are removed when the entire statement fits in one line, or if the inner expression doesn't have any delimiters to further split on. Otherwise, the parentheses are always added. +### Call chains + +Some popular APIs, like ORMs, use call chaining. This API style is known +as a [fluent interface](https://en.wikipedia.org/wiki/Fluent_interface). +*Black* formats those treating dots that follow a call or an indexing +operation like a very low priority delimiter. It's easier to show the +behavior than to explain it. Look at the example:: +```py3 +def example(session): + result = ( + session.query(models.Customer.id) + .filter( + models.Customer.account_id == account_id, + models.Customer.email == email_address, + ) + .order_by(models.Customer.id.asc()) + .all() + ) +``` + ### Typing stub files PEP 484 describes the syntax for type hints in Python. One of the @@ -589,6 +609,8 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md). ### 18.5a0 (unreleased) +* call chains are now formatted according to the [fluent interfaces](https://en.wikipedia.org/wiki/Fluent_interface) style (#67) + * slices are now formatted according to PEP 8 (#178) * parentheses are now also managed automatically on the right-hand side @@ -609,8 +631,10 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md). * typing stub files (`.pyi`) are now formatted in a style that is consistent with PEP 484 (#207, #210) +* progress when reformatting many files is now reported incrementally + * fixed trailers (content with brackets) being unnecessarily exploded - into their own lines after a dedented closing bracket + into their own lines after a dedented closing bracket (#119) * fixed an invalid trailing comma sometimes left in imports (#185) @@ -626,6 +650,9 @@ More details can be found in [CONTRIBUTING](CONTRIBUTING.md). * fixed crash on dealing with optional parentheses (#193) +* fixed "is", "is not", "in", and "not in" not considered operators for + splitting purposes + * fixed crash when dead symlinks where encountered