]> git.phdru.name Git - dotfiles.git/blobdiff - .shellrc
bash_prompt: Test if `git` exists
[dotfiles.git] / .shellrc
index 62e1f0bb324cbe0f5851ffd0fe105efe758da45f..b4b7a8191b737e0da5d9006c0e92f631ee65110e 100644 (file)
--- a/.shellrc
+++ b/.shellrc
@@ -111,6 +111,16 @@ if test -n "$BASH_VERSION"; then
       ! has_completion $cmd && complete -o default -A hostname $cmd
    done
 
+   for cmd in bg fg jobs; do
+      ! has_completion $cmd && complete -A job $cmd
+   done
+
+   complete -A job j wait
+
+   for cmd in unset; do
+      ! has_completion $cmd && complete -A variable -A function $cmd
+   done
+
    if [ -d "$HOME"/.bash_completion.d ]; then
       for _compf in "$HOME"/.bash_completion.d/*; do
          . $_compf
@@ -120,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
@@ -139,8 +148,6 @@ if test -n "$BASH_VERSION"; then
    delegate_completion ssh s
    delegate_completion wget wget-m wget-wrapper ww
 
-   complete -A job bg fg j jobs wait
-   complete -A variable -A function unset
    unset _BASH_COMPLETIONS_DIR has_completion delegate_completion
 
    if [ -d "$HOME/lib/config" ]; then
@@ -340,7 +347,10 @@ mc() {
       MC_SAVE_OPS1="$OPS1"
       if [ "`type -t short_curdir`" = function ]; then
          OPS1="\`cgmem_which_prompt\`\u@\${HOSTNAME::5}:\`short_curdir\` "
-         OPS1+="\$(prompt_git)\\$\$SHLVL "
+         if test -x /usr/bin/git >/dev/null 2>&1; then
+            OPS1+="\$(prompt_git)"
+         fi
+         OPS1+="\\$\$SHLVL "
       else
          OPS1="\u@\h:\W \\$"
       fi