]> git.phdru.name Git - dotfiles.git/blobdiff - .shellrc
.gitconfig: Add transfer.fsckObjects but not enable it
[dotfiles.git] / .shellrc
index 0d043e6362d8040711dc32c61b003b85e868668b..b0ba00f8576537101d93af2989958dd7aa73aec5 100644 (file)
--- a/.shellrc
+++ b/.shellrc
@@ -9,11 +9,11 @@
 # If not running interactively, don't do anything
 case $- in
     *i*) ;;
-      *) return;;
+      *) return ;;
 esac
 
 # Stop if non-interactive shell
-[ -z "$PS1" ] && return
+[ -z "$PS1" ] && return
 
 if test -n "$BASH_VERSION"; then
    # append to the history file, don't overwrite it
@@ -68,7 +68,6 @@ if test -n "$BASH_VERSION"; then
    [ "`type -t mc`" = alias ] && unalias mc
 
    back() { cd - "$@"; }
-   clo() { clear; logout; }
    functions() { typeset -f "$@"; }
    j() { jobs; }
 
@@ -84,7 +83,7 @@ if test -n "$BASH_VERSION"; then
             . /usr/local/etc/bash_completion.d/*
          fi
       else
-         echo "Unknown OS type, canot source bash_completion" >&2
+         echo "Unknown OS type, cannot source bash_completion" >&2
       fi
    fi
 
@@ -112,52 +111,34 @@ if test -n "$BASH_VERSION"; then
          ! has_completion $cmd && complete -A hostname $cmd
    done
 
-   if has_completion wget; then
-      _wget_completion_loader() {
-         _completion_loader wget
-         complete -F _wget wget-m wget-wrapper ww
-         unset _wget_completion_loader
-         return 124
-      }
-      complete -F _wget_completion_loader wget-m wget-wrapper ww
-   fi
-
    for cmd in distribute ftp lftp r rsync \
       s scp ssh smbclient tcpdump tshark wireshark; do
          ! has_completion $cmd && complete -o default -A hostname $cmd;
    done
 
-   if has_completion rsync; then
-      _rsync_completion_loader() {
-         _completion_loader rsync
-         complete -F _rsync r
-         unset _rsync_completion_loader
-         return 124
-      }
-      complete -F _rsync_completion_loader r
-   fi
-
-   if has_completion ssh; then
-      _ssh_completion_loader() {
-         _completion_loader ssh
-         complete -F _ssh s
-         unset _ssh_completion_loader
-         return 124
-      }
-      complete -F _ssh_completion_loader s
-   fi
+   delegate_completion() {
+      local prog programs
+      prog=$1
+      if has_completion $prog; then
+         shift
+         programs="$@"
+         eval "_${prog}_completion_loader() {
+            _completion_loader $prog
+            complete -F _$prog $programs
+            unset _${prog}_completion_loader
+            return 124
+         }"
+         complete -F _${prog}_completion_loader $programs
+      fi
+   }
 
-   if has_completion make; then
-      _make_completion_loader() {
-         _completion_loader make
-         complete -F _make m
-         unset _make_completion_loader
-         return 124
-      }
-      complete -F _make_completion_loader m
-   fi
+   delegate_completion make m
+   delegate_completion ping p
+   delegate_completion rsync r
+   delegate_completion ssh s
+   delegate_completion wget wget-m wget-wrapper ww
 
-   unset has_completion
+   unset has_completion delegate_completion
 
    complete -A job bg fg j jobs wait
    complete -A variable -A function unset
@@ -172,42 +153,25 @@ if test -n "$BASH_VERSION"; then
    #   rm -rf /tmp/pip_build_"$USER"
    #fi
 
+   #if which pyenv >/dev/null 2>&1; then
+   #   eval "`pyenv init -`"
+   #   eval "`pyenv virtualenv-init -`"
+   #fi
+
+   source virtualenvwrapper_lazy.sh 2>/dev/null
+
+   #if [ -n "$VIRTUAL_ENV" ]; then
+   #   . "$VIRTUAL_ENV/bin/activate"
+   #fi
+
 elif test -n "$KSH_VERSION" -o -n "$FCEDIT"; then
    back() { cd - "$@"; }
-   clo() { clear; exit; }
    j() { jobs; }
-
-else
-   clo() { clear; exit; }
 fi
 
 
-# clear history, clear screen and logout
-#chlo() { cd; unset HISTFILE; rm -f .sh_history; history -c; clo; }
-
-
-#Pwd() { pwd | sed "s/.*\/\(.*\)\/\(.*\)\/\(.*\)\/\(.*\)/...\/\2\/\3\/\4/"; }
-#PWd() { pwd | sed "s/.*\/\(.*\)\/\(.*\)/...\/\2/"; }
-
-
-psg()   { ps auxw   | grep -i "$@" | grep -v '\(ps auxw\|grep\)'; }
-pswg()  { ps auxwww | grep -i "$@" | grep -v '\(ps auxw\|grep\)'; }
-
-# Like pgrep -f
-pidOf() { ps auxwww | grep -i "$@" | grep -v '\(ps auxw\|grep\|pidOf\|KillAll\)' | awk '{print $2}'; }
-
-# A kind of pkill/killall
-KillAll() {
-   if [ -z "$1" -o -n "$3" ]; then
-      echo "Usage: KillAll [-signal] proc_regexp" >&2
-      return 1
-   fi
-   if [ -z "$2" ]; then
-      kill `pidOf "$1"`
-   else
-      kill "$1" `pidOf "$2"`
-   fi
-}
+# clear screen and history, logout
+chlo() { clear; cd; >$HISTFILE; unset HISTFILE; history -c; logout || exit; }
 
 
 if test -x /usr/bin/git >/dev/null 2>&1; then
@@ -390,16 +354,6 @@ if which tmux >/dev/null 2>&1; then
 fi
 
 
-#if which pyenv >/dev/null 2>&1; then
-#   eval "`pyenv init -`"
-#   eval "`pyenv virtualenv-init -`"
-#fi
-
-if [ -f /usr/local/bin/virtualenvwrapper_lazy.sh ]; then
-   source /usr/local/bin/virtualenvwrapper_lazy.sh
-fi
-
-
 if [ "$SHLVL" -eq 1 ] && which startx >/dev/null 2>&1; then
    X() { startx >> .Xserver.log 2>&1; cyr; }
 fi