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:
Zsolt Dollenstein [Wed, 26 Sep 2018 12:26:50 +0000 (13:26 +0100)]
Add trailing comma when a single import doesn't fit on a line. (#504)
Fixes #250.
Zsolt Dollenstein [Wed, 26 Sep 2018 11:32:11 +0000 (12:32 +0100)]
Add underscores to numeric literals with more than six digits (#529)
Tim Swast [Tue, 25 Sep 2018 15:25:58 +0000 (08:25 -0700)]
Add .nox directories to default exclude (#525)
[Nox](https://nox.readthedocs.io/) is similar to Tox. It creates a .nox directory that contains virtualenv for testing with different Python versions.
Zsolt Dollenstein [Tue, 25 Sep 2018 15:01:56 +0000 (16:01 +0100)]
Uppercase digits in hex literals (#530)
Łukasz Langa [Tue, 18 Sep 2018 23:50:20 +0000 (16:50 -0700)]
Improve Poetry support
Sébastien Eustace [Tue, 18 Sep 2018 22:27:41 +0000 (17:27 -0500)]
Update Poetry section in pyproject.toml (#490)
Łukasz Langa [Tue, 18 Sep 2018 19:04:30 +0000 (12:04 -0700)]
Fix documentation build
Łukasz Langa [Mon, 17 Sep 2018 17:15:16 +0000 (10:15 -0700)]
Move things around in change log for the latest version to sort in rough notability order
Zsolt Dollenstein [Mon, 17 Sep 2018 17:02:25 +0000 (18:02 +0100)]
blackd: a HTTP server for blackening (#460)
Zsolt Dollenstein [Mon, 17 Sep 2018 11:03:21 +0000 (12:03 +0100)]
fix unstable formatting when unpacking big tuples (#514)
* fix unstable formatting when unpacking big tuples
* add changelog entry
mikehoyio [Mon, 10 Sep 2018 09:19:55 +0000 (10:19 +0100)]
Update atom plugin link to point to the python-black plugin (#505)
Zsolt Dollenstein [Sat, 8 Sep 2018 09:34:08 +0000 (10:34 +0100)]
Make sure `async for` is not broken up to separate lines (#503)
Fixes #372.
Jon Dufresne [Tue, 28 Aug 2018 12:00:57 +0000 (05:00 -0700)]
Add trove classifier for Python 3.7 support (#486)
Testing added in
3bdd42389128bbbe8b64a8e050563f09bff99979.
Jon Dufresne [Tue, 28 Aug 2018 12:00:05 +0000 (05:00 -0700)]
Prefer https:// links where available (#485)
Jon Dufresne [Tue, 28 Aug 2018 11:59:00 +0000 (04:59 -0700)]
Add build & dist directories to .gitignore (#487)
Generated when running the command "python3 setup.py bdist_wheel".
Jon Dufresne [Tue, 28 Aug 2018 11:58:21 +0000 (04:58 -0700)]
Include license file in the generated wheel package (#484)
The wheel package format supports including the license file. This is
done using the [metadata] section in the setup.cfg file. For additional
information on this feature, see:
https://wheel.readthedocs.io/en/stable/index.html#including-the-license-in-the-generated-wheel-file
Helps project comply with its own license:
> The above copyright notice and this permission notice shall be
> included in all copies or substantial portions of the Software.
Jon Dufresne [Tue, 28 Aug 2018 11:52:32 +0000 (04:52 -0700)]
Update pypi.python.org URL to pypi.org (#488)
For details on the new PyPI, see the blog post:
https://pythoninsider.blogspot.ca/2018/04/new-pypi-launched-legacy-pypi-shutting.html
Eli Treuherz [Tue, 28 Aug 2018 08:56:55 +0000 (09:56 +0100)]
Change my email in the README (#483)
Would prefer my personal email here. I realise it's still in the git log but c'est la vie.
Nikolaus Waxweiler [Mon, 27 Aug 2018 09:10:45 +0000 (10:10 +0100)]
ISSUE_TEMPLATE.md: Add mention of online formatter (#481)
People can try out https://black.now.sh/?version=master to test against master. That should make issue reporting easier.
See https://github.com/jpadilla/black-playground/issues/6#issuecomment-
416088863. Thanks @jpadilla!
Zsolt Dollenstein [Sun, 26 Aug 2018 20:27:33 +0000 (21:27 +0100)]
fix lint errors
Zsolt Dollenstein [Sun, 26 Aug 2018 20:19:22 +0000 (21:19 +0100)]
add test case for preserving newlines from stdin
Jelle Zijlstra [Thu, 23 Aug 2018 18:55:29 +0000 (11:55 -0700)]
change some numeric behavior (#469)
Zsolt Dollenstein [Thu, 23 Aug 2018 11:55:04 +0000 (12:55 +0100)]
add changelog entry for #468
Jelle Zijlstra [Thu, 23 Aug 2018 11:52:07 +0000 (04:52 -0700)]
fix bracket match bug (#470)
* fix bracket match bug
* add missing test file
Jelle Zijlstra [Wed, 22 Aug 2018 04:10:59 +0000 (21:10 -0700)]
wrap atoms in invisible parens to split adjacent strings (#463)
Jelle Zijlstra [Mon, 20 Aug 2018 15:19:25 +0000 (08:19 -0700)]
fix misformatting of floats with leading zeros (#464)
Zsolt Dollenstein [Mon, 20 Aug 2018 13:47:58 +0000 (14:47 +0100)]
Support parsing of async generators in non-async functions (#165)
This is a new syntax added in python3.7, so black can't verify that reformatting will not change the ast unless black itself is run with 3.7. We'll need to change the error message black gives in this case. @ambv any ideas?
Fixes #125.
Jelle Zijlstra [Mon, 20 Aug 2018 04:02:06 +0000 (21:02 -0700)]
autodetect Python 3.6 on the basis of underscores (#461)
ceh [Sun, 19 Aug 2018 12:10:06 +0000 (14:10 +0200)]
Fix minor typos (#443)
Łukasz Langa [Sat, 18 Aug 2018 21:01:57 +0000 (14:01 -0700)]
committers += jelle
Łukasz Langa [Fri, 17 Aug 2018 17:59:32 +0000 (10:59 -0700)]
PyPI downloads badge
Łukasz Langa [Fri, 17 Aug 2018 17:38:28 +0000 (10:38 -0700)]
Nits around numeral normalization.
Łukasz Langa [Fri, 17 Aug 2018 17:29:19 +0000 (10:29 -0700)]
Put missing blank lines after return statements.
Łukasz Langa [Fri, 17 Aug 2018 17:17:37 +0000 (10:17 -0700)]
Make schedule_formatting logic less nested.
Łukasz Langa [Fri, 17 Aug 2018 17:14:10 +0000 (10:14 -0700)]
Simplify caching logic.
Łukasz Langa [Fri, 17 Aug 2018 17:11:01 +0000 (10:11 -0700)]
Update README with missing change log, etc.
Miroslav Shubernetskiy [Fri, 17 Aug 2018 16:01:29 +0000 (12:01 -0400)]
not enforcing python3.6 for precommit hook (#430)
this should allow precommit hooks to be used with py37
David Hotham [Fri, 17 Aug 2018 15:45:47 +0000 (16:45 +0100)]
Remove mappings from Vim plugin. (#417)
They clashed with standard mappings. Simplest just to let users define
their own.
Fixes #415
Benjamin Wohlwend [Fri, 17 Aug 2018 15:44:55 +0000 (17:44 +0200)]
added instructions for PyCharm File Watcher setup (#418)
* added instructions for PyCharm File Watcher setup
With these steps, PyCharm will run black on every file save.
* Update README.md
Jonty Wareing [Fri, 17 Aug 2018 15:39:34 +0000 (16:39 +0100)]
vim: Restore cursor/window position after format (#433)
Without this the cursor jumps to the top of the window after formatting
occurs.
José Padilla [Fri, 17 Aug 2018 15:36:57 +0000 (11:36 -0400)]
Add playground link (#437)
hauntsaninja [Fri, 17 Aug 2018 15:25:47 +0000 (08:25 -0700)]
Use atom-black plugin for Atom integration (#456)
Jelle Zijlstra [Fri, 17 Aug 2018 14:40:37 +0000 (07:40 -0700)]
write cache in --check mode (#453)
Fixes #448.
This diff makes us always write to the cache in normal mode, except
if the file is already in the cache, and it makes us write to the
cache in --check mode if the file is already well formatted.
I also fixed some related docstrings.
WriteBack.NO is now used only in tests.
Jelle Zijlstra [Fri, 17 Aug 2018 14:03:58 +0000 (07:03 -0700)]
normalize numeric literals (#454)
Fixes #452
I ended up making a couple of other normalizations to numeric literals
too (lowercase everything, don't allow leading or trailing . in floats,
remove redundant + sign in exponent). I don't care too much about those,
so I'm happy to change the behavior there.
For reference, here is Python's grammar for numeric literals:
https://docs.python.org/3/reference/lexical_analysis.html#numeric-literals
Zsolt Dollenstein [Sun, 22 Jul 2018 13:47:42 +0000 (14:47 +0100)]
Look at actual parenthesis when generating ignored leafs.
Fixes #385
Zsolt Dollenstein [Wed, 18 Jul 2018 21:07:54 +0000 (22:07 +0100)]
update to mypy 0.620 and make tests pass again
Fixes #408
Anthony Sottile [Mon, 9 Jul 2018 20:42:38 +0000 (13:42 -0700)]
pre-commit: use exclusion instead of ever-growing regex (#382)
Zsolt Dollenstein [Mon, 2 Jul 2018 17:02:13 +0000 (18:02 +0100)]
add change log entry
Zsolt Dollenstein [Mon, 2 Jul 2018 16:48:48 +0000 (17:48 +0100)]
Improve get_future_imports implementation.
Closes #389.
cclauss [Mon, 2 Jul 2018 16:05:40 +0000 (18:05 +0200)]
TravisCI: Test on production Python 3.7 and 3.8-dev (#393)
David Szotten [Sat, 23 Jun 2018 07:56:05 +0000 (08:56 +0100)]
Suggest BufWritePre instead of BufWritePost for vi (#376)
closes #321
Łukasz Langa [Thu, 21 Jun 2018 21:25:07 +0000 (14:25 -0700)]
18.6b4
Łukasz Langa [Thu, 21 Jun 2018 20:29:34 +0000 (13:29 -0700)]
Don't freeze when multiple comments directly precede # fmt: off
Fixes #371
Łukasz Langa [Wed, 20 Jun 2018 19:00:07 +0000 (12:00 -0700)]
18.6b3
Łukasz Langa [Wed, 20 Jun 2018 06:46:58 +0000 (23:46 -0700)]
More tests for `# fmt: off`
Two more known limitations that I don't feel like solving now. Probably very
low priority.
Łukasz Langa [Wed, 20 Jun 2018 06:08:10 +0000 (23:08 -0700)]
Trivial nits
Łukasz Langa [Wed, 20 Jun 2018 05:40:26 +0000 (22:40 -0700)]
Stop Click from crashing Black on invalid environments
Fixes #277
Łukasz Langa [Wed, 20 Jun 2018 03:44:47 +0000 (20:44 -0700)]
Move INDENT value to the postponed prefix
This makes blib2to3's tree output valid again (which was broken by the previous
fiddling with INDENT and DEDENT nodes).
Fixes #334
Łukasz Langa [Wed, 20 Jun 2018 00:32:41 +0000 (17:32 -0700)]
Use the separate pass for `# fmt: off` on all code
This removes the hacky exception-based handling that didn't work across
statement boundaries.
Fixes #335
Łukasz Langa [Tue, 19 Jun 2018 01:14:10 +0000 (18:14 -0700)]
Support `# fmt: off/on` pairs within brackets
Fixes #329
Łukasz Langa [Mon, 18 Jun 2018 23:18:45 +0000 (16:18 -0700)]
Update README with missing fixes in Change Log
Łukasz Langa [Mon, 18 Jun 2018 23:14:58 +0000 (16:14 -0700)]
Cache generated comments
Mariatta [Tue, 19 Jun 2018 03:12:49 +0000 (20:12 -0700)]
Add travis badge and GitHub Fork banner to docs (#365)
Rupert Bedford [Sat, 16 Jun 2018 20:14:51 +0000 (21:14 +0100)]
Add pyls-black to README (#361)
Jelle Zijlstra [Sat, 16 Jun 2018 18:53:45 +0000 (11:53 -0700)]
Add blank line after constants in stub file (#360)
Fixes #340
Mariatta [Fri, 15 Jun 2018 22:12:16 +0000 (15:12 -0700)]
Add code snippet for using black badge in .rst (#356)
Katrin Leinweber [Wed, 13 Jun 2018 18:49:47 +0000 (20:49 +0200)]
Harmonise with other instances (#347)
Neraste [Wed, 13 Jun 2018 07:07:04 +0000 (09:07 +0200)]
Ignore symbolic links pointing outside of the root directory (#339)
Fixes #338
Joseph Larson [Tue, 12 Jun 2018 20:36:55 +0000 (14:36 -0600)]
Remove reference to deprecated Visual Studio Code extension (#343)
Zsolt Dollenstein [Sun, 10 Jun 2018 08:51:18 +0000 (09:51 +0100)]
Exclude profiling data when doing black . in this repo
Zsolt Dollenstein [Sun, 10 Jun 2018 08:39:24 +0000 (09:39 +0100)]
Fix string normalization eating all backslashes above 3
Łukasz Langa [Sun, 10 Jun 2018 06:27:00 +0000 (23:27 -0700)]
Add failing test data
Łukasz Langa [Sun, 10 Jun 2018 02:49:20 +0000 (19:49 -0700)]
Don't mark subtrees as changed that were already marked.
Łukasz Langa [Sun, 10 Jun 2018 01:50:20 +0000 (18:50 -0700)]
Cache child sibling lookups
Removes catastrophically quadratic behavior on nodes with very many siblings.
Łukasz Langa [Sun, 10 Jun 2018 01:49:39 +0000 (18:49 -0700)]
Make test_black.py work in profilers
Łukasz Langa [Sat, 9 Jun 2018 22:40:39 +0000 (15:40 -0700)]
Make `is_complex_subscript()` ignore list literals
This fixes catastrophically quadratic behavior on long lists.
Łukasz Langa [Sat, 9 Jun 2018 22:40:00 +0000 (15:40 -0700)]
Move profiling data out of tests/data
Zsolt Dollenstein [Sat, 9 Jun 2018 19:30:49 +0000 (21:30 +0200)]
Fix string normalization sometimes producing invalid fstrings (#327)
Daniel M. Capella [Sat, 9 Jun 2018 05:02:35 +0000 (01:02 -0400)]
Add .toml from tests to MANIFEST.in (#325)
Needed for `test_piping_diff()`.
Łukasz Langa [Fri, 8 Jun 2018 19:07:43 +0000 (12:07 -0700)]
18.6b2
Łukasz Langa [Fri, 8 Jun 2018 19:05:44 +0000 (12:05 -0700)]
Update README with missing Change Log entries
Łukasz Langa [Fri, 8 Jun 2018 18:59:05 +0000 (11:59 -0700)]
Return early from comment placement calculation on lines without comments
Loren Carvalho [Fri, 8 Jun 2018 02:43:04 +0000 (21:43 -0500)]
Add `-h` as a shortcut for `--help` (#316)
Zsolt Dollenstein [Thu, 7 Jun 2018 18:41:34 +0000 (20:41 +0200)]
fix handling of empty triple quoted strings (#314)
Łukasz Langa [Thu, 7 Jun 2018 18:40:41 +0000 (11:40 -0700)]
Don't crash the Vim plugin
Fixes #312
Łukasz Langa [Thu, 7 Jun 2018 18:24:55 +0000 (11:24 -0700)]
2018 is not the year of Unicode on your desktop
Łukasz Langa [Thu, 7 Jun 2018 07:15:26 +0000 (00:15 -0700)]
Preliminary work on Poetry integration
Łukasz Langa [Thu, 7 Jun 2018 00:29:31 +0000 (17:29 -0700)]
Fix link
Łukasz Langa [Thu, 7 Jun 2018 00:13:51 +0000 (17:13 -0700)]
It works better when dependencies are installed. Who knew?
Łukasz Langa [Thu, 7 Jun 2018 00:07:07 +0000 (17:07 -0700)]
Trim TOC to fit in two lines again
Łukasz Langa [Thu, 7 Jun 2018 00:04:32 +0000 (17:04 -0700)]
Use `black .` now that we can
Łukasz Langa [Wed, 6 Jun 2018 22:30:02 +0000 (15:30 -0700)]
Support pyproject.toml
Fixes #65
Łukasz Langa [Wed, 6 Jun 2018 22:39:58 +0000 (15:39 -0700)]
Move test data to data
Łukasz Langa [Wed, 6 Jun 2018 18:58:36 +0000 (11:58 -0700)]
Fix improper unmodified file caching when `-S` was used
This will also future-proof the cache to changes to FileMode.
Łukasz Langa [Wed, 6 Jun 2018 00:40:00 +0000 (17:40 -0700)]
Update beta link in docs
Matthew Walster [Wed, 6 Jun 2018 22:45:17 +0000 (15:45 -0700)]
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).
Zsolt Dollenstein [Wed, 6 Jun 2018 22:44:12 +0000 (00:44 +0200)]
Don't put a space after `*` in `g = 1, *"x"` (#309)
Fixes #305.
Zsolt Dollenstein [Wed, 6 Jun 2018 22:42:50 +0000 (00:42 +0200)]
Change tests with stdin/out to exercise black.main (#307)
Brett Cannon [Wed, 6 Jun 2018 22:40:44 +0000 (15:40 -0700)]
List the Python extension for VS Code as an editor integration (#308)
Hugo [Wed, 6 Jun 2018 16:50:08 +0000 (19:50 +0300)]
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