X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=blobdiff_plain;f=.shellrc;h=5975ab3a7f4ab27cd2002f40839f4bc7d4d12c77;hp=d0c9c37d5921a94ca8ae9d783113dfd781689863;hb=20515fecab4ad47200eff26038c6cef8e2cef271;hpb=322694eebf3fe68372786b97a60513142d99ac93 diff --git a/.shellrc b/.shellrc index d0c9c37..5975ab3 100644 --- a/.shellrc +++ b/.shellrc @@ -57,8 +57,7 @@ OPS1="$OPS1\\$" PS1="$OPS1 " -case "$SHELL" in -*/bash) +if test -n "$BASH_VERSION"; then [ "`type -t ls`" = alias ] && unalias ls [ "`type -t ll`" = alias ] && unalias ll [ "`type -t mc`" = alias ] && unalias mc @@ -126,18 +125,15 @@ case "$SHELL" in eval "`pip completion --bash`" rm -rf /tmp/pip_build_"$USER" fi - ;; -*/ksh) +elif test -n "$KSH_VERSION" -o -n "$FCEDIT"; then back() { cd - ${1:+"$@"}; } clo() { clear; exit; } j() { jobs; } - ;; -*/sh) +else clo() { clear; exit; } - ;; -esac +fi # clear history, clear screen and logout @@ -171,36 +167,44 @@ cdremote() { cd "`git config --get remote.$1.url`" } -case "$SHELL" in - */bash) - # list remotes with URLs matching a regexp - list_remotes() { - GIT_REMOTES="" - for remote in `git remote`; do - if git config --get remote.$remote.url | grep -q "$1"; then - GIT_REMOTES="$GIT_REMOTES $remote" - fi - done - remote="" - unset remote - } - - # define completion for cdremote - list remotes with directories as URLs - _cdremote_complete() { - local cur="${COMP_WORDS[COMP_CWORD]}"; - list_remotes '^/' - COMPREPLY=(`compgen -W "$GIT_REMOTES" -- "$cur"`) - GIT_REMOTES="" - unset GIT_REMOTES - } - - complete -F _cdremote_complete cdremote - ;; -esac +if test -n "$BASH_VERSION"; then + # list remotes with URLs matching a regexp + list_remotes() { + GIT_REMOTES="" + for remote in `git remote`; do + if git config --get remote.$remote.url | grep -q "$1"; then + GIT_REMOTES="$GIT_REMOTES $remote" + fi + done + remote="" + unset remote + } + + # completion for cdremote - list remotes with directories as URLs + _cdremote_complete() { + local cur="${COMP_WORDS[COMP_CWORD]}"; + list_remotes '^\(/\|\.\./\)' # (/ or ../ at the beginning) + COMPREPLY=(`compgen -W "$GIT_REMOTES" -- "$cur"`) + GIT_REMOTES="" + unset GIT_REMOTES + } + + complete -F _cdremote_complete cdremote + + # completion for git-open - list remotes with http(s) URLs + _git_open() { + local cur="${COMP_WORDS[COMP_CWORD]}"; + list_remotes '^http\(s\)\?://' + COMPREPLY=(`compgen -W "$GIT_REMOTES" -- "$cur"`) + GIT_REMOTES="" + unset GIT_REMOTES + } + + complete -F _git_open git-open +fi -include() -{ +include() { cfg="$1" if [ -f "./$cfg" -a -r "./$cfg" ]; then echo "Reading config file \`$cfg'" 1>&2 @@ -215,12 +219,10 @@ include() mc() { - case "$SHELL" in - */bash) - MC_SAVE_OPS1="$OPS1" - OPS1="\u@\h " - ;; - esac + if test -n "$BASH_VERSION"; then + MC_SAVE_OPS1="$OPS1" + OPS1="\u@\h " + fi if [ -n "$SLOWTERM" ]; then MC_SLOW="--slow"