Something went wrong. Try again.
An unofficial terminal client for Tangled, optimized for humans and agents. tgcli.wisp.place
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768package cli
import ( "fmt"
"github.com/alyraffauf/tg/internal/app" "github.com/spf13/cobra")
type listFlags struct { author string state string limit int64 order string}
func (flags *listFlags) add(command *cobra.Command, states string) { command.Flags().StringVar(&flags.author, "author", "", "Filter by author handle or DID") command.Flags().StringVar(&flags.state, "state", "", "Filter by state: "+states) command.Flags().Int64Var(&flags.limit, "limit", 0, "Maximum number of results") command.Flags().StringVar(&flags.order, "order", "", "Sort order: asc or desc")}
func (flags listFlags) options(command *cobra.Command) (app.ListOptions, error) { if command.Flags().Changed("limit") && flags.limit <= 0 { return app.ListOptions{}, fmt.Errorf("list limit must be positive") } return app.ListOptions{ Author: flags.author, State: flags.state, Limit: flags.limit, Order: flags.order, }, nil}
func newIssueListCommand(service *app.Service) *cobra.Command { var flags listFlags command := &cobra.Command{ Use: "list [handle/repo]", Short: "List issues", Long: `List issues for a repository.
Without a repository, tg uses the origin remote in the current directory.`, Args: cobra.MaximumNArgs(1), RunE: func(cmd *cobra.Command, args []string) error { options, err := flags.options(cmd) if err != nil { return err } ctx := cmd.Context() target, err := resolveTarget(ctx, args, service) if err != nil { return err } result, err := service.ListIssues(ctx, target, options) if err != nil { return err } return output(cmd, result, func(result *app.ItemListResult) { renderList(cmd.OutOrStdout(), result.Items, "No issues found.") renderRecordWarnings(cmd.ErrOrStderr(), result.Warnings) }) }, } flags.add(command, "open, closed or completed") return command}