diff --git a/powerline/bindings/bash/powerline.sh b/powerline/bindings/bash/powerline.sh index c24ca077..18757743 100644 --- a/powerline/bindings/bash/powerline.sh +++ b/powerline/bindings/bash/powerline.sh @@ -1,8 +1,3 @@ -_powerline_prompt_command() { - export PS1="$(powerline-prompt --last_exit_code=$? left)" - _powerline_tmux_set_pwd -} - _powerline_tmux_setenv() { if [[ -n "$TMUX" ]]; then tmux setenv TMUX_"$1"_$(tmux display -p "#D" | tr -d %) "$2" @@ -20,4 +15,5 @@ _powerline_tmux_set_columns() { trap "_powerline_tmux_set_columns" SIGWINCH kill -SIGWINCH "$$" -export PROMPT_COMMAND="_powerline_prompt_command" +export PROMPT_COMMAND="_powerline_tmux_set_pwd" +PS1='$(powerline-prompt --last_exit_code=$? left)' diff --git a/powerline/renderers/shell.py b/powerline/renderers/shell.py index 14246998..3797429f 100644 --- a/powerline/renderers/shell.py +++ b/powerline/renderers/shell.py @@ -36,3 +36,7 @@ class ShellRenderer(Renderer): if attr & Renderer.ATTR_BOLD: ansi += [1] return '[{0}m'.format(';'.join(str(attr) for attr in ansi)) + + @staticmethod + def escape(string): + return string.replace('\\', '\\\\') diff --git a/powerline/renderers/zsh_prompt.py b/powerline/renderers/zsh_prompt.py index 0a37cadb..f0d0e533 100644 --- a/powerline/renderers/zsh_prompt.py +++ b/powerline/renderers/zsh_prompt.py @@ -15,4 +15,4 @@ class ZshPromptRenderer(ShellRenderer): @staticmethod def escape(string): - return string.replace('%', '%%') + return string.replace('%', '%%').replace('\\', '\\\\')