code: def complete(
          self, config, prompt, session, context, current_arguments, current
      ):
          # type: (CompletionInfo, str, ShellSession, BundleContext, List[str], str) -> List[str]
          
          # Register a method to display helpful completion
          self.set_display_hook(self.display_hook, prompt, session, context)
  
          # Return a list of bundle IDs (strings) matching the current value
          # and not yet in arguments
          rl_matches = []
          for svc_ref in context.get_all_service_references(None, None):
              svc_id = "{0} ".format(svc_ref.get_property(SERVICE_ID))
              if svc_id.startswith(current):
                  rl_matches.append(svc_id)
  
          return rl_matches
docs: Returns the list of services IDs matching the current state
  
          :param config: Configuration of the current completion
          :param prompt: Shell prompt (for re-display)
          :param session: Shell session (to display in shell)
          :param context: Bundle context of the Shell bundle
          :param current_arguments: Current arguments (without the command itself)
          :param current: Current word
          :return: A list of matches