docs: def interactive(plugin):
      '''A run mode for the CLI that runs the plugin in a loop based on user
      input.
      '''
      items = [item for item in once(plugin) if not item.get_played()]
      parent_stack = []  # Keep track of parents so we can have a '..' option
  
      selected_item = get_user_choice(items)
      while selected_item is not None:
          if parent_stack and selected_item == parent_stack[-1]:
              # User selected the parent item, remove from list
              parent_stack.pop()
          else:
              # User selected non parent item, add current url to parent stack
              parent_stack.append(ListItem.from_dict(label='..',
                                                     path=plugin.request.url))
          patch_plugin(plugin, selected_item.get_path())
  
          items = [item for item in once(plugin, parent_stack=parent_stack)
                   if not item.get_played()]
          selected_item = get_user_choice(items)