Merge pull request #52 from tswicegood/rvm-enhancements

Optimize how RVM is loaded and add RVM auto completion.
diff --git a/plugins/available/rvm.plugin.bash b/plugins/available/rvm.plugin.bash
index d3c81ed..e158a80 100644
--- a/plugins/available/rvm.plugin.bash
+++ b/plugins/available/rvm.plugin.bash
@@ -1,16 +1,29 @@
 #!/bin/bash
-switch () {
-  rvm $1
-  local v=$(rvm_version)
-  rvm wrapper $1 textmate
-  echo "Switch to Ruby version: "$v
-}
 
-rvm_default () {
-  rvm --default $1
-  rvm wrapper $1 textmate
-}
+# Load RVM, if you are using it
+[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm
 
-function rvm_version () {
-  ruby --version
-}
\ No newline at end of file
+# Check to make sure that RVM is actually loaded before adding
+# the customizations to it.
+if [ "$rvm_path" ]
+then
+    # Load the auto-completion script if RVM was loaded.
+    [[ -r $rvm_path/scripts/completion ]] && . $rvm_path/scripts/completion
+
+    switch () {
+      rvm $1
+      local v=$(rvm_version)
+      rvm wrapper $1 textmate
+      echo "Switch to Ruby version: "$v
+    }
+
+    rvm_default () {
+      rvm --default $1
+      rvm wrapper $1 textmate
+    }
+
+    function rvm_version () {
+      ruby --version
+    }
+
+fi