hidden.go

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