Ł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
Vishwas B Sharma
29e97d1d4a
[ #154 ] Handle comments between decorators properly ( #166 )
2018-04-24 09:38: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
Zsolt Dollenstein
c012c70176
Fix tests on windows ( #159 )
2018-04-23 11:23:36 -07:00
Vishwas B Sharma
5e1e1a1820
[ #149 ] Make check and diff not mutually exclusive ( #161 )
...
Fixes #149 .
2018-04-23 11:23:11 -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
Łukasz Langa
8429f3a63b
Revert format_file_in_place()
and format_stdin_to_stdout()
to return bools
...
`Changed.CACHED` is meaningless for those two functions.
2018-04-18 17:46:03 -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
Zsolt Dollenstein
5192ed484b
Parse complex expressions in parameters after * and **
2018-04-17 20:34:02 +01:00
Łukasz Langa
a764f1bb3b
Generalize star expression handling
...
Fixes #132
2018-04-16 01:34:15 -07:00
Zsolt Dollenstein
2104b7cdcb
Handle unnecessarily escaped strings ( #128 )
2018-04-13 11:31:23 -07:00
Zsolt Dollenstein
8e7848c63e
Open temporary files with utf-8 encoding ( #126 )
...
This is not the default on Windows.
2018-04-12 11:19:21 -07:00
Łukasz Langa
19d69b34e5
Fix placement of dictionary unpacking inside dict literals
...
Fixes #111
2018-04-11 23:22:22 -07:00
Łukasz Langa
9138a75b75
Fix parsing of unaligned standalone comments
...
Fixes #99
Fixes #112
2018-04-11 23:22:22 -07:00
Łukasz Langa
cf8e998f46
Don't omit escaping the second consecutive quote
...
This would produce invalid code for strings like `"x = ''; y = \"\""`.
2018-04-11 16:25:47 -07:00
Łukasz Langa
cb5aadad74
Automatic parentheses management
...
Fixes #4
2018-04-11 01:36:18 -07:00
Zsolt Dollenstein
ecdbf085a7
Add support for all valid string literals ( #115 )
2018-04-09 14:36:40 -07:00
Łukasz Langa
e36b8c71bb
[blib2to3] Support non-ASCII identifiers
...
This support isn't *exactly* right per PEP 3131 as the regex engine is a bit
too limited for that and I didn't want to spend time on Other_ID_Start and
Other_ID_Continue unless they're actually needed.
Hopefully this doesn't slow it down too much.
2018-04-05 02:29:01 -07:00
Zsolt Dollenstein
2e0bb0fa9f
Handle arbitrary number of backslashes during string normalization ( #110 )
2018-04-05 02:28:46 -07:00
Zsolt Dollenstein
51b3b2624d
Handle backslashes in raw strings while normalizing ( #105 )
...
In raw strings, a single backslash means a literal backslash. It is also used to escape quotes if it precedes them. This means it is impossible to change the quote type for strings that contain an unescaped version of the other quote type.
Fixes #100
2018-04-04 13:20:46 -07:00
Łukasz Langa
2f260514f6
Ignore # fmt: off
as inline comment
...
Black cannot currently support this form due to its generator-based nature.
This is mostly a problem for existing `# yapf: disable` usage as trailing
comment.
Fixes #95
2018-04-01 00:08:09 -07:00
Łukasz Langa
4787294622
Don't insert trailing commas after standalone comments
2018-03-31 23:32:11 -07:00
Łukasz Langa
1d45f6e6a1
Improve test coverage a bit
2018-03-31 15:46:09 -07:00
Łukasz Langa
a20a3eeb0f
Support --diff for both files and stdin
...
Fixes #87
2018-03-31 15:46:09 -07:00
Mika⠙
3455389e48
Lines now break before all delimiters ( #94 )
...
The default behaviour is that now all lines break *before* delimiters,
instead of afterwards. The special cases for this are commas and
behaviour around args.
Resolves #73
2018-03-31 11:52:11 -07:00
Zsolt Dollenstein
80bd2b3134
Normalize string quotes ( #75 )
...
* Normalize string quotes
Convert single-quoted strings to double-quoted. Convert triple single-quoted strings to triple double-quoted. Do not touch any strings where conversion would increase the number of backslashes.
Fixes #51 .
* reformat Black itself
2018-03-31 11:21:25 -07:00
Łukasz Langa
17b22642f5
More comments tests
2018-03-29 21:19:20 -07:00
Łukasz Langa
c55d08d0b9
Remove standalone comment hacks
...
Now Black properly splits standalone comments within bracketed expressions.
They are treated as another type of split instead of being bolted on with
whitespace prefixes.
A related fix: now multiple comments might appear after a given leaf.
Fixes #22
2018-03-29 21:10:00 -07:00
Łukasz Langa
728c56c986
Remove the test-specific .flake8 file
2018-03-29 15:25:16 -07:00
Łukasz Langa
e5f8251704
Allow up to two empty lines on module level and single empty lines otherwise
...
Fixes #74
2018-03-26 22:55:56 -07:00
Łukasz Langa
fc869039eb
Don't crash and burn on empty lines with trailing whitespace
...
Fixes #80
2018-03-26 18:41:25 -07:00
Łukasz Langa
0677a53937
Implement # fmt: off
and # fmt: on
...
Fixes #5
2018-03-23 17:16:08 -07:00
Łukasz Langa
8c565d8684
blib2to3: Never put prefixes on INDENT leaves either
2018-03-23 17:15:47 -07:00
Łukasz Langa
7e1c5b2ba6
Introduce DebugVisitor.show() + tests
2018-03-23 16:08:05 -07:00
Łukasz Langa
475179a53a
Omit extra space in Sphinx auto-attribute comments
...
This feature of Sphinx is described in:
http://www.sphinx-doc.org/en/stable/ext/autodoc.html#directive-autoattribute
Fixes #68
2018-03-23 08:56:55 -07:00
Łukasz Langa
cf6f577928
Properle space complex expressions in default values of typed arguments
...
Fixes #60
2018-03-22 23:52:21 -07:00
Łukasz Langa
6316e293ac
Automatic detection of deprecated Python 2 forms of print and exec
...
Note: if those are handled, you can't use --safe because this check is using
Python 3.6+ builtin AST.
Fixes #49
2018-03-22 23:19:23 -07:00
Łukasz Langa
8de552eb4f
Only return exit code 1 when --check is used
...
Also, output less confusing messages in --check.
Fixes #50
2018-03-22 17:33:44 -07:00
Łukasz Langa
a970a205bc
Don't remove the single trailing comma from square bracket indexing
...
Fixes #59
2018-03-22 16:33:50 -07:00
Łukasz Langa
df7aacb43e
Omit extra space in kwarg unpacking if it's an argument
...
Fixes #46
2018-03-21 18:35:25 -07:00
Łukasz Langa
92b377556e
Don't omit whitespace when the factor is not a math operator
...
Fixes #55
2018-03-21 18:34:16 -07:00
Łukasz Langa
b1a7600b0a
Treat comments less magically
2018-03-20 18:55:19 -07:00
Łukasz Langa
591bedc2be
Support skipping AST printing on test failure
2018-03-20 18:55:04 -07:00
Łukasz Langa
d1e0d79e38
Don't write back stdin to stdout when --check is passed
2018-03-20 18:54:55 -07:00
Łukasz Langa
5bc40707af
Fix numpy-style array indexing for real
...
Fixes #33
2018-03-20 18:54:33 -07:00