From 219b81d23daebee389faf78cea002311420975aa Mon Sep 17 00:00:00 2001 From: ZyX Date: Mon, 27 Jan 2014 00:00:25 +0400 Subject: [PATCH] Fix tcsh escaping --- powerline/bindings/tcsh/powerline.tcsh | 4 ++-- powerline/renderers/tcsh_prompt.py | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 powerline/renderers/tcsh_prompt.py diff --git a/powerline/bindings/tcsh/powerline.tcsh b/powerline/bindings/tcsh/powerline.tcsh index d60b46d1..48566318 100644 --- a/powerline/bindings/tcsh/powerline.tcsh +++ b/powerline/bindings/tcsh/powerline.tcsh @@ -15,7 +15,7 @@ if ! $?POWERLINE_COMMAND then endif endif alias _powerline_tmux_set_pwd 'if $?TMUX tmux setenv -g TMUX_PWD_`tmux display -p "#D" | tr -d %` $PWD:q ; if $?TMUX tmux refresh -S' -alias _powerline_set_prompt 'set prompt="`$POWERLINE_COMMAND shell left -r zsh_prompt --last_exit_code=$?`"' -alias _powerline_set_rprompt 'set rprompt="`$POWERLINE_COMMAND shell right -r zsh_prompt --last_exit_code=$?` "' +alias _powerline_set_prompt 'set prompt="`$POWERLINE_COMMAND shell left -r tcsh_prompt --last_exit_code=$?`"' +alias _powerline_set_rprompt 'set rprompt="`$POWERLINE_COMMAND shell right -r tcsh_prompt --last_exit_code=$?` "' alias cwdcmd "`alias cwdcmd` ; _powerline_tmux_set_pwd" alias precmd "`alias precmd` ; _powerline_set_prompt ; _powerline_set_rprompt" diff --git a/powerline/renderers/tcsh_prompt.py b/powerline/renderers/tcsh_prompt.py new file mode 100644 index 00000000..adbb91c9 --- /dev/null +++ b/powerline/renderers/tcsh_prompt.py @@ -0,0 +1,16 @@ +# vim:fileencoding=utf-8:noet + +from __future__ import absolute_import, unicode_literals + +from powerline.renderers.zsh_prompt import ZshPromptRenderer + + +class TcshPromptRenderer(ZshPromptRenderer): + '''Powerline tcsh prompt segment renderer.''' + character_translations = ZshPromptRenderer.character_translations.copy() + character_translations[ord('%')] = '%%' + character_translations[ord('\\')] = '\\\\' + character_translations[ord('^')] = '\\^' + + +renderer = TcshPromptRenderer