code: def autocomplete(self):
          
          if self.completion_env_var_name not in os.environ:
              return
          cwords = os.environ['COMP_WORDS'].split()[1:]
          cword = int(os.environ['COMP_CWORD'])
          try:
              current = cwords[cword-1]
          except IndexError:
              current = ''
          cmd_names = self.get_commands().keys()
  
          if current:
              self.stdout.write(unicode(' '.join(
                  [name for name in cmd_names if name.startswith(current)])))
  
          sys.exit(1)
docs: If *completion* is enabled, this method would write to ``self.stdout``
          completion words separated with space.