Help us shape the future of Go! Take the 2026 Go Developer Survey

panels

package
v0.15.2 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CanConvertHotfixTask added in v0.6.0

func CanConvertHotfixTask(task *domain.Task, flow *gitflow.ResolvedGitFlow) bool

func RenderWorkflowPanel added in v0.11.0

func RenderWorkflowPanel(in WorkflowPanelInput) string

RenderWorkflowPanel renders the workflow strip: identity line, step chain/cards plus the authoritative blocker/next-action line (via the shared renderWorkflow helper), and guidance rows for the selected service.

Types

type CleanupReleaseMsg added in v0.12.0

type CleanupReleaseMsg struct{ ReleaseID string }

type CleanupTaskMsg added in v0.12.0

type CleanupTaskMsg struct{ TaskID string }

type CodeWorkspaceTaskMsg

type CodeWorkspaceTaskMsg struct {
	TaskID  string
	TaskDir string
}

type FocusServicesMsg

type FocusServicesMsg struct{ TaskID string }

type FocusTasksMsg

type FocusTasksMsg struct{}

type ForceCleanupTaskMsg added in v0.14.0

type ForceCleanupTaskMsg struct{ TaskID string }

type OpenAddServiceMsg

type OpenAddServiceMsg struct {
	TaskID           string
	ExistingServices []string
}

type OpenCleanupDialogMsg added in v0.11.0

type OpenCleanupDialogMsg struct{}

type OpenCloneDialogMsg

type OpenCloneDialogMsg struct{ TaskID string }

type OpenConfigModalMsg

type OpenConfigModalMsg struct{}

type OpenConvertHotfixDialogMsg added in v0.6.0

type OpenConvertHotfixDialogMsg struct {
	TaskID       string
	TargetTaskID string
}

type OpenCreateReleaseDialogMsg added in v0.3.0

type OpenCreateReleaseDialogMsg struct{}

type OpenForgeMenuMsg added in v0.3.0

type OpenForgeMenuMsg struct {
	TaskID      string
	ServiceName string
	Provider    forge.ForgeProvider
}

type OpenInitDialogMsg

type OpenInitDialogMsg struct{}

type OpenLazygitServiceMsg

type OpenLazygitServiceMsg struct {
	TaskID       string
	ServiceName  string
	WorktreePath string
	Stale        bool
}

type OpenReleaseEditorMsg added in v0.9.1

type OpenReleaseEditorMsg struct {
	ReleaseID  string
	ReleaseDir string
}

type OpenReleaseRiderMsg added in v0.9.1

type OpenReleaseRiderMsg struct {
	ReleaseID  string
	ReleaseDir string
}

type OpenRemoveServiceDialogMsg

type OpenRemoveServiceDialogMsg struct {
	TaskID      string
	ServiceName string
	BranchName  string
}

type OpenStashDialogMsg

type OpenStashDialogMsg struct {
	TaskID      string
	ServiceName string
	Pop         bool
}

type OpenSyncServiceStrategyDialogMsg

type OpenSyncServiceStrategyDialogMsg struct {
	TaskID      string
	ServiceName string
}

type OpenSyncStrategyDialogMsg

type OpenSyncStrategyDialogMsg struct{ TaskID string }

type OpenTagBrowserMsg added in v0.3.0

type OpenTagBrowserMsg struct{ TaskID string }

type OperationProgress added in v0.6.0

type OperationProgress struct {
	TaskID   string
	Op       string
	Services map[string]ServiceProgress
}

OperationProgress is a snapshot of one tracked operation across services.

func NewOperationProgress added in v0.6.0

func NewOperationProgress(taskID, op string) *OperationProgress

func (*OperationProgress) ApplyLine added in v0.6.0

func (p *OperationProgress) ApplyLine(line string)

ApplyLine folds one streamed status line into the snapshot.

func (*OperationProgress) Counts added in v0.6.0

func (p *OperationProgress) Counts(order []string) (done, failed, running, skipped, pending int)

Counts tallies states over the given service order.

func (*OperationProgress) Finish added in v0.6.0

func (p *OperationProgress) Finish(err error)

Finish resolves services still running when the operation ends.

func (*OperationProgress) SetService added in v0.6.0

func (p *OperationProgress) SetService(name string, state ProgressState)

SetService sets an explicit terminal state for a service (e.g. from typed results).

type OutputPanel

type OutputPanel struct {
	// contains filtered or unexported fields
}

func NewOutputPanel

func NewOutputPanel(width, height int) OutputPanel

func (*OutputPanel) AppendLine

func (p *OutputPanel) AppendLine(line string)

func (*OutputPanel) ScrollDown

func (p *OutputPanel) ScrollDown(lines int)

func (*OutputPanel) ScrollUp

func (p *OutputPanel) ScrollUp(lines int)

func (*OutputPanel) SetFocused

func (p *OutputPanel) SetFocused(focused bool)

func (*OutputPanel) SetSize

func (p *OutputPanel) SetSize(width, height int)

func (OutputPanel) Update

func (p OutputPanel) Update(msg tea.Msg) (OutputPanel, tea.Cmd)

func (OutputPanel) View

func (p OutputPanel) View() string

type PlanCloseTaskMsg added in v0.3.0

type PlanCloseTaskMsg struct{ TaskID string }

type ProgressState added in v0.6.0

type ProgressState int

ProgressState is the per-service state of a tracked long-running operation.

const (
	ProgressPending ProgressState = iota
	ProgressRunning
	ProgressDone
	ProgressFailed
	ProgressSkipped
)

func ParseProgressLine added in v0.6.0

func ParseProgressLine(line string) (service, phase string, state ProgressState, ok bool)

ParseProgressLine extracts service progress from a streamed status line. Supported formats: "[svc] fetching...", "[svc:phase] msg", "[svc][phase] msg". ponytail: status lines stay the contract; unknown lines are output-only.

type PushServiceMsg

type PushServiceMsg struct {
	TaskID      string
	ServiceName string
}

type PushTaskMsg

type PushTaskMsg struct{ TaskID string }

type ReleaseVersionsLoadedMsg added in v0.3.0

type ReleaseVersionsLoadedMsg struct {
	Versions map[string]string // serviceName → proposed version
}

type ReleasesPanel added in v0.3.0

type ReleasesPanel struct {
	// contains filtered or unexported fields
}

func NewReleasesPanel added in v0.3.0

func NewReleasesPanel(width, height int) ReleasesPanel

func (*ReleasesPanel) SelectRelease added in v0.11.0

func (p *ReleasesPanel) SelectRelease(id string) bool

SelectRelease moves the cursor to the release with the given ID.

func (ReleasesPanel) SelectedRelease added in v0.3.0

func (p ReleasesPanel) SelectedRelease() *domain.Release

func (*ReleasesPanel) SetFocused added in v0.3.0

func (p *ReleasesPanel) SetFocused(focused bool)

func (*ReleasesPanel) SetReleases added in v0.3.0

func (p *ReleasesPanel) SetReleases(releases []domain.Release)

func (*ReleasesPanel) SetSize added in v0.3.0

func (p *ReleasesPanel) SetSize(width, height int)

func (*ReleasesPanel) SetWorkflow added in v0.4.0

func (p *ReleasesPanel) SetWorkflow(wf *domain.WorkflowSummary)

func (ReleasesPanel) Update added in v0.3.0

func (p ReleasesPanel) Update(msg tea.Msg) (ReleasesPanel, tea.Cmd)

func (ReleasesPanel) View added in v0.3.0

func (p ReleasesPanel) View() string

type RiderTaskMsg

type RiderTaskMsg struct {
	TaskID  string
	TaskDir string
}

type ServiceProgress added in v0.6.0

type ServiceProgress struct {
	State ProgressState
	Phase string
}

ServiceProgress is the latest known progress of one service.

type ServicesPanel

type ServicesPanel struct {
	// contains filtered or unexported fields
}

func NewServicesPanel

func NewServicesPanel(width, height int) ServicesPanel

func (*ServicesPanel) FilterActive

func (p *ServicesPanel) FilterActive() bool

func (*ServicesPanel) SelectedService

func (p *ServicesPanel) SelectedService() *domain.Service

func (ServicesPanel) Services added in v0.3.0

func (p ServicesPanel) Services() []domain.Service

func (*ServicesPanel) SetFocused

func (p *ServicesPanel) SetFocused(focused bool)

func (*ServicesPanel) SetForgeConfig added in v0.5.1

func (p *ServicesPanel) SetForgeConfig(cfg *config.ForgeConfig)

func (*ServicesPanel) SetLazygitAvailable

func (p *ServicesPanel) SetLazygitAvailable(available bool)

func (*ServicesPanel) SetOperationProgress added in v0.6.0

func (p *ServicesPanel) SetOperationProgress(op *OperationProgress)

SetOperationProgress updates the live operation snapshot in place, preserving the current cursor position.

func (*ServicesPanel) SetServices

func (p *ServicesPanel) SetServices(taskID string, services []domain.Service)

func (*ServicesPanel) SetSize

func (p *ServicesPanel) SetSize(width, height int)

func (*ServicesPanel) SetWorkflow added in v0.4.0

func (p *ServicesPanel) SetWorkflow(wf *domain.WorkflowSummary)

func (ServicesPanel) TaskID added in v0.3.0

func (p ServicesPanel) TaskID() string

func (ServicesPanel) Update

func (p ServicesPanel) Update(msg tea.Msg) (ServicesPanel, tea.Cmd)

func (ServicesPanel) View

func (p ServicesPanel) View() string

type ShellExecMsg added in v0.6.0

type ShellExecMsg struct{ TaskDir string }

type StashServiceMsg

type StashServiceMsg struct {
	TaskID      string
	ServiceName string
	Pop         bool
}

type TaskSelectionChangedMsg

type TaskSelectionChangedMsg struct{ TaskID string }

type TasksPanel

type TasksPanel struct {
	// contains filtered or unexported fields
}

func NewTasksPanel

func NewTasksPanel(width, height int) TasksPanel

func (*TasksPanel) FilterActive

func (p *TasksPanel) FilterActive() bool

func (*TasksPanel) SelectedTask

func (p *TasksPanel) SelectedTask() *domain.Task

func (*TasksPanel) SetFlow added in v0.3.0

func (p *TasksPanel) SetFlow(flow *gitflow.ResolvedGitFlow)

func (*TasksPanel) SetFocused

func (p *TasksPanel) SetFocused(focused bool)

func (*TasksPanel) SetSize

func (p *TasksPanel) SetSize(width, height int)

func (*TasksPanel) SetTasks

func (p *TasksPanel) SetTasks(tasks []domain.Task)

func (TasksPanel) Update

func (p TasksPanel) Update(msg tea.Msg) (TasksPanel, tea.Cmd)

func (TasksPanel) View

func (p TasksPanel) View() string

type ValidateTaskMsg added in v0.3.0

type ValidateTaskMsg struct{ TaskID string }

type WorkflowPanelInput added in v0.11.0

type WorkflowPanelInput struct {
	Kind          WorkflowPanelKind
	Identity      string
	Version       string
	Workflow      *domain.WorkflowSummary
	Service       string
	Loading       bool
	Width         int
	ShortTerminal bool
}

WorkflowPanelInput carries everything the stateless, non-focusable workflow strip needs for one render. The strip stores no model state.

type WorkflowPanelKind added in v0.11.0

type WorkflowPanelKind uint8

WorkflowPanelKind identifies which context the workflow strip summarizes.

const (
	WorkflowPanelNone WorkflowPanelKind = iota
	WorkflowPanelTask
	WorkflowPanelRelease
)

Jump to

Keyboard shortcuts

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