X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=.shellrc;h=1b15d83ddc834e9e9dbc94c1dab2be441c5be99f;hb=d8552c03165aaccbe177fd9da7125cfe45b07fab;hp=0d043e6362d8040711dc32c61b003b85e868668b;hpb=5147725299dae62526a9cb7e89222cd79339f149;p=dotfiles.git diff --git a/.shellrc b/.shellrc index 0d043e6..1b15d83 100644 --- 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" ] && ! type deactivate >/dev/null 2>&1; 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 @@ -221,7 +185,7 @@ if test -x /usr/bin/git >/dev/null 2>&1; then } if test -n "$BASH_VERSION"; then - # completion for global aliases in .gitconfig + # completion for aliases in global .gitconfig # fixup rbi rbia rbiap rbip - do refs name completion _git_fixup() { __gitcomp_nl "$(__git_refs)" ; } @@ -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