9a3d853481645ae0f961e9cc8421fc5d84e2c3c3

Author
Marc Cornellà <hello@mcornella.com>
Committer
Marc Cornellà <hello@mcornella.com>
Date

Message

fix: quote % characters in ruby prompt info functions

Diff

 1diff --git a/lib/prompt_info_functions.zsh b/lib/prompt_info_functions.zsh
 2index 48f033da6427f424a0077a2eed948b7da95d99ed..e5535848bcd63b7fabaf71c1ee902d1663b09ab9 100644
 3--- a/lib/prompt_info_functions.zsh
 4+++ b/lib/prompt_info_functions.zsh
 5@@ -30,7 +30,7 @@ function rvm_prompt_info() {
 6   local rvm_prompt
 7   rvm_prompt=$($HOME/.rvm/bin/rvm-prompt ${=ZSH_THEME_RVM_PROMPT_OPTIONS} 2>/dev/null)
 8   [[ -z "${rvm_prompt}" ]] && return 1
 9-  echo "${ZSH_THEME_RUBY_PROMPT_PREFIX}${rvm_prompt}${ZSH_THEME_RUBY_PROMPT_SUFFIX}"
10+  echo "${ZSH_THEME_RUBY_PROMPT_PREFIX}${rvm_prompt:gs/%/%%}${ZSH_THEME_RUBY_PROMPT_SUFFIX}"
11 }
12 
13 ZSH_THEME_RVM_PROMPT_OPTIONS="i v g"
14diff --git a/plugins/chruby/chruby.plugin.zsh b/plugins/chruby/chruby.plugin.zsh
15index 61ded3b73e135c9ce3c48a601b3bd0f6e5ccc70a..d7a28d4e285f2c5303878db53c15a8302ff9cbdb 100644
16--- a/plugins/chruby/chruby.plugin.zsh
17+++ b/plugins/chruby/chruby.plugin.zsh
18@@ -73,7 +73,7 @@ function current_ruby() {
19 }
20 
21 function chruby_prompt_info() {
22-  echo "$(current_ruby)"
23+  echo "${$(current_ruby):gs/%/%%}"
24 }
25 
26 # Complete chruby command with installed rubies
27diff --git a/plugins/rbenv/rbenv.plugin.zsh b/plugins/rbenv/rbenv.plugin.zsh
28index d36d4922c463507bfcdf6b25c1e6a811e7481463..d758aebae3afbb2778a23881187dd43cdbeee7e1 100644
29--- a/plugins/rbenv/rbenv.plugin.zsh
30+++ b/plugins/rbenv/rbenv.plugin.zsh
31@@ -47,7 +47,7 @@ if [[ $FOUND_RBENV -eq 1 ]]; then
32   }
33 
34   function rbenv_prompt_info() {
35-    local ruby=$(current_ruby) gemset=$(current_gemset)
36+    local ruby=${$(current_ruby):gs/%/%%} gemset=${$(current_gemset):gs/%/%%}
37     echo -n "${ZSH_THEME_RUBY_PROMPT_PREFIX}"
38     [[ -n "$gemset" ]] && echo -n "${ruby}@${gemset}" || echo -n "${ruby}"
39     echo "${ZSH_THEME_RUBY_PROMPT_SUFFIX}"
40@@ -60,7 +60,7 @@ else
41   function gems() { echo "not supported" }
42   function rbenv_prompt_info() {
43     echo -n "${ZSH_THEME_RUBY_PROMPT_PREFIX}"
44-    echo -n "system: $(ruby -v | cut -f-2 -d ' ')"
45+    echo -n "system: $(ruby -v | cut -f-2 -d ' ' | sed 's/%/%%/g')"
46     echo "${ZSH_THEME_RUBY_PROMPT_SUFFIX}"
47   }
48 fi
49diff --git a/plugins/rbfu/rbfu.plugin.zsh b/plugins/rbfu/rbfu.plugin.zsh
50index c973fbf9fb868ba1cc08484b184d5e5d6a4e6e8f..27dc3eec65224246931a97519dcd49f3afde2eb9 100644
51--- a/plugins/rbfu/rbfu.plugin.zsh
52+++ b/plugins/rbfu/rbfu.plugin.zsh
53@@ -45,4 +45,5 @@ function rbfu-rubies() {
54 
55 # Public: Create rvm_prompt_info command for themes compatibility, unless
56 # it has already been defined.
57-[ ! -x rvm_prompt_info ] && function rvm_prompt_info() { echo "${RBFU_RUBY_VERSION:=system}" }
58+(( ${+functions[rvm_prompt_info]} )) || \
59+function rvm_prompt_info() { echo "${${RBFU_RUBY_VERSION:=system}:gs/%/%%}" }