       cur="${COMP_WORDS[COMP_CWORD]}"
       prev="${COMP_WORDS[COMP_CWORD-1]}"
 
-      opts=$(${job} _bash_complete)
+      if [[ -s "#{cacheFile}" ]]; then
+        opts=$(cat "#{cacheFile}")
+      else
+        opts=$(${job} _bash_complete)
+      fi
       COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
       return 0
     }


cmds.extend defaultCommands


# check for private commands first (start with underscore)
if process.argv.length == 3

    programDone()

  _bash_complete: () ->
    str = (cmd._name for cmd in commander.commands when cmd._name isnt "*").join(" ")
    console.log str
    cacheCompletions str
    programDone()

  _cd: () ->
