diff --git a/internal/cmd/close.go b/internal/cmd/close.go index 17ba0831..068ac9ce 100644 --- a/internal/cmd/close.go +++ b/internal/cmd/close.go @@ -3,6 +3,7 @@ package cmd import ( "os" "os/exec" + "strings" "github.com/spf13/cobra" ) @@ -20,6 +21,7 @@ Examples: gt close gt-abc # Close bead gt-abc gt close gt-abc gt-def # Close multiple beads gt close --reason "Done" # Close with reason + gt close --comment "Done" # Same as --reason (alias) gt close --force # Force close pinned beads`, DisableFlagParsing: true, // Pass all flags through to bd close RunE: runClose, @@ -30,8 +32,20 @@ func init() { } func runClose(cmd *cobra.Command, args []string) error { + // Convert --comment to --reason (alias support) + convertedArgs := make([]string, len(args)) + for i, arg := range args { + if arg == "--comment" { + convertedArgs[i] = "--reason" + } else if strings.HasPrefix(arg, "--comment=") { + convertedArgs[i] = "--reason=" + strings.TrimPrefix(arg, "--comment=") + } else { + convertedArgs[i] = arg + } + } + // Build bd close command with all args passed through - bdArgs := append([]string{"close"}, args...) + bdArgs := append([]string{"close"}, convertedArgs...) bdCmd := exec.Command("bd", bdArgs...) bdCmd.Stdin = os.Stdin bdCmd.Stdout = os.Stdout