浏览代码

use local options to set no_equals before sourcing bash completion script

Tommy Wang 10 年之前
父节点
当前提交
d0b690b584
共有 1 个文件被更改,包括 11 次插入3 次删除
  1. 11 3
      plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh

+ 11 - 3
plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh

@@ -1,10 +1,18 @@
 virtualenvwrapper='virtualenvwrapper.sh'
 virtualenvwrapper='virtualenvwrapper.sh'
 
 
 if (( $+commands[$virtualenvwrapper] )); then
 if (( $+commands[$virtualenvwrapper] )); then
-  source ${${virtualenvwrapper}:c}
+  function {
+    setopt local_options
+    unsetopt equals
+    source ${${virtualenvwrapper}:c}
+  }
 elif [[ -f "/etc/bash_completion.d/virtualenvwrapper" ]]; then
 elif [[ -f "/etc/bash_completion.d/virtualenvwrapper" ]]; then
-  virtualenvwrapper="/etc/bash_completion.d/virtualenvwrapper"
-  source "/etc/bash_completion.d/virtualenvwrapper"
+  function {
+    setopt local_options
+    unsetopt equals
+    virtualenvwrapper="/etc/bash_completion.d/virtualenvwrapper"
+    source "/etc/bash_completion.d/virtualenvwrapper"
+  }
 else
 else
   print "zsh virtualenvwrapper plugin: Cannot find ${virtualenvwrapper}.\n"\
   print "zsh virtualenvwrapper plugin: Cannot find ${virtualenvwrapper}.\n"\
         "Please install with \`pip install virtualenvwrapper\`" >&2
         "Please install with \`pip install virtualenvwrapper\`" >&2