summaryrefslogtreecommitdiffstats
path: root/powerline/pdb.py
diff options
context:
space:
mode:
Diffstat (limited to 'powerline/pdb.py')
-rw-r--r--powerline/pdb.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/powerline/pdb.py b/powerline/pdb.py
new file mode 100644
index 0000000..b1e13ce
--- /dev/null
+++ b/powerline/pdb.py
@@ -0,0 +1,48 @@
+# vim:fileencoding=utf-8:noet
+from __future__ import (unicode_literals, division, absolute_import, print_function)
+
+import sys
+import platform
+import os
+
+from powerline import Powerline
+from powerline.lib.overrides import parse_override_var
+from powerline.lib.dict import mergeargs, mergedicts
+
+
+class PDBPowerline(Powerline):
+ '''PDB-specific powerline bindings
+ '''
+ def init(self, **kwargs):
+ return super(PDBPowerline, self).init(
+ ext='pdb',
+ renderer_module='pdb',
+ **kwargs
+ )
+
+ def do_setup(self, pdb):
+ self.update_renderer()
+ self.renderer.set_pdb(pdb)
+
+ def load_main_config(self):
+ r = super(PDBPowerline, self).load_main_config()
+ config_overrides = os.environ.get('POWERLINE_CONFIG_OVERRIDES')
+ if config_overrides:
+ mergedicts(r, mergeargs(parse_override_var(config_overrides)))
+ return r
+
+ def load_theme_config(self, name):
+ r = super(PDBPowerline, self).load_theme_config(name)
+ theme_overrides = os.environ.get('POWERLINE_THEME_OVERRIDES')
+ if theme_overrides:
+ theme_overrides_dict = mergeargs(parse_override_var(theme_overrides))
+ if name in theme_overrides_dict:
+ mergedicts(r, theme_overrides_dict[name])
+ return r
+
+ def get_config_paths(self):
+ paths = [path for path in os.environ.get('POWERLINE_CONFIG_PATHS', '').split(':') if path]
+ return paths or super(PDBPowerline, self).get_config_paths()
+
+ if sys.version_info < (3,) and platform.python_implementation() == 'PyPy':
+ get_encoding = staticmethod(lambda: 'ascii')