mirror of
https://github.com/powerline/powerline.git
synced 2025-07-30 17:25:28 +02:00
Move some functions out of classes
No need to have static methods that are not supposed to be overridden and that do not benefit from `self' argument they do not receive
This commit is contained in:
parent
2c445a9356
commit
696478593d
@ -9,6 +9,13 @@ except NameError:
|
||||
NBSP = ' '
|
||||
|
||||
|
||||
def construct_returned_value(rendered_highlighted, segments, output_raw):
|
||||
if output_raw:
|
||||
return rendered_highlighted, ''.join((segment['_rendered_raw'] for segment in segments))
|
||||
else:
|
||||
return rendered_highlighted
|
||||
|
||||
|
||||
class Renderer(object):
|
||||
def __init__(self, theme_config, local_themes, theme_kwargs, colorscheme, **options):
|
||||
self.__dict__.update(options)
|
||||
@ -52,7 +59,7 @@ class Renderer(object):
|
||||
|
||||
if not width:
|
||||
# No width specified, so we don't need to crop or pad anything
|
||||
return self._returned_value(''.join([segment['_rendered_hl'] for segment in segments]) + self.hlstyle(), segments, output_raw)
|
||||
return construct_returned_value(''.join([segment['_rendered_hl'] for segment in segments]) + self.hlstyle(), segments, output_raw)
|
||||
|
||||
# Create an ordered list of segments that can be dropped
|
||||
segments_priority = [segment for segment in sorted(segments, key=lambda segment: segment['priority'], reverse=True) if segment['priority'] > 0]
|
||||
@ -77,7 +84,7 @@ class Renderer(object):
|
||||
|
||||
rendered_highlighted = ''.join([segment['_rendered_hl'] for segment in self._render_segments(theme, segments)]) + self.hlstyle()
|
||||
|
||||
return self._returned_value(rendered_highlighted, segments, output_raw)
|
||||
return construct_returned_value(rendered_highlighted, segments, output_raw)
|
||||
|
||||
def _render_segments(self, theme, segments, render_highlighted=True):
|
||||
'''Internal segment rendering method.
|
||||
@ -154,24 +161,10 @@ class Renderer(object):
|
||||
segment['_len'] = len(segment['_rendered_raw'])
|
||||
yield segment
|
||||
|
||||
@staticmethod
|
||||
def _returned_value(rendered_highlighted, segments, output_raw):
|
||||
if output_raw:
|
||||
return rendered_highlighted, ''.join((segment['_rendered_raw'] for segment in segments))
|
||||
else:
|
||||
return rendered_highlighted
|
||||
|
||||
@staticmethod
|
||||
def escape(string):
|
||||
return string
|
||||
|
||||
@staticmethod
|
||||
def _int_to_rgb(int):
|
||||
r = (int >> 16) & 0xff
|
||||
g = (int >> 8) & 0xff
|
||||
b = int & 0xff
|
||||
return r, g, b
|
||||
|
||||
def hlstyle(fg=None, bg=None, attr=None):
|
||||
raise NotImplementedError
|
||||
|
||||
|
@ -4,6 +4,13 @@ from powerline.renderer import Renderer
|
||||
from powerline.colorscheme import ATTR_BOLD, ATTR_ITALIC, ATTR_UNDERLINE
|
||||
|
||||
|
||||
def int_to_rgb(num):
|
||||
r = (num >> 16) & 0xff
|
||||
g = (num >> 8) & 0xff
|
||||
b = num & 0xff
|
||||
return r, g, b
|
||||
|
||||
|
||||
class ShellRenderer(Renderer):
|
||||
'''Powerline shell segment renderer.'''
|
||||
escape_hl_start = ''
|
||||
@ -25,7 +32,7 @@ class ShellRenderer(Renderer):
|
||||
ansi += [39]
|
||||
else:
|
||||
if self.term_truecolor:
|
||||
ansi += [38, 2] + list(self._int_to_rgb(fg[1]))
|
||||
ansi += [38, 2] + list(int_to_rgb(fg[1]))
|
||||
else:
|
||||
ansi += [38, 5, fg[0]]
|
||||
if bg is not None:
|
||||
@ -33,7 +40,7 @@ class ShellRenderer(Renderer):
|
||||
ansi += [49]
|
||||
else:
|
||||
if self.term_truecolor:
|
||||
ansi += [48, 2] + list(self._int_to_rgb(bg[1]))
|
||||
ansi += [48, 2] + list(int_to_rgb(bg[1]))
|
||||
else:
|
||||
ansi += [48, 5, bg[0]]
|
||||
if attr is not None:
|
||||
|
Loading…
x
Reference in New Issue
Block a user