list

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

cmd/project/issues/list/list.go

Index

Constants

This section is empty.

Variables

View Source
var ListCmd = &cobra.Command{
	Use:     "list",
	Aliases: []string{"ls"},
	RunE: func(cmd *cobra.Command, args []string) error {
		presenter := ui.NewPresenter(cmd.OutOrStdout(), cmd.ErrOrStderr())
		ctx := cmd.Context()

		provider, err := newProvider(ctx, globals.AppLogger, globals.LoadedAppConfig)
		if err != nil {
			presenter.Error("Failed to initialize work item provider: %v", err)
			return err
		}

		listOpts := workitem.ListOptions{
			Limit:    issueLimit,
			Assignee: issueAssignee,
		}
		if issueLabel != "" {
			listOpts.Labels = []string{issueLabel}
		}
		switch issueState {
		case "closed":
			listOpts.State = workitem.StateClosed
		default:
			listOpts.State = workitem.StateOpen
		}

		presenter.Summary("Fetching Work Items...")
		items, err := provider.ListItems(ctx, listOpts)
		if err != nil {
			presenter.Error("Failed to list work items: %v", err)
			return err
		}

		if len(items) == 0 {
			presenter.Info("No work items found matching the criteria.")
			return nil
		}

		if fullView {
			for _, item := range items {
				detailedItem, err := provider.GetItem(ctx, item.Number, false)
				if err != nil {
					presenter.Warning("Could not fetch details for #%d: %v", item.Number, err)
					continue
				}
				internal.DisplayWorkItem(presenter, detailedItem)
			}
		} else {
			for _, item := range items {
				fmt.Fprintf(presenter.Out(), "#%d [%s] %s\n", item.Number, item.State, item.Title)
			}
		}

		return nil
	},
}

ListCmd represents the project issues list command

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL