def condense_option_values(formatter, styles, condensed):
# type: (CodeFormatter, Iterable[Style], bool) -> List[Style]
# Use idx to prevent sorted to look at unorderable dicts.
triplets = [(keypaths(style), idx, style) for idx, style in enumerate(styles)]
triplets = sorted(triplets)
pairs = [(kp, style) for kp, idx, style in triplets]
if condensed:
equivalents = []
for kpaths, kp_styles in itertools.groupby(pairs, operator.itemgetter(0)):
styles = [kps[1] for kps in kp_styles]
for style in group_consecutive(formatter, styles, condensed):
equivalents.append(style)
else:
equivalents = [style for _, style in pairs]
return equivalents
评论列表
文章目录