Commit Graph

224 Commits

Author SHA1 Message Date
Zsolt Dollenstein
efcd039482 Fix string normalization eating all backslashes above 3 2018-06-10 09:44:41 +01:00
Łukasz Langa
2228890d62 Cache child sibling lookups
Removes catastrophically quadratic behavior on nodes with very many siblings.
2018-06-09 18:52:46 -07:00
Łukasz Langa
d240ca25ea Make is_complex_subscript() ignore list literals
This fixes catastrophically quadratic behavior on long lists.
2018-06-09 16:04:09 -07:00
Zsolt Dollenstein
5d0a469e8e Fix string normalization sometimes producing invalid fstrings (#327) 2018-06-09 12:30:49 -07:00
Łukasz Langa
5623581e09 Update README with missing Change Log entries 2018-06-08 12:05:44 -07:00
Łukasz Langa
8482d38fb4 Return early from comment placement calculation on lines without comments 2018-06-08 12:00:53 -07:00
Zsolt Dollenstein
7f3678885f fix handling of empty triple quoted strings (#314) 2018-06-07 11:41:34 -07:00
Łukasz Langa
82d09eda09 Fix link 2018-06-06 17:29:31 -07:00
Łukasz Langa
7ba4725993 Trim TOC to fit in two lines again 2018-06-06 17:07:07 -07:00
Łukasz Langa
489d00ed8f Support pyproject.toml
Fixes #65
2018-06-06 17:02:10 -07:00
Łukasz Langa
92a150d9e4 Fix improper unmodified file caching when -S was used
This will also future-proof the cache to changes to FileMode.
2018-06-06 15:46:30 -07:00
Matthew Walster
e5f5d54a22 vim: add "--skip-string-normalization" support (#310)
Since 18.6b0 was released, there has been a new option to skip string
normalization when Black is called, but it wasn't able to be specified
from within the vim plugin. This commit adds that functionality.

Tested with g:black_skip_string_normalization set to 0 (off) and 1 (on).
2018-06-06 15:45:17 -07:00
Brett Cannon
4ad7c9c107 List the Python extension for VS Code as an editor integration (#308) 2018-06-06 15:40:44 -07:00
Hugo
9e9ee449b4 Link to GitHub + HTTPS + typos (#303)
* Link to GitHub, update 3.6 minor version

* http -> https

* Fix typos

* The Black style for Black, the project, is italics
2018-06-06 09:50:08 -07:00
Peter Bengtsson
8406fcd9af correct email for Peter Bengtsson (#302) 2018-06-05 17:48:53 -07:00
Łukasz Langa
26b92e66ac acks += beterbe 2018-06-05 10:10:15 -07:00
Łukasz Langa
ed50737290 18.6b1 2018-06-05 09:49:06 -07:00
Łukasz Langa
d638d56e0e Fix unnecessary parentheses when a line contains multiline strings
Fixes #232
2018-06-04 21:27:51 -07:00
Łukasz Langa
23a00f0515 Fix long trivial assignments being wrapped in unnecessary parentheses
Fixes #273
2018-06-04 20:24:50 -07:00
Łukasz Langa
728e5a2f1e Properly format unified diff
Previously we weren't using timestamps.
2018-06-04 18:07:03 -07:00
Zsolt Dollenstein
00a302560b Preserve line endings when formatting a file in place (#288) 2018-06-04 15:52:06 -07:00
Łukasz Langa
4c352ad4be Add --verbose and report excluded paths in it, too
Fixes #283
2018-06-04 12:09:18 -07:00
Anthony Sottile
ecb3d8c472 python_version => language_version (#296)
Noticed this in `pytest`'s config -- `python_version` isn't a thing :D
2018-06-03 11:46:59 -07:00
Łukasz Langa
435aa7ac4a Reorder command-line options 2018-05-31 19:24:09 -07:00
Mika⠙
51756a405c Added --include and --exclude cli options (#281)
These 2 options allow you to pass in regular expressions that determine
whether files/directories are included or excluded in the recursive file
search.

Fixes #270
2018-05-31 17:51:15 -07:00
Łukasz Langa
1b189f6cde acks += Stavros; document fix, add to Pipfile 2018-05-31 10:53:26 -07:00
Łukasz Langa
8ebbd26888 Add --skip-string-normalization
Fixes #118
2018-05-30 12:56:16 -07:00
LukasDrude
608019dffb Improve doc regarding PyCharm keyboard shortcut (#271) 2018-05-29 14:50:15 -07:00
Łukasz Langa
b2067aabbf 18.5b1 2018-05-29 02:07:09 -07:00
Łukasz Langa
059cb12270 Change minor whitespace in "Usage" 2018-05-29 02:04:57 -07:00
Łukasz Langa
ad01a51868 Mention fix for #196 in the README 2018-05-29 01:12:16 -07:00
Łukasz Langa
2057bf6fae Clean up PEP 257 support
I documented the new behavior, added it to the change log, greatly expanded
tests, added support for inner defs and classes, and added Luka to ACKS.

Fixes #196
2018-05-29 00:47:52 -07:00
Łukasz Langa
6d924b01e4 Reword isort configuration, add --combine-as 2018-05-28 23:16:01 -07:00
Jason Friedland
d320e283aa Add isort args to README (#268) 2018-05-28 23:06:02 -07:00
Mahmoud Hossam
fd9bd07fe5 Add instructions for running Black on save in Vim (#255) 2018-05-26 13:01:17 -07:00
Łukasz Langa
bbed104e6d Reword --pyi and --py36 documentation 2018-05-23 11:52:41 -07:00
Carl Meyer
230f1d277c
Update changelog for PR 249. 2018-05-23 12:13:13 -06:00
wouter bolsterlee
c7bc22388d tweak grammar in docs about fluent interfaces (#247)
...to make the sentence a bit easier to understand.
2018-05-22 08:54:28 -07:00
Łukasz Langa
658eb7161d Fix unstable formatting on trailers omitted from line splitting with comments
Fixes #238
2018-05-22 00:38:31 -07:00
Łukasz Langa
9a6c88c7f4 Fix invalid code on stars in long from-imports being wrapped in parentheses
Fixes #234
2018-05-21 16:37:29 -07:00
Łukasz Langa
808754af18 Fix optional parentheses being removed within # fmt: off sections
Fixes #224
2018-05-21 15:21:14 -07:00
Hugo
86e1c36507 Sentence case (#242) 2018-05-21 13:20:41 -07:00
Łukasz Langa
91de9ea6e3 Fix invalid code in an omitted trailer on large expressions
Fixes #237
2018-05-21 12:29:36 -07:00
Łukasz Langa
f1f12284e0 Mention fix for pickle files 2018-05-21 11:22:08 -07:00
Carol Willing
5fd1e91bff Add navigation (#229) 2018-05-21 09:58:04 -07:00
Hugo
34646945e7 README updates (#235)
* Consistent titles in 'Sentence case'
* Add console Markdown formatting
* Fix macOS typos
* Fix Homebrew typo
2018-05-20 09:50:41 -07:00
Łukasz Langa
7395f55564 18.5b0 2018-05-17 17:32:43 -07:00
Łukasz Langa
180bc06ede Don't explode a one-element collection ending with a comma. 2018-05-17 17:32:43 -07:00
Łukasz Langa
dd4477b701 Always explode data structure literals
Fixes #152
2018-05-17 17:32:43 -07:00
Łukasz Langa
dafa12f10b Consistent empty lines in the README 2018-05-17 17:32:43 -07:00
Hynek Schlawack
e94bda11c3 Fix double colon (#216) 2018-05-16 23:38:47 -04:00
Łukasz Langa
3ad0f5855c Fix multiline strings unnecessarily wrapped in optional parentheses
Fixes #215
2018-05-16 19:19:48 -07:00
Łukasz Langa
665ed8a240 Explain automatic parentheses management better 2018-05-16 15:26:36 -07:00
Łukasz Langa
8c74d7901f Implement fluent interfaces
Fixes #67
2018-05-16 15:21:40 -07:00
Łukasz Langa
1dadeef47a Consider in, not in, is, is not operators 2018-05-16 14:46:43 -07:00
Łukasz Langa
96e68f0341 Report progress on multiple files incrementally 2018-05-16 11:45:32 -07:00
Łukasz Langa
b4cee97c99 Link fix to issue 2018-05-15 22:15:28 -07:00
Łukasz Langa
5a47fd13cc Don't use optional parentheses in unnecessary situations
If an expression starts or ends with a bracket and only contains a single
delimiter, don't wrap it in additional optional parentheses.  We can use the
brackets for the split.

Fixes #177

Fixes #193
2018-05-15 22:13:16 -07:00
Łukasz Langa
2b3206dc23 Document .pyi formatting 2018-05-15 13:05:19 -07:00
Łukasz Langa
3eab6d3131 acks += miggaiowski 2018-05-15 01:08:51 -07:00
Łukasz Langa
3eea3aad86 Don't explode trailers that fit in a single line 2018-05-15 01:05:39 -07:00
Łukasz Langa
5db5697eb1 acks += JelleZijlstra 2018-05-15 01:05:39 -07:00
jose nazario
0da97417ed fix a spelling typo (#206) 2018-05-12 18:44:30 +01:00
Łukasz Langa
262230a13b Document string prefix standardization 2018-05-09 15:45:38 -07:00
Vishwas B Sharma
2c6413f2b2 Adding Jupyter Notebook magic command (#200) 2018-05-09 18:26:56 -04:00
Łukasz Langa
32e2f20e9a Show badge for stable docs, not latest 2018-05-09 00:07:27 -07:00
Łukasz Langa
e400fe8582 Clarify language in README 2018-05-08 21:57:09 -07:00
Łukasz Langa
793450aeb0 Automatic management of parentheses in assignments
Fixes #140

Note: this is an evolution but the end result needs to be different.  See
cantfit.py for some good examples on bad formatting caused by this change.
2018-05-08 21:57:09 -07:00
Łukasz Langa
7811f957f3 Delimit multiline expressions according to math operator priority
Fixes #148
2018-05-08 21:57:09 -07:00
Łukasz Langa
1747c388bb Discover whether a file is Python 3.6+ also by stars in calls
Fixes a pathological situation where if a function signature used a trailing
comma but was later reformatted to a single line (with the trailing comma
removed), Black would change its mind whether a file is Python
3.6-compatible between runs.
2018-05-08 21:57:09 -07:00
Łukasz Langa
0967dfcbeb Don't fail the entire right_hand_split if an optional split failed
Fixes splitting long import lines with only a single name.
2018-05-08 10:11:16 -07:00
Łukasz Langa
cfb003f51c Make parentheses invisible recursively in atoms
This fixes non-deterministic formatting when multiple pairs of removable
parentheses are used.

Fixes #183
2018-05-07 11:13:55 -07:00
Łukasz Langa
c6a6cfd3a2 Update README (change log; acks += skapil; acks += tiran) 2018-05-07 10:29:37 -07:00
Łukasz Langa
21ccf44b27 More detailed isort configuration explanation 2018-05-07 10:10:54 -07:00
David Szotten
e84dee52d9 Should this be "_cede_ control" (#187) 2018-05-02 20:25:23 -07:00
Zsolt Dollenstein
9f096d5536 Format subscriptions in a PEP-8 compliant way (#178)
Fixes #157
2018-04-30 22:49:30 -07:00
Łukasz Langa
0f3ecb7e50 18.4a4 hotfix: don't populate the cache on --check
Fixes #175
2018-04-27 14:04:46 -07:00
Łukasz Langa
25abcea6c5 Reword inspiration
Fixes #167
2018-04-26 17:13:17 -07:00
Łukasz Langa
1445bea97e 18.4a3 2018-04-24 13:52:12 -07:00
Łukasz Langa
09f5ee3a19 Split imports like isort
Fixes #127

Partially addresses #152
2018-04-24 13:44:28 -07:00
Łukasz Langa
b250aed47b Do not enforce empty lines after control flow statements
Fixes #90
2018-04-24 12:42:46 -07:00
Łukasz Langa
9d671bdbe1 Split ternary expressions
Fixes #141
2018-04-24 12:21:56 -07:00
Jonas Obrist
92957a41e3 Make cache work with non-default line lenghts (#163) 2018-04-24 11:56:50 -07:00
Łukasz Langa
52fda8b0e9 Support sticky standalone comments (comments preceding defs, classes, and decorators)
Fixes #56
Fixes #154
2018-04-24 11:50:31 -07:00
Josh Holland
337a4199f9 Add install instructions for Vim plugin (#131) 2018-04-24 09:36:28 -07:00
Łukasz Langa
2ba1d7ef7a Improve change log message 2018-04-23 16:17:12 -07:00
Łukasz Langa
54d707e10a Allow standalone comments to close code blocks
Fixes #16
Fixes #32
2018-04-23 16:17:12 -07:00
Łukasz Langa
06e95b1e9b Show full path on diffs
Fixes #130
2018-04-23 12:00:03 -07:00
Łukasz Langa
2e52a2b3ec acks += csurfer 2018-04-23 11:48:58 -07:00
Łukasz Langa
d73166c42b Move delimiter token skipping to BracketTracker
Also, added lambda argument delimiter skipping.

Fixes #133
2018-04-21 15:08:36 -07:00
Jonas Obrist
5cfea54c15 fixed cache file location in readme (#150) 2018-04-21 12:15:13 -07:00
Łukasz Langa
e00e3d5bb2 acks += ojii 2018-04-18 22:17:18 -07:00
Jonas Obrist
639b62dcd3 Added caching (#136)
Black will cache already formatted files using their file size and
modification timestamp. The cache is per-user and will always be used
unless Black is used with --diff or with code provided via standard
input.
2018-04-18 17:27:07 -07:00
jgirardet
f7fd36b228 add sublack plugin for sublimetext (#137) 2018-04-17 13:24:29 -07:00
Zsolt Dollenstein
68cc9786d3 Add changelog entry 2018-04-17 20:46:40 +01:00
Łukasz Langa
a764f1bb3b Generalize star expression handling
Fixes #132
2018-04-16 01:34:15 -07:00
Łukasz Langa
f294cc272c 18.4a2 2018-04-13 12:06:40 -07:00
Zsolt Dollenstein
2104b7cdcb Handle unnecessarily escaped strings (#128) 2018-04-13 11:31:23 -07:00
Łukasz Langa
c071af761e Consistent empty lines in Change Log 2018-04-11 23:36:50 -07:00
Łukasz Langa
51635ef68c Advertise Windows support in Vim plugin 2018-04-11 23:29:57 -07:00