]>
git.madduck.net Git - etc/vim.git/blobdiff - src/black/comments.py
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:
# fix for fmt: on in children
if children_contains_fmt_on(container, preview=preview):
# fix for fmt: on in children
if children_contains_fmt_on(container, preview=preview):
- for child in container.children :
+ for index, child in enumerate(container.children) :
if isinstance(child, Leaf) and is_fmt_on(child, preview=preview):
if child.type in CLOSING_BRACKETS:
# This means `# fmt: on` is placed at a different bracket level
if isinstance(child, Leaf) and is_fmt_on(child, preview=preview):
if child.type in CLOSING_BRACKETS:
# This means `# fmt: on` is placed at a different bracket level
# The alternative is to fail the formatting.
yield child
return
# The alternative is to fail the formatting.
yield child
return
+ if (
+ child.type == token.INDENT
+ and index < len(container.children) - 1
+ and children_contains_fmt_on(
+ container.children[index + 1], preview=preview
+ )
+ ):
+ # This means `# fmt: on` is placed right after an indentation
+ # level, and we shouldn't swallow the previous INDENT token.
+ return
if children_contains_fmt_on(child, preview=preview):
return
yield child
if children_contains_fmt_on(child, preview=preview):
return
yield child
while "\n" not in prev_sibling.prefix and prev_sibling.prev_sibling is not None:
prev_sibling = prev_sibling.prev_sibling
siblings.insert(0, prev_sibling)
while "\n" not in prev_sibling.prefix and prev_sibling.prev_sibling is not None:
prev_sibling = prev_sibling.prev_sibling
siblings.insert(0, prev_sibling)
- for sibling in siblings:
- yield sibling
elif (
parent is not None and parent.type == syms.suite and leaf.type == token.NEWLINE
):
elif (
parent is not None and parent.type == syms.suite and leaf.type == token.NEWLINE
):