]>
git.madduck.net Git - etc/vim.git/blobdiff - black.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:
STRING_PRIORITY = 12
COMPARATOR_PRIORITY = 10
MATH_PRIORITIES = {
STRING_PRIORITY = 12
COMPARATOR_PRIORITY = 10
MATH_PRIORITIES = {
- token.VBAR: 8 ,
- token.CIRCUMFLEX: 7 ,
- token.AMPER: 6 ,
- token.LEFTSHIFT: 5 ,
- token.RIGHTSHIFT: 5 ,
- token.PLUS: 4 ,
- token.MINUS: 4 ,
- token.STAR: 3 ,
- token.SLASH: 3 ,
- token.DOUBLESLASH: 3 ,
- token.PERCENT: 3 ,
- token.AT: 3 ,
- token.TILDE: 2 ,
- token.DOUBLESTAR: 1 ,
+ token.VBAR: 9 ,
+ token.CIRCUMFLEX: 8 ,
+ token.AMPER: 7 ,
+ token.LEFTSHIFT: 6 ,
+ token.RIGHTSHIFT: 6 ,
+ token.PLUS: 5 ,
+ token.MINUS: 5 ,
+ token.STAR: 4 ,
+ token.SLASH: 4 ,
+ token.DOUBLESLASH: 4 ,
+ token.PERCENT: 4 ,
+ token.AT: 4 ,
+ token.TILDE: 3 ,
+ token.DOUBLESTAR: 2 ,
# Don't treat them as a delimiter.
return 0
# Don't treat them as a delimiter.
return 0
+ if (
+ leaf.type == token.DOT
+ and leaf.parent
+ and leaf.parent.type not in {syms.import_from, syms.dotted_name}
+ and (previous is None or previous.type != token.NAME)
+ ):
+ return DOT_PRIORITY
+
if (
leaf.type in MATH_OPERATORS
and leaf.parent
if (
leaf.type in MATH_OPERATORS
and leaf.parent
):
return STRING_PRIORITY
):
return STRING_PRIORITY
+ if leaf.type != token.NAME:
+ return 0
+
- leaf.type == token.NAME
- and leaf.value == "for"
and leaf.parent
and leaf.parent.type in {syms.comp_for, syms.old_comp_for}
):
return COMPREHENSION_PRIORITY
if (
and leaf.parent
and leaf.parent.type in {syms.comp_for, syms.old_comp_for}
):
return COMPREHENSION_PRIORITY
if (
- leaf.type == token.NAME
- and leaf.value == "if"
and leaf.parent
and leaf.parent.type in {syms.comp_if, syms.old_comp_if}
):
return COMPREHENSION_PRIORITY
and leaf.parent
and leaf.parent.type in {syms.comp_if, syms.old_comp_if}
):
return COMPREHENSION_PRIORITY
+ if leaf.value in {"if", "else"} and leaf.parent and leaf.parent.type == syms.test:
+ return TERNARY_PRIORITY
+
+ if leaf.value == "is":
+ return COMPARATOR_PRIORITY
+
- leaf.type == token.NAME
- and leaf.value in {"if", "else"}
- and leaf.parent.type == syms.test
+ and leaf.parent.type in {syms.comp_op, syms.comparison}
+ and not (
+ previous is not None
+ and previous.type == token.NAME
+ and previous.value == "not"
+ )
- return TERNARY_PRIORITY
+ return COMPARATOR_PRIORITY
+
+ if (
+ leaf.value == "not"
+ and leaf.parent
+ and leaf.parent.type == syms.comp_op
+ and not (
+ previous is not None
+ and previous.type == token.NAME
+ and previous.value == "is"
+ )
+ ):
+ return COMPARATOR_PRIORITY
- if leaf.type == token.NAME and leaf. value in LOGIC_OPERATORS and leaf.parent:
+ if leaf.value in LOGIC_OPERATORS and leaf.parent:
return LOGIC_PRIORITY
return 0
return LOGIC_PRIORITY
return 0
except ValueError:
raise CannotSplit("No delimiters found")
except ValueError:
raise CannotSplit("No delimiters found")
+ if delimiter_priority == DOT_PRIORITY:
+ if bt.delimiter_count_with_priority(delimiter_priority) == 1:
+ raise CannotSplit("Splitting a single attribute from its owner looks wrong")
+
current_line = Line(depth=line.depth, inside_brackets=line.inside_brackets)
lowest_depth = sys.maxsize
trailing_comma_safe = True
current_line = Line(depth=line.depth, inside_brackets=line.inside_brackets)
lowest_depth = sys.maxsize
trailing_comma_safe = True