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  }