39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
|
# vim:fileencoding=utf-8:noet
|
||
|
from __future__ import (unicode_literals, division, absolute_import, print_function)
|
||
|
|
||
|
from powerline import Powerline
|
||
|
from powerline.lib.dict import mergedicts
|
||
|
|
||
|
|
||
|
class ShellPowerline(Powerline):
|
||
|
def init(self, args, **kwargs):
|
||
|
self.args = args
|
||
|
super(ShellPowerline, self).init(args.ext[0], args.renderer_module, **kwargs)
|
||
|
|
||
|
def load_main_config(self):
|
||
|
r = super(ShellPowerline, self).load_main_config()
|
||
|
if self.args.config_override:
|
||
|
mergedicts(r, self.args.config_override)
|
||
|
return r
|
||
|
|
||
|
def load_theme_config(self, name):
|
||
|
r = super(ShellPowerline, self).load_theme_config(name)
|
||
|
if self.args.theme_override and name in self.args.theme_override:
|
||
|
mergedicts(r, self.args.theme_override[name])
|
||
|
return r
|
||
|
|
||
|
def get_config_paths(self):
|
||
|
return self.args.config_path or super(ShellPowerline, self).get_config_paths()
|
||
|
|
||
|
def get_local_themes(self, local_themes):
|
||
|
if not local_themes:
|
||
|
return {}
|
||
|
|
||
|
return dict((
|
||
|
(key, {'config': self.load_theme_config(val)})
|
||
|
for key, val in local_themes.items()
|
||
|
))
|
||
|
|
||
|
def do_setup(self, obj):
|
||
|
obj.powerline = self
|