mirror of
https://github.com/powerline/powerline.git
synced 2025-07-31 01:35:40 +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 = ' '
|
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):
|
class Renderer(object):
|
||||||
def __init__(self, theme_config, local_themes, theme_kwargs, colorscheme, **options):
|
def __init__(self, theme_config, local_themes, theme_kwargs, colorscheme, **options):
|
||||||
self.__dict__.update(options)
|
self.__dict__.update(options)
|
||||||
@ -52,7 +59,7 @@ class Renderer(object):
|
|||||||
|
|
||||||
if not width:
|
if not width:
|
||||||
# No width specified, so we don't need to crop or pad anything
|
# 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
|
# 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]
|
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()
|
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):
|
def _render_segments(self, theme, segments, render_highlighted=True):
|
||||||
'''Internal segment rendering method.
|
'''Internal segment rendering method.
|
||||||
@ -154,24 +161,10 @@ class Renderer(object):
|
|||||||
segment['_len'] = len(segment['_rendered_raw'])
|
segment['_len'] = len(segment['_rendered_raw'])
|
||||||
yield segment
|
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
|
@staticmethod
|
||||||
def escape(string):
|
def escape(string):
|
||||||
return 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):
|
def hlstyle(fg=None, bg=None, attr=None):
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
|
@ -4,6 +4,13 @@ from powerline.renderer import Renderer
|
|||||||
from powerline.colorscheme import ATTR_BOLD, ATTR_ITALIC, ATTR_UNDERLINE
|
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):
|
class ShellRenderer(Renderer):
|
||||||
'''Powerline shell segment renderer.'''
|
'''Powerline shell segment renderer.'''
|
||||||
escape_hl_start = ''
|
escape_hl_start = ''
|
||||||
@ -25,7 +32,7 @@ class ShellRenderer(Renderer):
|
|||||||
ansi += [39]
|
ansi += [39]
|
||||||
else:
|
else:
|
||||||
if self.term_truecolor:
|
if self.term_truecolor:
|
||||||
ansi += [38, 2] + list(self._int_to_rgb(fg[1]))
|
ansi += [38, 2] + list(int_to_rgb(fg[1]))
|
||||||
else:
|
else:
|
||||||
ansi += [38, 5, fg[0]]
|
ansi += [38, 5, fg[0]]
|
||||||
if bg is not None:
|
if bg is not None:
|
||||||
@ -33,7 +40,7 @@ class ShellRenderer(Renderer):
|
|||||||
ansi += [49]
|
ansi += [49]
|
||||||
else:
|
else:
|
||||||
if self.term_truecolor:
|
if self.term_truecolor:
|
||||||
ansi += [48, 2] + list(self._int_to_rgb(bg[1]))
|
ansi += [48, 2] + list(int_to_rgb(bg[1]))
|
||||||
else:
|
else:
|
||||||
ansi += [48, 5, bg[0]]
|
ansi += [48, 5, bg[0]]
|
||||||
if attr is not None:
|
if attr is not None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user