summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Cornellà <hello@mcornella.com>2021-12-13 17:43:32 +0100
committerMarc Cornellà <hello@mcornella.com>2021-12-13 17:43:32 +0100
commit9a3d853481645ae0f961e9cc8421fc5d84e2c3c3 (patch)
treef6e8b1a33f2ffc374481a1dcf2475e7edbb11432
parent59cb231692a171887e064fc4002da387718aaea9 (diff)
downloadzsh-9a3d853481645ae0f961e9cc8421fc5d84e2c3c3.tar.gz
zsh-9a3d853481645ae0f961e9cc8421fc5d84e2c3c3.tar.bz2
zsh-9a3d853481645ae0f961e9cc8421fc5d84e2c3c3.zip
fix: quote % characters in ruby prompt info functions
-rw-r--r--lib/prompt_info_functions.zsh2
-rw-r--r--plugins/chruby/chruby.plugin.zsh2
-rw-r--r--plugins/rbenv/rbenv.plugin.zsh4
-rw-r--r--plugins/rbfu/rbfu.plugin.zsh3
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/%/%%}" }