]> git.phdru.name Git - dotfiles.git/blobdiff - .shellrc
.shellrc: Use `__git_ps1` if available
[dotfiles.git] / .shellrc
index a75cae9936255d4771851178e605c6d3ddfdbac5..871747b3432d4e754b7c18126a591a628a1f15c8 100644 (file)
--- a/.shellrc
+++ b/.shellrc
@@ -130,17 +130,16 @@ if test -n "$BASH_VERSION"; then
    delegate_completion() {
       local prog programs
       prog=$1
-      if has_completion $prog; then
-         shift
-         programs="$@"
-         eval "_${prog}_completion_loader() {
-            _completion_loader $prog
-            complete -o nospace -F _$prog $programs
-            unset _${prog}_completion_loader
-            return 124
-         }"
-         complete -F _${prog}_completion_loader $programs
-      fi
+      ! has_completion $prog && return
+      shift
+      programs="$@"
+      eval "_${prog}_completion_loader() {
+         _completion_loader $prog
+         complete -o nospace -F _$prog $programs
+         unset _${prog}_completion_loader
+         return 124
+      }"
+      complete -F _${prog}_completion_loader $programs
    }
 
    delegate_completion make m
@@ -347,8 +346,15 @@ mc() {
    if test -n "$BASH_VERSION"; then
       MC_SAVE_OPS1="$OPS1"
       if [ "`type -t short_curdir`" = function ]; then
-         OPS1="\`cgmem_which_prompt\`\u@\${HOSTNAME::5}:\`short_curdir\` "
-         OPS1+="\$(prompt_git)\\$\$SHLVL "
+         OPS1="\`cgmem_which_prompt\`\u@\${HOSTNAME::5}:\`short_curdir\`"
+         if test -x /usr/bin/git >/dev/null 2>&1; then
+            if [ "`type -t __git_ps1`" = function ]; then
+               OPS1+="\$(__git_ps1)"
+            else
+               OPS1+="\$(prompt_git)"
+            fi
+         fi
+         OPS1+=" \\$\$SHLVL "
       else
          OPS1="\u@\h:\W \\$"
       fi