Merge pull request #1257 from ZyX-I/ipython-fixes

Apply some fixes for IPython bindings
This commit is contained in:
Nikolai Aleksandrovich Pavlov 2015-01-08 03:28:46 +03:00
commit 3ba6948d56
4 changed files with 24 additions and 5 deletions

View File

@ -764,7 +764,10 @@ class Powerline(object):
self.exception('Failed to render: {0}', str(e))
except Exception as e:
exc = e
return FailedUnicode(safe_unicode(exc))
ret = FailedUnicode(safe_unicode(exc))
if kwargs.get('output_width', False):
ret = ret, len(ret)
return ret
def render_above_lines(self, *args, **kwargs):
'''Like .render(), but for ``self.renderer.render_above_lines()``

View File

@ -33,9 +33,16 @@ class IPythonRenderer(ShellRenderer):
if 'theme' in match:
match['theme'].shutdown()
def render(self, *args, **kwargs):
def render(self, **kwargs):
# XXX super(ShellRenderer), *not* super(IPythonRenderer)
return super(ShellRenderer, self).render(*args, **kwargs)
return super(ShellRenderer, self).render(**kwargs)
def do_render(self, segment_info, **kwargs):
segment_info.update(client_id='ipython')
return super(IPythonRenderer, self).do_render(
segment_info=segment_info,
**kwargs
)
class IPythonPromptRenderer(IPythonRenderer):

View File

@ -2,7 +2,7 @@ import os
c = get_config()
c.InteractiveShellApp.extensions = ['powerline.bindings.ipython.post_0_11']
c.TerminalInteractiveShell.autocall = 1
c.Powerline.paths = [os.path.abspath('powerline/config_files')]
c.Powerline.config_paths = [os.path.abspath('powerline/config_files')]
c.Powerline.theme_overrides = {
'in': {
'segment_data': {

View File

@ -90,7 +90,7 @@ run() {
NL="$(printf '\nE')"
NL="${NL%E}"
run_test() {
do_run_test() {
TEST_TYPE="$1"
shift
TEST_CLIENT="$1"
@ -180,6 +180,15 @@ run_test() {
return 0
}
run_test() {
local attempts=3
while test $attempts -gt 0 ; do
do_run_test "$@" && return 0
attempts=$(( attempts - 1 ))
done
return 1
}
test -d tests/shell && rm -r tests/shell
mkdir tests/shell
git init tests/shell/3rd