github.com/Benchkram/bob@v0.0.0-20220321080157-7c8f3876e225/cli/cmd_workspace_add.go (about) 1 package cli 2 3 import ( 4 "errors" 5 "fmt" 6 "os" 7 8 "github.com/Benchkram/bob/pkg/add" 9 "github.com/Benchkram/bob/pkg/boblog" 10 "github.com/Benchkram/bob/pkg/usererror" 11 "github.com/Benchkram/errz" 12 13 "github.com/logrusorgru/aurora" 14 "github.com/spf13/cobra" 15 ) 16 17 var cmdAdd = &cobra.Command{ 18 Use: "add", 19 Short: "Add a git repository to a workspace", 20 Args: cobra.ExactArgs(1), 21 Long: ``, 22 Run: func(cmd *cobra.Command, args []string) { 23 plain, err := cmd.Flags().GetBool("plain") 24 errz.Fatal(err) 25 26 repoURL := args[0] 27 runAdd(repoURL, plain) 28 }, 29 } 30 31 func runAdd(repoURL string, plain bool) { 32 err := add.Add( 33 repoURL, 34 add.WithPlainProtocol(plain), 35 ) 36 37 if errors.As(err, &usererror.Err) { 38 boblog.Log.UserError(err) 39 os.Exit(1) 40 } else { 41 errz.Fatal(err) 42 } 43 44 fmt.Printf("%s\n", aurora.Green("Repo added")) 45 }