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:
Ł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
Peter Bengtsson [Wed, 6 Jun 2018 00:48:53 +0000 (20:48 -0400)]
correct email for Peter Bengtsson (#302)
Łukasz Langa [Tue, 5 Jun 2018 17:10:15 +0000 (10:10 -0700)]
acks += beterbe
Łukasz Langa [Tue, 5 Jun 2018 16:49:06 +0000 (09:49 -0700)]
18.6b1
Peter Bengtsson [Tue, 5 Jun 2018 16:35:35 +0000 (12:35 -0400)]
✨ 🍰 ✨ isn't appropriate when it fails, fixes #300 (#301)
Zsolt Dollenstein [Tue, 5 Jun 2018 09:38:20 +0000 (10:38 +0100)]
Print report on stderr.\n\nFixes #299.
Łukasz Langa [Tue, 5 Jun 2018 04:29:09 +0000 (21:29 -0700)]
18.6b0
Fixes #289
Łukasz Langa [Tue, 5 Jun 2018 04:27:51 +0000 (21:27 -0700)]
Fix unnecessary parentheses when a line contains multiline strings
Fixes #232
Łukasz Langa [Tue, 5 Jun 2018 03:24:50 +0000 (20:24 -0700)]
Fix long trivial assignments being wrapped in unnecessary parentheses
Fixes #273
Łukasz Langa [Tue, 5 Jun 2018 02:04:29 +0000 (19:04 -0700)]
Fix handling of empty files
Łukasz Langa [Tue, 5 Jun 2018 01:42:16 +0000 (18:42 -0700)]
Consider stars in testlist_star_expr unpacking (because they are)
Fixes #297
Łukasz Langa [Tue, 5 Jun 2018 00:10:32 +0000 (17:10 -0700)]
Properly format unified diff
Previously we weren't using timestamps.
Łukasz Langa [Mon, 4 Jun 2018 23:42:10 +0000 (16:42 -0700)]
Nits
Łukasz Langa [Mon, 4 Jun 2018 22:20:18 +0000 (15:20 -0700)]
Always show summary of reformatting
Łukasz Langa [Mon, 4 Jun 2018 19:50:24 +0000 (12:50 -0700)]
Make source handling use sets instead of lists
Also, sort cached file output to be (more) deterministic.
Łukasz Langa [Mon, 4 Jun 2018 19:36:35 +0000 (12:36 -0700)]
Make sure --verbose trumps --quiet
This is so that users can have a --quiet alias in their environment and only
occasionally add --verbose if they are surprised by the result.
Zsolt Dollenstein [Mon, 4 Jun 2018 22:52:06 +0000 (00:52 +0200)]
Preserve line endings when formatting a file in place (#288)
Łukasz Langa [Mon, 4 Jun 2018 19:24:20 +0000 (12:24 -0700)]
Reformat docs/conf.py, too.
Łukasz Langa [Mon, 4 Jun 2018 19:18:27 +0000 (12:18 -0700)]
Fix missing leading slash due to `relative_to()` resolution
Łukasz Langa [Mon, 4 Jun 2018 18:58:26 +0000 (11:58 -0700)]
Add `--verbose` and report excluded paths in it, too
Fixes #283
Łukasz Langa [Mon, 4 Jun 2018 18:20:15 +0000 (11:20 -0700)]
[trivial] Simplify `mode` and `write_back` calculation in main()
Łukasz Langa [Mon, 4 Jun 2018 18:06:38 +0000 (11:06 -0700)]
[trivial] Simplify stdin handling
Łukasz Langa [Mon, 4 Jun 2018 18:03:45 +0000 (11:03 -0700)]
Revert "don't run tests from /build"
This reverts commit
1687892d63fdff7525bb50a0166db3c5214ce2de.
This is no longer necessary with the fix in the previous commit.
Łukasz Langa [Mon, 4 Jun 2018 17:59:36 +0000 (10:59 -0700)]
Introduce "project root" as a concept
This is required for regular expressions in `--include=` and `--exclude=` not
to catch false positives from directories outside of the project.
Łukasz Langa [Fri, 1 Jun 2018 21:14:22 +0000 (14:14 -0700)]
Add .pie from tests to MANIFEST.in
Anthony Sottile [Sun, 3 Jun 2018 18:46:59 +0000 (11:46 -0700)]
`python_version` => `language_version` (#296)
Noticed this in `pytest`'s config -- `python_version` isn't a thing :D
Zsolt Dollenstein [Fri, 1 Jun 2018 22:12:20 +0000 (23:12 +0100)]
don't run tests from /build
Zsolt Dollenstein [Fri, 1 Jun 2018 21:47:07 +0000 (23:47 +0200)]
Skip symlink test if can't create one (#287)
Łukasz Langa [Fri, 1 Jun 2018 02:47:24 +0000 (19:47 -0700)]
Don't over-eagerly make a path absolute if only one passed
If a directory or more than one file is passed, Black nicely shows the relative
paths in output. Before this change, it showed an absolute path if only
a single file was passed as an argument. This fixes the inconsistency.
Łukasz Langa [Fri, 1 Jun 2018 02:40:07 +0000 (19:40 -0700)]
Make empty --include mean "anything goes", simplify `gen_python_files_in_dir`
Łukasz Langa [Fri, 1 Jun 2018 02:24:09 +0000 (19:24 -0700)]
Reorder command-line options
Łukasz Langa [Fri, 1 Jun 2018 02:09:51 +0000 (19:09 -0700)]
Sort default excludes, include the leading slash
Mika⠙ [Fri, 1 Jun 2018 00:51:15 +0000 (02:51 +0200)]
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
Łukasz Langa [Thu, 31 May 2018 17:53:26 +0000 (10:53 -0700)]
acks += Stavros; document fix, add to Pipfile
Stavros Korokithakis [Thu, 31 May 2018 17:46:05 +0000 (19:46 +0200)]
Specify the minimum click version (#284)
Łukasz Langa [Wed, 30 May 2018 19:54:52 +0000 (12:54 -0700)]
Add --skip-string-normalization
Fixes #118
LukasDrude [Tue, 29 May 2018 21:50:15 +0000 (23:50 +0200)]
Improve doc regarding PyCharm keyboard shortcut (#271)
Łukasz Langa [Tue, 29 May 2018 09:37:34 +0000 (02:37 -0700)]
Move setuptools and wheel to dev deps, upgrade them, too
Łukasz Langa [Tue, 29 May 2018 09:07:09 +0000 (02:07 -0700)]
18.5b1
Łukasz Langa [Tue, 29 May 2018 09:04:57 +0000 (02:04 -0700)]
Change minor whitespace in "Usage"
Łukasz Langa [Tue, 29 May 2018 08:53:54 +0000 (01:53 -0700)]
Refactor --pyi and --py36 into FileMode
Łukasz Langa [Tue, 29 May 2018 08:12:16 +0000 (01:12 -0700)]
Mention fix for #196 in the README
Łukasz Langa [Tue, 29 May 2018 07:47:52 +0000 (00:47 -0700)]
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
Luka Sterbic [Tue, 29 May 2018 06:48:59 +0000 (08:48 +0200)]
Class new line between docstrings / vars / methods (#219)
Partially addresses #144
Łukasz Langa [Tue, 29 May 2018 06:19:40 +0000 (23:19 -0700)]
Fix dangling file in documentation
Łukasz Langa [Tue, 29 May 2018 06:15:07 +0000 (23:15 -0700)]
Reword isort configuration, add --combine-as
Jason Friedland [Tue, 29 May 2018 06:06:02 +0000 (16:06 +1000)]
Add isort args to README (#268)
Mahmoud Hossam [Sat, 26 May 2018 20:01:17 +0000 (22:01 +0200)]
Add instructions for running Black on save in Vim (#255)
Łukasz Langa [Thu, 24 May 2018 20:32:52 +0000 (13:32 -0700)]
Remove remains of extra empty lines for flow control statements
Łukasz Langa [Wed, 23 May 2018 18:52:41 +0000 (11:52 -0700)]
Reword --pyi and --py36 documentation
Carl Meyer [Wed, 23 May 2018 18:13:13 +0000 (12:13 -0600)]
Update changelog for PR 249.
Carl Meyer [Wed, 23 May 2018 18:01:27 +0000 (12:01 -0600)]
Add --pyi and --py36 flags (#249)
Fixes #244.
wouter bolsterlee [Tue, 22 May 2018 15:54:28 +0000 (17:54 +0200)]
tweak grammar in docs about fluent interfaces (#247)
...to make the sentence a bit easier to understand.
Łukasz Langa [Tue, 22 May 2018 07:38:31 +0000 (00:38 -0700)]
Fix unstable formatting on trailers omitted from line splitting with comments
Fixes #238
Łukasz Langa [Mon, 21 May 2018 23:35:45 +0000 (16:35 -0700)]
Fix invalid code on stars in long from-imports being wrapped in parentheses
Fixes #234
Łukasz Langa [Mon, 21 May 2018 22:20:19 +0000 (15:20 -0700)]
Fix optional parentheses being removed within `# fmt: off` sections
Fixes #224
Hugo [Mon, 21 May 2018 20:20:41 +0000 (23:20 +0300)]
Sentence case (#242)
Łukasz Langa [Mon, 21 May 2018 19:29:36 +0000 (12:29 -0700)]
Fix invalid code in an omitted trailer on large expressions
Fixes #237
Łukasz Langa [Mon, 21 May 2018 18:22:08 +0000 (11:22 -0700)]
Mention fix for pickle files
Carol Willing [Mon, 21 May 2018 16:58:04 +0000 (09:58 -0700)]
Add navigation (#229)
Hugo [Sun, 20 May 2018 16:50:41 +0000 (19:50 +0300)]
README updates (#235)
* Consistent titles in 'Sentence case'
* Add console Markdown formatting
* Fix macOS typos
* Fix Homebrew typo
Łukasz Langa [Sat, 19 May 2018 21:04:38 +0000 (14:04 -0700)]
Store grammar pickle caches in CACHE_DIR
Fixes #192
Fixes #203