From 9a3d853481645ae0f961e9cc8421fc5d84e2c3c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Mon, 13 Dec 2021 17:43:32 +0100 Subject: [PATCH] fix: quote % characters in ruby prompt info functions --- lib/prompt_info_functions.zsh | 2 +- plugins/chruby/chruby.plugin.zsh | 2 +- plugins/rbenv/rbenv.plugin.zsh | 4 ++-- plugins/rbfu/rbfu.plugin.zsh | 3 ++- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/prompt_info_functions.zsh b/lib/prompt_info_functions.zsh index 48f033da6..e5535848b 100644 --- a/lib/prompt_info_functions.zsh +++ b/lib/prompt_info_functions.zsh @@ -30,7 +30,7 @@ function rvm_prompt_info() { local rvm_prompt rvm_prompt=$($HOME/.rvm/bin/rvm-prompt ${=ZSH_THEME_RVM_PROMPT_OPTIONS} 2>/dev/null) [[ -z "${rvm_prompt}" ]] && return 1 - echo "${ZSH_THEME_RUBY_PROMPT_PREFIX}${rvm_prompt}${ZSH_THEME_RUBY_PROMPT_SUFFIX}" + echo "${ZSH_THEME_RUBY_PROMPT_PREFIX}${rvm_prompt:gs/%/%%}${ZSH_THEME_RUBY_PROMPT_SUFFIX}" } ZSH_THEME_RVM_PROMPT_OPTIONS="i v g" diff --git a/plugins/chruby/chruby.plugin.zsh b/plugins/chruby/chruby.plugin.zsh index 61ded3b73..d7a28d4e2 100644 --- a/plugins/chruby/chruby.plugin.zsh +++ b/plugins/chruby/chruby.plugin.zsh @@ -73,7 +73,7 @@ function current_ruby() { } function chruby_prompt_info() { - echo "$(current_ruby)" + echo "${$(current_ruby):gs/%/%%}" } # Complete chruby command with installed rubies diff --git a/plugins/rbenv/rbenv.plugin.zsh b/plugins/rbenv/rbenv.plugin.zsh index d36d4922c..d758aebae 100644 --- a/plugins/rbenv/rbenv.plugin.zsh +++ b/plugins/rbenv/rbenv.plugin.zsh @@ -47,7 +47,7 @@ if [[ $FOUND_RBENV -eq 1 ]]; then } function rbenv_prompt_info() { - local ruby=$(current_ruby) gemset=$(current_gemset) + local ruby=${$(current_ruby):gs/%/%%} gemset=${$(current_gemset):gs/%/%%} echo -n "${ZSH_THEME_RUBY_PROMPT_PREFIX}" [[ -n "$gemset" ]] && echo -n "${ruby}@${gemset}" || echo -n "${ruby}" echo "${ZSH_THEME_RUBY_PROMPT_SUFFIX}" @@ -60,7 +60,7 @@ else function gems() { echo "not supported" } function rbenv_prompt_info() { echo -n "${ZSH_THEME_RUBY_PROMPT_PREFIX}" - echo -n "system: $(ruby -v | cut -f-2 -d ' ')" + echo -n "system: $(ruby -v | cut -f-2 -d ' ' | sed 's/%/%%/g')" echo "${ZSH_THEME_RUBY_PROMPT_SUFFIX}" } fi diff --git a/plugins/rbfu/rbfu.plugin.zsh b/plugins/rbfu/rbfu.plugin.zsh index c973fbf9f..27dc3eec6 100644 --- a/plugins/rbfu/rbfu.plugin.zsh +++ b/plugins/rbfu/rbfu.plugin.zsh @@ -45,4 +45,5 @@ function rbfu-rubies() { # Public: Create rvm_prompt_info command for themes compatibility, unless # it has already been defined. -[ ! -x rvm_prompt_info ] && function rvm_prompt_info() { echo "${RBFU_RUBY_VERSION:=system}" } +(( ${+functions[rvm_prompt_info]} )) || \ +function rvm_prompt_info() { echo "${${RBFU_RUBY_VERSION:=system}:gs/%/%%}" }