code: func (s *Action) show(ctx context.Context, c *cli.Context, name, key string, recurse bool) error {
  	if name == "" {
  		return ExitError(ctx, ExitUsage, nil, "Usage: %s show [name]", s.Name)
  	}
  
  	if s.Store.IsDir(ctx, name) && !s.Store.Exists(ctx, name) {
  		return s.List(ctx, c)
  	}
  	if s.Store.IsDir(ctx, name) && ctxutil.IsTerminal(ctx) {
  		out.Cyan(ctx, "Warning: %s is a secret and a folder. Use 'gopass show %s' to display the secret and 'gopass list %s' to show the content of the folder", name, name, name)
  	}
  
  	// auto-fallback to binary files with b64 suffix, if unique
  	if !s.Store.Exists(ctx, name) && s.Store.Exists(ctx, name+BinarySuffix) {
  		name += BinarySuffix
  	}
  
  	if HasRevision(ctx) {
  		return s.showHandleRevision(ctx, c, name, key, GetRevision(ctx))
  	}
  
  	sec, ctx, err := s.Store.GetContext(ctx, name)
  	if err != nil {
  		return s.showHandleError(ctx, c, name, recurse, err)
  	}
  
  	return s.showHandleOutput(ctx, name, key, sec)
  }
docs: // show displays the given secret/key