code: def roles_autocomplete(self, text, line, start_index, end_index):
          "Return full list of roles"
          if '-' not in line:
              # Append a dash to each service, makes for faster autocompletion of
              # roles
              return [s + '-' for s in self.services_autocomplete(text, line, start_index, end_index)]
          else:
              key, role = line.split()[1].split('-', 1)
              if key not in self.CACHED_ROLES:
                  service = api.get_cluster(self.cluster).get_service(key)
                  roles = []
                  for t in service.get_role_types():
                      for r in service.get_roles_by_type(t):
                          roles.append(r.name)
  
                  self.CACHED_ROLES[key] = roles
  
              if not role:
                  return self.CACHED_ROLES[key]
              else:
                  return [r for r in self.CACHED_ROLES[key] if r.startswith(line.split()[1])f roles_autocomplete(self, text, line, start_index, end_index):
          "Return full list of roles"
          if '-' not in line:
              # Append a dash to each service, makes for faster autocompletion of
              # roles
              return [s + '-' for s in self.services_autocomplete(text, line, start_index, end_index)]
          else:
              key, role = line.split()[1].split('-', 1)
              if key not in self.CACHED_ROLES:
                  service = api.get_cluster(self.cluster).get_service(key)
                  roles = []
                  for t in service.get_role_types():
                      for r in service.get_roles_by_type(t):
                          roles.append(r.name)
  
                  self.CACHED_ROLES[key] = roles
  
              if not role:
                  return self.CACHED_ROLES[key]
              else:
                  return [r for r in self.CACHED_ROLES[key] if r.startswith(line.split()[1])]
docs: Return full list of roles