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:

etc/vim.git
6 years agoIt's obviously not just me, yo. Thanks y'all 🖤
Łukasz Langa [Tue, 27 Mar 2018 04:29:49 +0000 (21:29 -0700)]
It's obviously not just me, yo. Thanks y'all 🖤

6 years agoDon't crash and burn on empty lines with trailing whitespace
Ł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

6 years agoBig documentation deduplication
Ł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.

6 years agoAdd Emacs text editor integration to the README. (#79)
Artem Malyshev [Mon, 26 Mar 2018 20:41:31 +0000 (23:41 +0300)]
Add Emacs text editor integration to the README. (#79)

6 years agoImprove pypi badge template
Łukasz Langa [Mon, 26 Mar 2018 09:27:14 +0000 (02:27 -0700)]
Improve pypi badge template

6 years agoSelf-host PyPI-related badges
Łukasz Langa [Mon, 26 Mar 2018 09:11:16 +0000 (02:11 -0700)]
Self-host PyPI-related badges

6 years agoCustom MIT license badge
Łukasz Langa [Mon, 26 Mar 2018 08:53:20 +0000 (01:53 -0700)]
Custom MIT license badge

6 years agoInclude .out file(s) in the distribution (#77)
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'

6 years agoAny logo you like
Łukasz Langa [Mon, 26 Mar 2018 08:14:10 +0000 (01:14 -0700)]
Any logo you like

6 years agoConsistently style the name (#76)
Hugo [Mon, 26 Mar 2018 08:00:31 +0000 (11:00 +0300)]
Consistently style the name (#76)

6 years ago18.3a4
Łukasz Langa [Mon, 26 Mar 2018 07:57:02 +0000 (00:57 -0700)]
18.3a4

6 years agoCoverage reporting
Łukasz Langa [Mon, 26 Mar 2018 07:49:21 +0000 (00:49 -0700)]
Coverage reporting

6 years agoThe site is cleaner without the 'Related' cruft.
Łukasz Langa [Mon, 26 Mar 2018 07:42:29 +0000 (00:42 -0700)]
The site is cleaner without the 'Related' cruft.

6 years agoReadTheDocs badge
Łukasz Langa [Sun, 25 Mar 2018 01:08:54 +0000 (18:08 -0700)]
ReadTheDocs badge

6 years agoNot actually using the Model T logo after all
Łukasz Langa [Sun, 25 Mar 2018 01:05:37 +0000 (18:05 -0700)]
Not actually using the Model T logo after all

6 years agoLink to ReadTheDocs
Łukasz Langa [Sun, 25 Mar 2018 01:03:50 +0000 (18:03 -0700)]
Link to ReadTheDocs

6 years agoCompress the logos better
Łukasz Langa [Sun, 25 Mar 2018 00:58:47 +0000 (17:58 -0700)]
Compress the logos better

6 years agoMore documentation fixes for ReadTheDocs
Łukasz Langa [Sun, 25 Mar 2018 00:28:05 +0000 (17:28 -0700)]
More documentation fixes for ReadTheDocs

6 years agoDocumentation fixes for ReadTheDocs
Łukasz Langa [Sun, 25 Mar 2018 00:15:48 +0000 (17:15 -0700)]
Documentation fixes for ReadTheDocs

6 years agoImplement `# fmt: off` and `# fmt: on`
Łukasz Langa [Sat, 24 Mar 2018 00:15:20 +0000 (17:15 -0700)]
Implement `# fmt: off` and `# fmt: on`

Fixes #5

6 years agoblib2to3: Never put prefixes on INDENT leaves either
Łukasz Langa [Sat, 24 Mar 2018 00:12:20 +0000 (17:12 -0700)]
blib2to3: Never put prefixes on INDENT leaves either

6 years agoIntroduce DebugVisitor.show() + tests
Łukasz Langa [Sat, 24 Mar 2018 00:07:20 +0000 (17:07 -0700)]
Introduce DebugVisitor.show() + tests

6 years agoadd sphinx docs skeleton (#71)
Carol Willing [Fri, 23 Mar 2018 21:27:04 +0000 (14:27 -0700)]
add sphinx docs skeleton (#71)

6 years agoOmit extra space in Sphinx auto-attribute comments
Ł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

6 years agoProperle space complex expressions in default values of typed arguments
Ł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

6 years agoIgnore typing error around Node/Leaf
Łukasz Langa [Fri, 23 Mar 2018 06:22:46 +0000 (23:22 -0700)]
Ignore typing error around Node/Leaf

6 years agoAutomatic detection of deprecated Python 2 forms of print and exec
Ł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

6 years agoOnly return exit code 1 when --check is used
Ł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

6 years agoMention delimiter_split() in CannotSplit docstring
Łukasz Langa [Fri, 23 Mar 2018 00:15:28 +0000 (17:15 -0700)]
Mention delimiter_split() in CannotSplit docstring

6 years agoMention fix for #59
Łukasz Langa [Fri, 23 Mar 2018 00:15:08 +0000 (17:15 -0700)]
Mention fix for #59

6 years agoDon't remove the single trailing comma from square bracket indexing
Ł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

6 years agoBadges. BADGES. BAAADDDGGGEEESSS!!!
Łukasz Langa [Thu, 22 Mar 2018 04:46:37 +0000 (21:46 -0700)]
Badges. BADGES. BAAADDDGGGEEESSS!!!

6 years agoOmit extra space in kwarg unpacking if it's an argument
Ł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

6 years agoDon't omit whitespace when the factor is not a math operator
Ł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

6 years agoPin attrs to >=17.4.0 for @dataclass use
Łukasz Langa [Thu, 22 Mar 2018 00:55:36 +0000 (17:55 -0700)]
Pin attrs to >=17.4.0 for @dataclass use

Fixes #54

6 years agoMention how stdio handling works
Łukasz Langa [Thu, 22 Mar 2018 00:37:16 +0000 (17:37 -0700)]
Mention how stdio handling works

Fixes #57

6 years agoExtra newlines in code examples
Łukasz Langa [Thu, 22 Mar 2018 00:14:29 +0000 (17:14 -0700)]
Extra newlines in code examples

6 years agoTwine 1.11.0
Łukasz Langa [Thu, 22 Mar 2018 00:06:19 +0000 (17:06 -0700)]
Twine 1.11.0

6 years ago18.3a3
Łukasz Langa [Wed, 21 Mar 2018 02:05:51 +0000 (19:05 -0700)]
18.3a3

6 years agoFix tests on 3.7
Łukasz Langa [Wed, 21 Mar 2018 02:04:49 +0000 (19:04 -0700)]
Fix tests on 3.7

6 years agoMention joslarson.black-vscode
Łukasz Langa [Wed, 21 Mar 2018 01:57:33 +0000 (18:57 -0700)]
Mention joslarson.black-vscode

Fixes #45

6 years agoTreat comments less magically
Łukasz Langa [Wed, 21 Mar 2018 01:42:29 +0000 (18:42 -0700)]
Treat comments less magically

6 years agoSupport skipping AST printing on test failure
Łukasz Langa [Wed, 21 Mar 2018 01:40:20 +0000 (18:40 -0700)]
Support skipping AST printing on test failure

6 years agoDon't write back stdin to stdout when --check is passed
Łukasz Langa [Wed, 21 Mar 2018 01:20:20 +0000 (18:20 -0700)]
Don't write back stdin to stdout when --check is passed

6 years agoFix numpy-style array indexing for real
Łukasz Langa [Wed, 21 Mar 2018 01:17:20 +0000 (18:17 -0700)]
Fix numpy-style array indexing for real

Fixes #33

6 years agoDon't remove single empty lines outside of bracketed expressions
Ł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

6 years agoRestore ability to format code with legacy usage of `async` as a name
Ł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

6 years agoUpdate README with stdin information
Łukasz Langa [Wed, 21 Mar 2018 01:00:20 +0000 (18:00 -0700)]
Update README with stdin information

6 years agoAdd piping from stdin to stdout with a - (#25)
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.

6 years agoMore support for numpy tuple indexing
Łukasz Langa [Sat, 17 Mar 2018 09:39:53 +0000 (02:39 -0700)]
More support for numpy tuple indexing

6 years agoUpdate formatting example
Łukasz Langa [Sat, 17 Mar 2018 09:13:11 +0000 (02:13 -0700)]
Update formatting example

6 years ago18.3a2
Łukasz Langa [Sat, 17 Mar 2018 08:06:22 +0000 (01:06 -0700)]
18.3a2

6 years agoNative README.md support on PyPI \o/
Ł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

6 years agoSet a 3.6+ python-tag for the wheel
Łukasz Langa [Sat, 17 Mar 2018 08:15:46 +0000 (01:15 -0700)]
Set a 3.6+ python-tag for the wheel

Fixes #37

6 years agoDon't fold postscriptum standalone comment into last statement
Ł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

6 years agoConsolidate empty line handling in EmptyLineTracker
Ł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.

6 years agoDon't put four empty lines between top-level functions split by a comment
Ł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

6 years agoDescribe fix for #21 in README
Łukasz Langa [Sat, 17 Mar 2018 04:55:41 +0000 (21:55 -0700)]
Describe fix for #21 in README

6 years agoblib2to3: Never put prefixes on DEDENT leaves
Łukasz Langa [Sat, 17 Mar 2018 04:47:15 +0000 (21:47 -0700)]
blib2to3: Never put prefixes on DEDENT leaves

6 years agoLine breaks before logical operators (#36)
Mika⠙ [Sat, 17 Mar 2018 04:45:51 +0000 (05:45 +0100)]
Line breaks before logical operators (#36)

Fixes #21

6 years agoUse implicit defaults for auto_attribs
Łukasz Langa [Sat, 17 Mar 2018 00:42:57 +0000 (17:42 -0700)]
Use implicit defaults for auto_attribs

It reads much nicer.

6 years agoRemove the trailing comma if there is only one argument to a call
Ł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.

6 years agoIgnore empty bracket pairs while splitting
Łukasz Langa [Sat, 17 Mar 2018 00:09:23 +0000 (17:09 -0700)]
Ignore empty bracket pairs while splitting

Fixes #35

6 years agoAdd words
Łukasz Langa [Fri, 16 Mar 2018 08:05:36 +0000 (01:05 -0700)]
Add words

6 years agoAdd flake8 to CI, too
Łukasz Langa [Fri, 16 Mar 2018 07:42:15 +0000 (00:42 -0700)]
Add flake8 to CI, too

6 years agoBump version, update README with current fixes
Łukasz Langa [Fri, 16 Mar 2018 07:01:22 +0000 (00:01 -0700)]
Bump version, update README with current fixes

6 years agoFix spurious space after star-based unary expression
Ł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

6 years agoAlso run mypy on test_black.py
Łukasz Langa [Fri, 16 Mar 2018 06:55:22 +0000 (23:55 -0700)]
Also run mypy on test_black.py

6 years agoFix numpy-style array indexing
Łukasz Langa [Fri, 16 Mar 2018 06:39:45 +0000 (23:39 -0700)]
Fix numpy-style array indexing

Fixes #33

6 years agoClean up typing ignores, fix build
Łukasz Langa [Fri, 16 Mar 2018 06:26:56 +0000 (23:26 -0700)]
Clean up typing ignores, fix build

6 years agoAdd mypy to CI
Łukasz Langa [Fri, 16 Mar 2018 06:17:02 +0000 (23:17 -0700)]
Add mypy to CI

6 years agoOnly use trailing commas in function signatures when it's safe
Ł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

6 years agoDon't split on for-loop variable unpacks
Łukasz Langa [Fri, 16 Mar 2018 02:20:42 +0000 (19:20 -0700)]
Don't split on for-loop variable unpacks

Fixes #23

6 years agoFix tests after introducing --check
Łukasz Langa [Fri, 16 Mar 2018 00:05:59 +0000 (17:05 -0700)]
Fix tests after introducing --check

6 years agoAdd --check
Łukasz Langa [Thu, 15 Mar 2018 23:01:57 +0000 (16:01 -0700)]
Add --check

Fixes #9

6 years agoFixed malformed link to pathlib
Osaetin Daniel [Thu, 15 Mar 2018 21:37:21 +0000 (22:37 +0100)]
Fixed malformed link to pathlib

6 years agoFix spurious space after unary expression
Ł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

6 years agoFix spurious extra spaces after opening parentheses and in default arguments
Ł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

6 years agoFix spurious space in parenthesized set expressions
Łukasz Langa [Thu, 15 Mar 2018 18:28:59 +0000 (11:28 -0700)]
Fix spurious space in parenthesized set expressions

Fixes #7

6 years agoFix invalid spacing of dots in relative imports
Ł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

6 years agoAdd Python 3-only classifier
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

6 years agoUse HTTPS
Hugo [Thu, 15 Mar 2018 07:11:35 +0000 (09:11 +0200)]
Use HTTPS

6 years agoMention *args and **kwargs backport
Łukasz Langa [Thu, 15 Mar 2018 17:12:46 +0000 (10:12 -0700)]
Mention *args and **kwargs backport

6 years agoUpdate code formatting
Hugo [Thu, 15 Mar 2018 08:09:47 +0000 (10:09 +0200)]
Update code formatting

!XXX doesn't render as code formatting, XXX does

6 years agotestimonials += 1 # kennethreitz
Łukasz Langa [Wed, 14 Mar 2018 21:38:33 +0000 (14:38 -0700)]
testimonials += 1  # kennethreitz

6 years agoBummer, Python 3.8 builds don't work yet
Łukasz Langa [Wed, 14 Mar 2018 21:26:14 +0000 (14:26 -0700)]
Bummer, Python 3.8 builds don't work yet

6 years agoActually use the bundled Grammar.txt
Łukasz Langa [Wed, 14 Mar 2018 21:20:16 +0000 (14:20 -0700)]
Actually use the bundled Grammar.txt

6 years agoInclude Grammar.txt in the distribution
Łukasz Langa [Wed, 14 Mar 2018 21:16:34 +0000 (14:16 -0700)]
Include Grammar.txt in the distribution

6 years agoInitial commit
Łukasz Langa [Wed, 14 Mar 2018 19:55:32 +0000 (12:55 -0700)]
Initial commit