Hi there, folks! Been using Atuin for a while now, but after a recent clean install of my OS, I noticed the RPS1 set by my zsh (+ ohmyzsh) theme gets mysteriously unset!
After some digging, I noticed the function __atuin_osc133_wrap_prompt was actually responsible for the odd behaviour, and I could get my theme working again by replacing it right after Atuin’s eval command:
eval "$(atuin init zsh --disable-up-arrow)" || true
__atuin_osc133_wrap_prompt() { :; }
This is my (small and humble) theme, and I must leave the fair warning that it’s my first and I’m definitely not an expert at this haha
FG_DIM=$'%{\e[38;5;8m%}'
FG_RED=$'%{\e[38;5;9m%}'
FG_NORMAL=$'%{\e[38;5;245m%}'
prompt_vi_git_info() {
ref=$(command git symbolic-ref HEAD 2> /dev/null) \
|| ref=$(command git rev-parse --short HEAD 2> /dev/null) \
|| return 0
printf "${ref#refs/heads/}"
}
prompt_vi_git_status() {
if git rev-parse --git-dir > /dev/null 2>&1; then
if test -z "$(git status --porcelain --ignore-submodules)"; then
status_color="cyan"
else
status_color="red"
fi
print "${FG_DIM} %{$fg[$status_color]%} $(prompt_vi_git_info)%f%k"
fi
}
prompt_vi_show_machine_name() {
if [[ -n $SSH_CLIENT || -n $SSH_TTY || -n $SSH_CONNECTION ]]; then
str=" %m %f%k"
if git rev-parse --git-dir > /dev/null 2>&1; then
print "${FG_DIM}| %F{yellow}$str"
else
print "${FG_DIM}| %F{yellow}$str"
fi
fi
}
CURRENT_LOCATION="${FG_DIM} @${FG_NORMAL} %1~%{$reset_color%} "
PROMPT="%(?,$FG_NORMAL,$FG_RED) %(?,λ,!) %{$reset_color%}${FG_DIM}| %{$reset_color%}%F{white}"
RPS1='$(prompt_vi_git_status)$CURRENT_LOCATION$(prompt_vi_show_machine_name)%k%f'
Anyone with experience with this can take a look and recommend a fix? I feel overwriting __atuin_osc133_wrap_prompt is not the right way.
Any help is really appreciated!