40 lines
1,009 B
Bash
40 lines
1,009 B
Bash
|
_powerline_tmux_setenv() {
|
||
|
emulate -L zsh
|
||
|
if [[ -n "$TMUX" ]]; then
|
||
|
tmux setenv TMUX_"$1"_$(tmux display -p "#D" | tr -d %) "$2"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
_powerline_tmux_set_pwd() {
|
||
|
_powerline_tmux_setenv PWD "$PWD"
|
||
|
}
|
||
|
|
||
|
_powerline_tmux_set_columns() {
|
||
|
_powerline_tmux_setenv COLUMNS "$COLUMNS"
|
||
|
}
|
||
|
|
||
|
_powerline_install_precmd() {
|
||
|
emulate zsh
|
||
|
for f in "${precmd_functions[@]}"; do
|
||
|
if [[ "$f" = "_powerline_precmd" ]]; then
|
||
|
return
|
||
|
fi
|
||
|
done
|
||
|
chpwd_functions+=( _powerline_tmux_set_pwd )
|
||
|
setopt promptpercent
|
||
|
setopt promptsubst
|
||
|
if zmodload zsh/zpython &>/dev/null ; then
|
||
|
zpython 'from powerline.bindings.zsh import setup as powerline_setup'
|
||
|
zpython 'powerline_setup()'
|
||
|
zpython 'del powerline_setup'
|
||
|
else
|
||
|
PS1='$(powerline shell left -r zsh_prompt --last_exit_code=$? --last_pipe_status="$pipestatus")'
|
||
|
RPS1='$(powerline shell right -r zsh_prompt --last_exit_code=$? --last_pipe_status="$pipestatus")'
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
trap "_powerline_tmux_set_columns" SIGWINCH
|
||
|
_powerline_tmux_set_columns
|
||
|
|
||
|
_powerline_install_precmd
|