Documentation
¶
Index ¶
- Variables
- func EventColor(eventType string) lipgloss.Color
- func LabelColor(label string) lipgloss.Color
- type DebugLog
- func (d *DebugLog) Error(format string, args ...interface{})
- func (d *DebugLog) GetEntries() []LogEntry
- func (d *DebugLog) GetStats() FetchStats
- func (d *DebugLog) Info(format string, args ...interface{})
- func (d *DebugLog) Log(level LogLevel, format string, args ...interface{})
- func (d *DebugLog) RecordFetch(repo string, success bool, eventCount int, usingCache bool)
- func (d *DebugLog) SetLogViewer(lv *blit.LogViewer)
- func (d *DebugLog) SetRateLimit(remaining, limit int)
- func (d *DebugLog) Warn(format string, args ...interface{})
- type DebugOverlay
- func (d *DebugOverlay) Close()
- func (d *DebugOverlay) Focused() bool
- func (d *DebugOverlay) Init() tea.Cmd
- func (d *DebugOverlay) IsActive() bool
- func (d *DebugOverlay) KeyBindings() []blit.KeyBind
- func (d *DebugOverlay) SetActive(v bool)
- func (d *DebugOverlay) SetFocused(f bool)
- func (d *DebugOverlay) SetSize(w, h int)
- func (d *DebugOverlay) SetTheme(t blit.Theme)
- func (d *DebugOverlay) Update(msg tea.Msg, ctx blit.Context) (blit.Component, tea.Cmd)
- func (d *DebugOverlay) View() string
- type DisplayEvent
- type EventStream
- func (s *EventStream) ClearFilters()
- func (s *EventStream) CycleTypeFilter(forward bool)
- func (s *EventStream) DebugLog() *DebugLog
- func (s *EventStream) Focused() bool
- func (s *EventStream) ForceRefresh()
- func (s *EventStream) HasLocalRepos() bool
- func (s *EventStream) Init() tea.Cmd
- func (s *EventStream) IsNewestFirst() bool
- func (s *EventStream) IsPaused() bool
- func (s *EventStream) KeyBindings() []blit.KeyBind
- func (s *EventStream) RepoFilter() string
- func (s *EventStream) SetFocused(f bool)
- func (s *EventStream) SetRepoFilter(repo string)
- func (s *EventStream) SetSize(w, h int)
- func (s *EventStream) SetTheme(t blit.Theme)
- func (s *EventStream) SetTypeFilter(t string)
- func (s *EventStream) TogglePause()
- func (s *EventStream) ToggleSort()
- func (s *EventStream) TypeFilter() string
- func (s *EventStream) Update(msg tea.Msg, ctx blit.Context) (blit.Component, tea.Cmd)
- func (s *EventStream) View() string
- type FetchStats
- type LogEntry
- type LogLevel
- type RepoHealth
- type StatusPanel
- func (p *StatusPanel) Focused() bool
- func (p *StatusPanel) Init() tea.Cmd
- func (p *StatusPanel) KeyBindings() []blit.KeyBind
- func (p *StatusPanel) SetFocused(f bool)
- func (p *StatusPanel) SetSize(w, h int)
- func (p *StatusPanel) SetTheme(t blit.Theme)
- func (p *StatusPanel) Update(msg tea.Msg, ctx blit.Context) (blit.Component, tea.Cmd)
- func (p *StatusPanel) View() string
Constants ¶
This section is empty.
Variables ¶
var ( // Event type colors ColorPush = lipgloss.Color("#22c55e") // green ColorPR = lipgloss.Color("#3b82f6") // blue ColorReview = lipgloss.Color("#a855f7") // purple ColorComment = lipgloss.Color("#06b6d4") // cyan ColorIssue = lipgloss.Color("#eab308") // yellow ColorCreate = lipgloss.Color("#22c55e") // green ColorDelete = lipgloss.Color("#ef4444") // red ColorRelease = lipgloss.Color("#f97316") // orange ColorLocal = lipgloss.Color("#a78bfa") // light purple ColorDim = lipgloss.Color("#6b7280") // gray // Layout styles TitleStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#ffffff")). PaddingLeft(1) SubtitleStyle = lipgloss.NewStyle(). Foreground(ColorDim). PaddingLeft(1) TimeStyle = lipgloss.NewStyle(). Foreground(ColorDim). Width(20) RepoStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("#ffffff")). Bold(true). Width(18) ActorStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("#d1d5db")). Width(22) DetailStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("#9ca3af")) StatusBarStyle = lipgloss.NewStyle(). Foreground(ColorDim). PaddingLeft(1) // Status panel styles PanelBorderStyle = lipgloss.NewStyle(). Border(lipgloss.RoundedBorder()). BorderForeground(lipgloss.Color("#3b3b3b")). Padding(0, 1) PanelTitleStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#ffffff")) PanelDividerStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("#3b3b3b")) PanelRepoStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#3b82f6")) PanelDimStyle = lipgloss.NewStyle(). Foreground(ColorDim) PanelCleanStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("#22c55e")) PanelDirtyStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("#eab308")) PanelWarnStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("#f97316")) PanelCIFailStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("#ef4444")) DividerStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("#3b3b3b")) DetailRepoStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("#ffffff")) DetailActorStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("#d1d5db")) DetailTimeStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("#6b7280")) )
Functions ¶
func EventColor ¶
EventColor returns the color for a given event type.
func LabelColor ¶ added in v0.7.3
LabelColor maps a display label (e.g. "PUSH", "PR") back to its color.
Types ¶
type DebugLog ¶ added in v0.2.0
type DebugLog struct {
// contains filtered or unexported fields
}
DebugLog is a thread-safe circular log buffer.
func NewDebugLog ¶ added in v0.2.0
func NewDebugLog() *DebugLog
func (*DebugLog) GetEntries ¶ added in v0.2.0
func (*DebugLog) GetStats ¶ added in v0.2.0
func (d *DebugLog) GetStats() FetchStats
func (*DebugLog) RecordFetch ¶ added in v0.2.0
func (*DebugLog) SetLogViewer ¶ added in v0.7.3
SetLogViewer wires a blit.LogViewer so that new log entries are also appended to it.
func (*DebugLog) SetRateLimit ¶ added in v0.2.5
type DebugOverlay ¶ added in v0.3.0
type DebugOverlay struct {
// contains filtered or unexported fields
}
DebugOverlay shows API stats and recent log entries using blit.LogViewer. Implements blit.Component and blit.Overlay.
func NewDebugOverlay ¶ added in v0.3.0
func NewDebugOverlay(debugLog *DebugLog) *DebugOverlay
func (*DebugOverlay) Close ¶ added in v0.3.0
func (d *DebugOverlay) Close()
func (*DebugOverlay) Focused ¶ added in v0.3.0
func (d *DebugOverlay) Focused() bool
func (*DebugOverlay) Init ¶ added in v0.3.0
func (d *DebugOverlay) Init() tea.Cmd
func (*DebugOverlay) IsActive ¶ added in v0.3.0
func (d *DebugOverlay) IsActive() bool
func (*DebugOverlay) KeyBindings ¶ added in v0.3.0
func (d *DebugOverlay) KeyBindings() []blit.KeyBind
func (*DebugOverlay) SetActive ¶ added in v0.3.0
func (d *DebugOverlay) SetActive(v bool)
func (*DebugOverlay) SetFocused ¶ added in v0.3.0
func (d *DebugOverlay) SetFocused(f bool)
func (*DebugOverlay) SetSize ¶ added in v0.3.0
func (d *DebugOverlay) SetSize(w, h int)
func (*DebugOverlay) SetTheme ¶ added in v0.7.3
func (d *DebugOverlay) SetTheme(t blit.Theme)
func (*DebugOverlay) View ¶ added in v0.3.0
func (d *DebugOverlay) View() string
type DisplayEvent ¶
DisplayEvent holds a parsed event for display.
type EventStream ¶ added in v0.3.0
type EventStream struct {
DetailOverlay *blit.DetailOverlay[DisplayEvent]
// contains filtered or unexported fields
}
EventStream displays a scrollable table of GitHub events. Implements blit.Component.
func NewEventStream ¶ added in v0.3.0
func NewEventStream(cfg *config.Config, debugLog *DebugLog) *EventStream
func (*EventStream) ClearFilters ¶ added in v0.3.0
func (s *EventStream) ClearFilters()
func (*EventStream) CycleTypeFilter ¶ added in v0.3.0
func (s *EventStream) CycleTypeFilter(forward bool)
func (*EventStream) DebugLog ¶ added in v0.3.0
func (s *EventStream) DebugLog() *DebugLog
func (*EventStream) Focused ¶ added in v0.3.0
func (s *EventStream) Focused() bool
func (*EventStream) ForceRefresh ¶ added in v0.3.0
func (s *EventStream) ForceRefresh()
func (*EventStream) HasLocalRepos ¶ added in v0.3.0
func (s *EventStream) HasLocalRepos() bool
func (*EventStream) Init ¶ added in v0.3.0
func (s *EventStream) Init() tea.Cmd
func (*EventStream) IsNewestFirst ¶ added in v0.3.0
func (s *EventStream) IsNewestFirst() bool
func (*EventStream) IsPaused ¶ added in v0.3.0
func (s *EventStream) IsPaused() bool
func (*EventStream) KeyBindings ¶ added in v0.3.0
func (s *EventStream) KeyBindings() []blit.KeyBind
func (*EventStream) RepoFilter ¶ added in v0.3.0
func (s *EventStream) RepoFilter() string
func (*EventStream) SetFocused ¶ added in v0.3.0
func (s *EventStream) SetFocused(f bool)
func (*EventStream) SetRepoFilter ¶ added in v0.3.0
func (s *EventStream) SetRepoFilter(repo string)
func (*EventStream) SetSize ¶ added in v0.3.0
func (s *EventStream) SetSize(w, h int)
func (*EventStream) SetTheme ¶ added in v0.7.3
func (s *EventStream) SetTheme(t blit.Theme)
SetTheme implements blit.Themed so the App's theme propagates through Tabs → EventStream → Table.
func (*EventStream) SetTypeFilter ¶ added in v0.7.3
func (s *EventStream) SetTypeFilter(t string)
func (*EventStream) TogglePause ¶ added in v0.3.0
func (s *EventStream) TogglePause()
func (*EventStream) ToggleSort ¶ added in v0.3.0
func (s *EventStream) ToggleSort()
func (*EventStream) TypeFilter ¶ added in v0.3.0
func (s *EventStream) TypeFilter() string
func (*EventStream) View ¶ added in v0.3.0
func (s *EventStream) View() string
type FetchStats ¶ added in v0.2.0
type FetchStats struct {
TotalCalls int
SuccessCalls int
FailedCalls int
TotalEvents int
LastFetchAt time.Time
RepoHealth map[string]*RepoHealth
RateRemain int // GitHub API rate limit remaining
RateLimit int // GitHub API rate limit total
}
FetchStats tracks API call statistics.
type RepoHealth ¶ added in v0.2.5
type RepoHealth struct {
LastSuccess bool
FailStreak int
UsingCache bool // true when serving cached events due to fetch failure
}
RepoHealth tracks per-repo fetch health.
type StatusPanel ¶ added in v0.3.0
type StatusPanel struct {
// contains filtered or unexported fields
}
StatusPanel displays local repo git status. Implements blit.Component.
func NewStatusPanel ¶ added in v0.3.0
func NewStatusPanel() *StatusPanel
func (*StatusPanel) Focused ¶ added in v0.3.0
func (p *StatusPanel) Focused() bool
func (*StatusPanel) Init ¶ added in v0.3.0
func (p *StatusPanel) Init() tea.Cmd
func (*StatusPanel) KeyBindings ¶ added in v0.3.0
func (p *StatusPanel) KeyBindings() []blit.KeyBind
func (*StatusPanel) SetFocused ¶ added in v0.3.0
func (p *StatusPanel) SetFocused(f bool)
func (*StatusPanel) SetSize ¶ added in v0.3.0
func (p *StatusPanel) SetSize(w, h int)
func (*StatusPanel) SetTheme ¶ added in v0.7.3
func (p *StatusPanel) SetTheme(t blit.Theme)
SetTheme implements blit.Themed so the App's theme propagates to the ListView.
func (*StatusPanel) View ¶ added in v0.3.0
func (p *StatusPanel) View() string