package cmd import ( "strconv" "strings" "github.com/spf13/cobra" ) // startCmd represents the start command var startCmd = &cobra.Command{ Use: "start", Short: "Start activity", Long: `Start new timespan on activity`, Run: func(cmd *cobra.Command, args []string) { if len(args) == 0 { cmd.PrintErr("First argument must be activity id\n") return } id, err := strconv.Atoi(args[0]) if err != nil { cmd.PrintErr("First argument must be activity id, got %s\n", args[0]) return } comment := strings.Join(args[1:], " ") if err := tr.Start(id, comment); err != nil { cmd.PrintErr(err) return } activity := tr.Activity(id) cmd.Printf("Started new span for activity \"%s\".\n", activity.Title) }, } func init() { rootCmd.AddCommand(startCmd) }