code: func (s *Action) List(ctx context.Context, c *cli.Context) error {
  	filter := c.Args().First()
  	flat := c.Bool("flat")
  	stripPrefix := c.Bool("strip-prefix")
  	limit := c.Int("limit")
  	folders := c.Bool("folders")
  	// we only support listing folders in flat mode currently
  	if folders {
  		flat = true
  	}
  
  	ctx = s.Store.WithConfig(ctx, filter)
  
  	l, err := s.Store.Tree(ctx)
  	if err != nil {
  		return ExitError(ctx, ExitList, err, "failed to list store: %s", err)
  	}
  
  	if filter == "" {
  		return s.listAll(ctx, l, limit, flat, folders)
  	}
  	return s.listFiltered(ctx, l, limit, flat, folders, stripPrefix, filter)
  }
docs: // List all secrets as a tree. If the filter argument is non-empty
  // display only those that have this prefix