]> git.phdru.name Git - dotfiles.git/blobdiff - .shellrc
.shellrc: Lazily load `pip` completion
[dotfiles.git] / .shellrc
index 9907f807be1f105ede4036ec6dfa0adb14e7505a..9befab5edbf2df8905f639cc466a5a919f81d296 100644 (file)
--- a/.shellrc
+++ b/.shellrc
@@ -135,7 +135,11 @@ if test -n "$BASH_VERSION"; then
       programs="$@"
       eval "_${prog}_completion_loader() {
          _completion_loader $prog
-         complete -o nospace -F _$prog $programs
+         if [ x"$DELEGARE_NOSPACE" = x1 ]; then
+            complete -o nospace -F _$prog $programs
+         else
+            complete -F _$prog $programs
+         fi
          unset _${prog}_completion_loader
          return 124
       }"
@@ -145,7 +149,7 @@ if test -n "$BASH_VERSION"; then
    delegate_completion make m
    delegate_completion ping p
    delegate_completion python python2.7 python3.4 python3.5 python3.6 python3.7 python3.8 python3.9
-   delegate_completion rsync r rsync_cgmn rsync_cgmn_recode
+   DELEGARE_NOSPACE=1 delegate_completion rsync r rsync_cgmn rsync_cgmn_recode rsync_cgmn_recode2
    delegate_completion ssh s
    delegate_completion wget wget-m wget-wrapper ww
 
@@ -161,9 +165,15 @@ if test -n "$BASH_VERSION"; then
       . "$HOME"/admin/prog/bash_prompt
    fi
 
-   #if type -p pip >/dev/null 2>&1; then
-   #   eval "`pip completion --bash`"
-   #fi
+   if type -p pip >/dev/null 2>&1 || type -p pip3 >/dev/null 2>&1; then
+      _pip_completion_loader() {
+         eval "`pip$PY_VER completion --bash`"
+         complete -F _pip_completion pip pip2 pip2.7 pip3 pip3.4 pip3.5 pip3.6 pip3.7 pip3.8 pip3.9
+         unset _pip_completion_loader
+         return 124
+      }
+      complete -F _pip_completion_loader pip pip2 pip2.7 pip3 pip3.4 pip3.5 pip3.6 pip3.7 pip3.8 pip3.9
+   fi
 
    #if which pyenv >/dev/null 2>&1; then
    #   eval "`pyenv init -`"