Split Renderer.render() into .render() and .do_render()
This commit is contained in:
parent
fcc397100e
commit
72b7744b98
|
@ -219,8 +219,20 @@ class Renderer(object):
|
||||||
Matcher information. Is processed in ``.get_theme()`` method.
|
Matcher information. Is processed in ``.get_theme()`` method.
|
||||||
'''
|
'''
|
||||||
theme = self.get_theme(matcher_info)
|
theme = self.get_theme(matcher_info)
|
||||||
segments = theme.get_segments(side, line, self.get_segment_info(segment_info, mode))
|
return self.do_render(
|
||||||
|
mode=mode,
|
||||||
|
width=width,
|
||||||
|
side=side,
|
||||||
|
line=line,
|
||||||
|
output_raw=output_raw,
|
||||||
|
segment_info=segment_info,
|
||||||
|
theme=theme,
|
||||||
|
)
|
||||||
|
|
||||||
|
def do_render(self, mode, width, side, line, output_raw, segment_info, theme):
|
||||||
|
'''Like Renderer.render(), but accept theme in place of matcher_info
|
||||||
|
'''
|
||||||
|
segments = theme.get_segments(side, line, self.get_segment_info(segment_info, mode))
|
||||||
# Handle excluded/included segments for the current mode
|
# Handle excluded/included segments for the current mode
|
||||||
segments = [
|
segments = [
|
||||||
self._get_highlighting(segment, segment['mode'] or mode)
|
self._get_highlighting(segment, segment['mode'] or mode)
|
||||||
|
@ -252,8 +264,6 @@ class Renderer(object):
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
length = self._render_length(theme, segments, divider_lengths)
|
|
||||||
|
|
||||||
# Create an ordered list of segments that can be dropped
|
# Create an ordered list of segments that can be dropped
|
||||||
segments_priority = sorted((segment for segment in segments if segment['priority'] is not None), key=lambda segment: segment['priority'], reverse=True)
|
segments_priority = sorted((segment for segment in segments if segment['priority'] is not None), key=lambda segment: segment['priority'], reverse=True)
|
||||||
for segment in segments_priority:
|
for segment in segments_priority:
|
||||||
|
|
Loading…
Reference in New Issue