]>
git.madduck.net Git - etc/vim.git/blobdiff - src/black/brackets.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:
Matching brackets are included.
"""
try:
Matching brackets are included.
"""
try:
- # Only track brackets from the first opening bracket to the last closing
- # bracket.
+ # Start with the first opening bracket and ignore closing brackets before.
start_index = next(
i for i, l in enumerate(leaves) if l.type in OPENING_BRACKETS
)
start_index = next(
i for i, l in enumerate(leaves) if l.type in OPENING_BRACKETS
)
- end_index = next(
- len(leaves) - i
- for i, l in enumerate(reversed(leaves))
- if l.type in CLOSING_BRACKETS
- )
except StopIteration:
return set()
except StopIteration:
return set()
- depth = 0
- for i in range(end_index, start_index - 1, -1):
+ for i in range(start_index, len(leaves)):
- if leaf.type in CLOSING_BRACKETS:
- depth += 1
- if depth > 0:
- ids.add(id(leaf))
if leaf.type in OPENING_BRACKETS:
if leaf.type in OPENING_BRACKETS:
+ bracket_stack.append((BRACKET[leaf.type], i))
+ if leaf.type in CLOSING_BRACKETS:
+ if bracket_stack and leaf.type == bracket_stack[-1][0]:
+ _, start = bracket_stack.pop()
+ for j in range(start, i + 1):
+ ids.add(id(leaves[j]))
+ else:
+ break