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 [Tue, 27 Mar 2018 04:29:49 +0000 (21:29 -0700)]
It's obviously not just me, yo. Thanks y'all 🖤
Łukasz Langa [Tue, 27 Mar 2018 01:41:25 +0000 (18:41 -0700)]
Don't crash and burn on empty lines with trailing whitespace
Fixes #80
Łukasz Langa [Tue, 27 Mar 2018 01:37:36 +0000 (18:37 -0700)]
Big documentation deduplication
Most is not generated from README.md so we no longer have to remember to update
two Change Logs, and so on!
If we decide to diverge from the README in Sphinx, that's fine, too. We will
just create dedicated documents.
Artem Malyshev [Mon, 26 Mar 2018 20:41:31 +0000 (23:41 +0300)]
Add Emacs text editor integration to the README. (#79)
Łukasz Langa [Mon, 26 Mar 2018 09:27:14 +0000 (02:27 -0700)]
Improve pypi badge template
Łukasz Langa [Mon, 26 Mar 2018 09:11:16 +0000 (02:11 -0700)]
Self-host PyPI-related badges
Łukasz Langa [Mon, 26 Mar 2018 08:53:20 +0000 (01:53 -0700)]
Custom MIT license badge
Daniel M. Capella [Mon, 26 Mar 2018 08:43:18 +0000 (04:43 -0400)]
Include .out file(s) in the distribution (#77)
> FileNotFoundError: [Errno 2] No such file or directory: '/home/user/pkg/build/black/src/black-18.3a4/tests/debug_visitor.out'
Łukasz Langa [Mon, 26 Mar 2018 08:14:10 +0000 (01:14 -0700)]
Any logo you like
Hugo [Mon, 26 Mar 2018 08:00:31 +0000 (11:00 +0300)]
Consistently style the name (#76)
Łukasz Langa [Mon, 26 Mar 2018 07:57:02 +0000 (00:57 -0700)]
18.3a4
Łukasz Langa [Mon, 26 Mar 2018 07:49:21 +0000 (00:49 -0700)]
Coverage reporting
Łukasz Langa [Mon, 26 Mar 2018 07:42:29 +0000 (00:42 -0700)]
The site is cleaner without the 'Related' cruft.
Łukasz Langa [Sun, 25 Mar 2018 01:08:54 +0000 (18:08 -0700)]
ReadTheDocs badge
Łukasz Langa [Sun, 25 Mar 2018 01:05:37 +0000 (18:05 -0700)]
Not actually using the Model T logo after all
Łukasz Langa [Sun, 25 Mar 2018 01:03:50 +0000 (18:03 -0700)]
Link to ReadTheDocs
Łukasz Langa [Sun, 25 Mar 2018 00:58:47 +0000 (17:58 -0700)]
Compress the logos better
Łukasz Langa [Sun, 25 Mar 2018 00:28:05 +0000 (17:28 -0700)]
More documentation fixes for ReadTheDocs
Łukasz Langa [Sun, 25 Mar 2018 00:15:48 +0000 (17:15 -0700)]
Documentation fixes for ReadTheDocs
Łukasz Langa [Sat, 24 Mar 2018 00:15:20 +0000 (17:15 -0700)]
Implement `# fmt: off` and `# fmt: on`
Fixes #5
Łukasz Langa [Sat, 24 Mar 2018 00:12:20 +0000 (17:12 -0700)]
blib2to3: Never put prefixes on INDENT leaves either
Łukasz Langa [Sat, 24 Mar 2018 00:07:20 +0000 (17:07 -0700)]
Introduce DebugVisitor.show() + tests
Carol Willing [Fri, 23 Mar 2018 21:27:04 +0000 (14:27 -0700)]
add sphinx docs skeleton (#71)
Łukasz Langa [Fri, 23 Mar 2018 15:56:55 +0000 (08:56 -0700)]
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
Łukasz Langa [Fri, 23 Mar 2018 06:52:21 +0000 (23:52 -0700)]
Properle space complex expressions in default values of typed arguments
Fixes #60
Łukasz Langa [Fri, 23 Mar 2018 06:22:46 +0000 (23:22 -0700)]
Ignore typing error around Node/Leaf
Łukasz Langa [Fri, 23 Mar 2018 06:17:40 +0000 (23:17 -0700)]
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
Łukasz Langa [Fri, 23 Mar 2018 00:33:44 +0000 (17:33 -0700)]
Only return exit code 1 when --check is used
Also, output less confusing messages in --check.
Fixes #50
Łukasz Langa [Fri, 23 Mar 2018 00:15:28 +0000 (17:15 -0700)]
Mention delimiter_split() in CannotSplit docstring
Łukasz Langa [Fri, 23 Mar 2018 00:15:08 +0000 (17:15 -0700)]
Mention fix for #59
Łukasz Langa [Thu, 22 Mar 2018 23:33:50 +0000 (16:33 -0700)]
Don't remove the single trailing comma from square bracket indexing
Fixes #59
Łukasz Langa [Thu, 22 Mar 2018 04:46:37 +0000 (21:46 -0700)]
Badges. BADGES. BAAADDDGGGEEESSS!!!
Łukasz Langa [Thu, 22 Mar 2018 01:31:58 +0000 (18:31 -0700)]
Omit extra space in kwarg unpacking if it's an argument
Fixes #46
Łukasz Langa [Thu, 22 Mar 2018 01:23:46 +0000 (18:23 -0700)]
Don't omit whitespace when the factor is not a math operator
Fixes #55
Łukasz Langa [Thu, 22 Mar 2018 00:55:36 +0000 (17:55 -0700)]
Pin attrs to >=17.4.0 for @dataclass use
Fixes #54
Łukasz Langa [Thu, 22 Mar 2018 00:37:16 +0000 (17:37 -0700)]
Mention how stdio handling works
Fixes #57
Łukasz Langa [Thu, 22 Mar 2018 00:14:29 +0000 (17:14 -0700)]
Extra newlines in code examples
Łukasz Langa [Thu, 22 Mar 2018 00:06:19 +0000 (17:06 -0700)]
Twine 1.11.0
Łukasz Langa [Wed, 21 Mar 2018 02:05:51 +0000 (19:05 -0700)]
18.3a3
Łukasz Langa [Wed, 21 Mar 2018 02:04:49 +0000 (19:04 -0700)]
Fix tests on 3.7
Łukasz Langa [Wed, 21 Mar 2018 01:57:33 +0000 (18:57 -0700)]
Mention joslarson.black-vscode
Fixes #45
Łukasz Langa [Wed, 21 Mar 2018 01:42:29 +0000 (18:42 -0700)]
Treat comments less magically
Łukasz Langa [Wed, 21 Mar 2018 01:40:20 +0000 (18:40 -0700)]
Support skipping AST printing on test failure
Łukasz Langa [Wed, 21 Mar 2018 01:20:20 +0000 (18:20 -0700)]
Don't write back stdin to stdout when --check is passed
Łukasz Langa [Wed, 21 Mar 2018 01:17:20 +0000 (18:17 -0700)]
Fix numpy-style array indexing for real
Fixes #33
Łukasz Langa [Wed, 21 Mar 2018 01:15:20 +0000 (18:15 -0700)]
Don't remove single empty lines outside of bracketed expressions
Fixes #19
Łukasz Langa [Wed, 21 Mar 2018 01:05:20 +0000 (18:05 -0700)]
Restore ability to format code with legacy usage of `async` as a name
Fixes #20
Fixes #42
Łukasz Langa [Wed, 21 Mar 2018 01:00:20 +0000 (18:00 -0700)]
Update README with stdin information
treuherz [Mon, 19 Mar 2018 18:07:10 +0000 (18:07 +0000)]
Add piping from stdin to stdout with a - (#25)
Being able to format code by piping it through the formatter makes it much easier to integrate with tools like google/vim-codefmt or Chiel92/vim-autoformat.
Łukasz Langa [Sat, 17 Mar 2018 09:39:53 +0000 (02:39 -0700)]
More support for numpy tuple indexing
Łukasz Langa [Sat, 17 Mar 2018 09:13:11 +0000 (02:13 -0700)]
Update formatting example
Łukasz Langa [Sat, 17 Mar 2018 08:06:22 +0000 (01:06 -0700)]
18.3a2
Łukasz Langa [Sat, 17 Mar 2018 08:25:59 +0000 (01:25 -0700)]
Native README.md support on PyPI \o/
See: https://dustingram.com/articles/2018/03/16/markdown-descriptions-on-pypi
Łukasz Langa [Sat, 17 Mar 2018 08:15:46 +0000 (01:15 -0700)]
Set a 3.6+ python-tag for the wheel
Fixes #37
Łukasz Langa [Sat, 17 Mar 2018 07:54:30 +0000 (00:54 -0700)]
Don't fold postscriptum standalone comment into last statement
This happened when the last statement was a simple statement.
Fixes #18
Fixes #28
Łukasz Langa [Sat, 17 Mar 2018 07:40:21 +0000 (00:40 -0700)]
Consolidate empty line handling in EmptyLineTracker
Previously, extra newlines left on imports were handled sort of by accident.
Now it's all handled uniformly in one place.
Łukasz Langa [Sat, 17 Mar 2018 05:14:43 +0000 (22:14 -0700)]
Don't put four empty lines between top-level functions split by a comment
Łukasz Langa [Sat, 17 Mar 2018 04:55:41 +0000 (21:55 -0700)]
Describe fix for #21 in README
Łukasz Langa [Sat, 17 Mar 2018 04:47:15 +0000 (21:47 -0700)]
blib2to3: Never put prefixes on DEDENT leaves
Mika⠙ [Sat, 17 Mar 2018 04:45:51 +0000 (05:45 +0100)]
Line breaks before logical operators (#36)
Fixes #21
Łukasz Langa [Sat, 17 Mar 2018 00:42:57 +0000 (17:42 -0700)]
Use implicit defaults for auto_attribs
It reads much nicer.
Łukasz Langa [Sat, 17 Mar 2018 00:32:55 +0000 (17:32 -0700)]
Remove the trailing comma if there is only one argument to a call
This makes it consistent with removing the trailing comma when multiple
arguments to a call fit in a single line. It also makes it a tiny bit more
likely that an expression will fit a line that didn't use to.
Łukasz Langa [Sat, 17 Mar 2018 00:09:23 +0000 (17:09 -0700)]
Ignore empty bracket pairs while splitting
Fixes #35
Łukasz Langa [Fri, 16 Mar 2018 08:05:36 +0000 (01:05 -0700)]
Add words
Łukasz Langa [Fri, 16 Mar 2018 07:42:15 +0000 (00:42 -0700)]
Add flake8 to CI, too
Łukasz Langa [Fri, 16 Mar 2018 07:01:22 +0000 (00:01 -0700)]
Bump version, update README with current fixes
Łukasz Langa [Fri, 16 Mar 2018 06:56:30 +0000 (23:56 -0700)]
Fix spurious space after star-based unary expression
This happened when the operand was a complex expression.
Fixes #31
Łukasz Langa [Fri, 16 Mar 2018 06:55:22 +0000 (23:55 -0700)]
Also run mypy on test_black.py
Łukasz Langa [Fri, 16 Mar 2018 06:39:45 +0000 (23:39 -0700)]
Fix numpy-style array indexing
Fixes #33
Łukasz Langa [Fri, 16 Mar 2018 06:26:56 +0000 (23:26 -0700)]
Clean up typing ignores, fix build
Łukasz Langa [Fri, 16 Mar 2018 06:17:02 +0000 (23:17 -0700)]
Add mypy to CI
Łukasz Langa [Fri, 16 Mar 2018 02:25:23 +0000 (19:25 -0700)]
Only use trailing commas in function signatures when it's safe
Trailing commas after * or ** in a function signature are only safe for Python 3.6
code. So now Black checks whether the file was already Python 3.6 to begin
with. If so, trailing commas are used in such cases. Otherwise, they're not.
When * and ** don't appear in a function signature, the trailing comma is
always safe.
Fixes #8
Łukasz Langa [Fri, 16 Mar 2018 02:20:42 +0000 (19:20 -0700)]
Don't split on for-loop variable unpacks
Fixes #23
Łukasz Langa [Fri, 16 Mar 2018 00:05:59 +0000 (17:05 -0700)]
Fix tests after introducing --check
Łukasz Langa [Thu, 15 Mar 2018 23:01:57 +0000 (16:01 -0700)]
Add --check
Fixes #9
Osaetin Daniel [Thu, 15 Mar 2018 21:37:21 +0000 (22:37 +0100)]
Fixed malformed link to pathlib
Łukasz Langa [Thu, 15 Mar 2018 21:54:37 +0000 (14:54 -0700)]
Fix spurious space after unary expression
This happened when the operand was a complex expression.
Fixes #15
Łukasz Langa [Thu, 15 Mar 2018 18:50:58 +0000 (11:50 -0700)]
Fix spurious extra spaces after opening parentheses and in default arguments
Fixes #14
Fixes #17
Łukasz Langa [Thu, 15 Mar 2018 18:28:59 +0000 (11:28 -0700)]
Fix spurious space in parenthesized set expressions
Fixes #7
Łukasz Langa [Thu, 15 Mar 2018 18:21:53 +0000 (11:21 -0700)]
Fix invalid spacing of dots in relative imports
Fixes #6
Fixes #13
Hugo [Thu, 15 Mar 2018 06:41:32 +0000 (08:41 +0200)]
Add Python 3-only classifier
https://pypi.python.org/pypi?%3Aaction=list_classifiers
Hugo [Thu, 15 Mar 2018 07:11:35 +0000 (09:11 +0200)]
Use HTTPS
Łukasz Langa [Thu, 15 Mar 2018 17:12:46 +0000 (10:12 -0700)]
Mention *args and **kwargs backport
Hugo [Thu, 15 Mar 2018 08:09:47 +0000 (10:09 +0200)]
Update code formatting
!XXX doesn't render as code formatting, XXX does
Łukasz Langa [Wed, 14 Mar 2018 21:38:33 +0000 (14:38 -0700)]
testimonials += 1 # kennethreitz
Łukasz Langa [Wed, 14 Mar 2018 21:26:14 +0000 (14:26 -0700)]
Bummer, Python 3.8 builds don't work yet
Łukasz Langa [Wed, 14 Mar 2018 21:20:16 +0000 (14:20 -0700)]
Actually use the bundled Grammar.txt
Łukasz Langa [Wed, 14 Mar 2018 21:16:34 +0000 (14:16 -0700)]
Include Grammar.txt in the distribution
Łukasz Langa [Wed, 14 Mar 2018 19:55:32 +0000 (12:55 -0700)]
Initial commit