summaryrefslogtreecommitdiffstats
path: root/powerline/shell.py
diff options
context:
space:
mode:
Diffstat (limited to 'powerline/shell.py')
-rw-r--r--powerline/shell.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/powerline/shell.py b/powerline/shell.py
new file mode 100644
index 0000000..e10692c
--- /dev/null
+++ b/powerline/shell.py
@@ -0,0 +1,38 @@
+# 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