hidden.go

 1package cmd
 2
 3import "github.com/spf13/cobra"
 4
 5func hiddenCommand() *cobra.Command {
 6	cmd := &cobra.Command{
 7		Use:   "hidden REPOSITORY [TRUE|FALSE]",
 8		Short: "Hide or unhide a repository",
 9		Args:  cobra.MinimumNArgs(1),
10		RunE: func(cmd *cobra.Command, args []string) error {
11			cfg, _ := fromContext(cmd)
12			repo := args[0]
13			switch len(args) {
14			case 1:
15				if err := checkIfReadable(cmd, args); err != nil {
16					return err
17				}
18
19				hidden := cfg.Backend.IsHidden(repo)
20				cmd.Println(hidden)
21			case 2:
22				if err := checkIfCollab(cmd, args); err != nil {
23					return err
24				}
25
26				hidden := args[1] == "true"
27				if err := cfg.Backend.SetHidden(repo, hidden); err != nil {
28					return err
29				}
30			}
31
32			return nil
33		},
34	}
35
36	return cmd
37}