done.go

 1// SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
 2//
 3// SPDX-License-Identifier: AGPL-3.0-or-later
 4
 5package cmd
 6
 7import (
 8	"git.secluded.site/lune/cmd/task"
 9	"github.com/spf13/cobra"
10)
11
12var doneCmd = &cobra.Command{
13	Use:     "done ID",
14	Short:   "Mark a task completed",
15	GroupID: "shortcuts",
16	Args:    cobra.ExactArgs(1),
17	RunE: func(cmd *cobra.Command, args []string) error {
18		updateCmd := *task.UpdateCmd
19		updateCmd.Flags().AddFlagSet(task.UpdateCmd.Flags())
20		_ = updateCmd.Flags().Set("status", "completed")
21
22		updateCmd.SetIn(cmd.InOrStdin())
23		updateCmd.SetOut(cmd.OutOrStdout())
24		updateCmd.SetErr(cmd.ErrOrStderr())
25
26		return updateCmd.RunE(&updateCmd, args)
27	},
28}