app

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2026 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	Root   string
	Runner ghcli.Runner
	Now    func() time.Time
	Out    io.Writer
	Err    io.Writer
	Theme  *theme.Theme
}

func New

func New(root string, runner ghcli.Runner, out io.Writer, errOut io.Writer) *App

func (*App) Close

func (a *App) Close(ctx context.Context, number string, opts CloseOptions) error

func (*App) Diff

func (a *App) Diff(ctx context.Context, number string, opts DiffOptions) error

func (*App) DiffAll

func (a *App) DiffAll(ctx context.Context, opts DiffOptions) error

func (*App) Edit

func (a *App) Edit(ctx context.Context, number string) error

func (*App) Init

func (a *App) Init(ctx context.Context, owner, repo string) error

func (*App) List

func (a *App) List(ctx context.Context, opts ListOptions) error

func (*App) NewIssue

func (a *App) NewIssue(ctx context.Context, title string, opts NewOptions) error

func (*App) Pull

func (a *App) Pull(ctx context.Context, opts PullOptions, args []string) error

func (*App) Push

func (a *App) Push(ctx context.Context, opts PushOptions, args []string) error

func (*App) Reopen

func (a *App) Reopen(ctx context.Context, number string) error

func (*App) Status

func (a *App) Status(ctx context.Context) error

func (*App) View

func (a *App) View(ctx context.Context, ref string, opts ViewOptions) error

type CloseOptions

type CloseOptions struct {
	Reason string
}

type DiffOptions

type DiffOptions struct {
	Remote bool
}

type IssueFile

type IssueFile struct {
	Issue issue.Issue
	Path  string
	State string
}

type IssueTypeCache

type IssueTypeCache struct {
	IssueTypes []IssueTypeEntry `json:"issue_types"`
	SyncedAt   time.Time        `json:"synced_at"`
}

IssueTypeCache stores the synced issue types from GitHub

type IssueTypeEntry

type IssueTypeEntry struct {
	ID          string `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
}

IssueTypeEntry represents a single issue type

type LabelCache

type LabelCache struct {
	Labels   []LabelEntry `json:"labels"`
	SyncedAt time.Time    `json:"synced_at"`
}

LabelCache stores the synced labels from GitHub

type LabelEntry

type LabelEntry struct {
	Name  string `json:"name"`
	Color string `json:"color"`
}

LabelEntry represents a single label with its color

type ListOptions

type ListOptions struct {
	All       bool
	State     string
	Label     []string
	Assignee  string
	Author    string
	Milestone string
	Mention   string
	Limit     int
	Local     bool
	Modified  bool
	Search    string
}

type LoadResult

type LoadResult struct {
	Issues []IssueFile
	Errors []ParseError
}

LoadResult contains loaded issues and any parse errors encountered

type MilestoneCache

type MilestoneCache struct {
	Milestones []MilestoneEntry `json:"milestones"`
	SyncedAt   time.Time        `json:"synced_at"`
}

MilestoneCache stores the synced milestones from GitHub

type MilestoneEntry

type MilestoneEntry struct {
	Title       string  `json:"title"`
	Description string  `json:"description,omitempty"`
	DueOn       *string `json:"due_on,omitempty"`
	State       string  `json:"state"`
}

MilestoneEntry represents a single milestone

type NewOptions

type NewOptions struct {
	Labels []string
	Edit   bool
}

type ParseError

type ParseError struct {
	Path string
	Err  error
}

ParseError represents an error parsing a specific issue file

func (ParseError) Error

func (e ParseError) Error() string

type PendingComment

type PendingComment struct {
	IssueNumber issue.IssueNumber
	Body        string
	Path        string
}

PendingComment represents a pending comment for an issue

type ProjectCache

type ProjectCache struct {
	Projects []ProjectEntry `json:"projects"`
	SyncedAt time.Time      `json:"synced_at"`
}

ProjectCache stores the synced projects from GitHub

type ProjectEntry

type ProjectEntry struct {
	ID    string `json:"id"`
	Title string `json:"title"`
}

ProjectEntry represents a single project

type PullOptions

type PullOptions struct {
	All   bool
	Force bool
	Full  bool // Force full sync, bypassing incremental
	Label []string
}

type PushOptions

type PushOptions struct {
	DryRun     bool
	NoComments bool
	Force      bool
}

type ViewOptions

type ViewOptions struct {
	Raw bool
}

Jump to

Keyboard shortcuts

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