SYMBOL INDEX (1381 symbols across 134 files) FILE: cmd/root.go function Execute (line 68) | func Execute() { function setDebugLogLevel (line 80) | func setDebugLogLevel() { function createModel (line 93) | func createModel(location config.Location, debug bool) (tui.Model, *os.F... function buildVersion (line 121) | func buildVersion(version, commit, date, builtBy string) string { function init (line 145) | func init() { FILE: cmd/sponsors.go function init (line 57) | func init() { FILE: docs/src/data/latestVersion.ts constant GH_TOKEN (line 1) | const GH_TOKEN = import.meta.env.GH_TOKEN; FILE: docs/src/data/sponsorshipGoal.ts constant GH_TOKEN (line 1) | const GH_TOKEN = import.meta.env.GH_TOKEN; FILE: docs/src/data/stars.ts constant GH_TOKEN (line 1) | const GH_TOKEN = import.meta.env.GH_TOKEN; FILE: docs/src/pages/schema.json.ts function GET (line 1) | function GET() { FILE: docs/src/pages/schema/defaults.json.ts function GET (line 1) | function GET() { FILE: docs/src/pages/schema/definitions/grow.json.ts function GET (line 1) | function GET() { FILE: docs/src/pages/schema/definitions/hexcolor.json.ts function GET (line 1) | function GET() { FILE: docs/src/pages/schema/issue-section.json.ts function GET (line 1) | function GET() { FILE: docs/src/pages/schema/keybindings/entry.json.ts function GET (line 1) | function GET() { FILE: docs/src/pages/schema/keybindings/issues.json.ts function GET (line 1) | function GET() { FILE: docs/src/pages/schema/keybindings/prs.json.ts function GET (line 1) | function GET() { FILE: docs/src/pages/schema/layout/issue.json.ts function GET (line 1) | function GET() { FILE: docs/src/pages/schema/layout/options.json.ts function GET (line 1) | function GET() { FILE: docs/src/pages/schema/layout/pr.json.ts function GET (line 1) | function GET() { FILE: docs/src/pages/schema/pr-section.json.ts function GET (line 2) | function GET() { FILE: docs/src/pages/schema/theme.json.ts function GET (line 2) | function GET() { FILE: gh-dash.go function main (line 7) | func main() { FILE: internal/config/feature_flags.go constant FF_REPO_VIEW (line 5) | FF_REPO_VIEW = "FF_REPO_VIEW" constant FF_MOCK_DATA (line 7) | FF_MOCK_DATA = "FF_MOCK_DATA" function IsFeatureEnabled (line 9) | func IsFeatureEnabled(name string) bool { FILE: internal/config/parser.go constant DashDir (line 34) | DashDir = "gh-dash" constant RepoConfigFileName (line 36) | RepoConfigFileName = ".gh-dash.yml" constant ConfigYmlFileName (line 38) | ConfigYmlFileName = "config.yml" constant ConfigYamlFileName (line 41) | ConfigYamlFileName = "config.yaml" constant DEFAULT_XDG_CONFIG_DIRNAME (line 43) | DEFAULT_XDG_CONFIG_DIRNAME = ".config" type ViewType (line 48) | type ViewType method String (line 50) | func (vt ViewType) String() string { method MarshalJSON (line 54) | func (vt ViewType) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 58) | func (a *ViewType) UnmarshalJSON(b []byte) error { constant NotificationsView (line 78) | NotificationsView ViewType = "notifications" constant PRsView (line 79) | PRsView ViewType = "prs" constant IssuesView (line 80) | IssuesView ViewType = "issues" constant RepoView (line 81) | RepoView ViewType = "repo" type SectionConfig (line 84) | type SectionConfig struct type PrsSectionConfig (line 91) | type PrsSectionConfig struct type IssuesSectionConfig (line 99) | type IssuesSectionConfig struct type NotificationsSectionConfig (line 106) | type NotificationsSectionConfig struct type PreviewConfig (line 112) | type PreviewConfig struct type NullableBool (line 117) | type NullableBool struct method MarshalJSON (line 121) | func (nb NullableBool) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 130) | func (nullBool *NullableBool) UnmarshalJSON(b []byte) error { type ColumnConfig (line 146) | type ColumnConfig struct type PrsLayoutConfig (line 151) | type PrsLayoutConfig struct type IssuesLayoutConfig (line 167) | type IssuesLayoutConfig struct type LayoutConfig (line 180) | type LayoutConfig struct type Defaults (line 185) | type Defaults struct type RepoConfig (line 197) | type RepoConfig struct type Keybinding (line 202) | type Keybinding struct method NewBinding (line 209) | func (kb Keybinding) NewBinding(previous *key.Binding) key.Binding { type Keybindings (line 225) | type Keybindings struct type Pager (line 233) | type Pager struct type Color (line 237) | type Color method String (line 239) | func (c Color) String() string { method IsZero (line 243) | func (c Color) IsZero() bool { type ColorThemeIcon (line 247) | type ColorThemeIcon struct type ColorThemeText (line 256) | type ColorThemeText struct type ColorThemeBorder (line 267) | type ColorThemeBorder struct type ColorThemeBackground (line 273) | type ColorThemeBackground struct type ColorTheme (line 277) | type ColorTheme struct type ColorThemeConfig (line 284) | type ColorThemeConfig struct type IconTheme (line 288) | type IconTheme struct type IconThemeConfig (line 297) | type IconThemeConfig struct type TableUIThemeConfig (line 301) | type TableUIThemeConfig struct type UIThemeConfig (line 306) | type UIThemeConfig struct type ThemeConfig (line 311) | type ThemeConfig struct type Config (line 317) | type Config struct type configError (line 333) | type configError struct method Error (line 507) | func (e configError) Error() string { type ConfigParser (line 339) | type ConfigParser struct method getDefaultConfig (line 343) | func (parser ConfigParser) getDefaultConfig() Config { method getDefaultConfigYamlContents (line 496) | func (parser ConfigParser) getDefaultConfigYamlContents() (string, err... method writeDefaultConfigContents (line 532) | func (parser ConfigParser) writeDefaultConfigContents( method createConfigFileIfMissing (line 547) | func (parser ConfigParser) createConfigFileIfMissing( method getGlobalConfigPathOrCreateIfMissing (line 569) | func (parser ConfigParser) getGlobalConfigPathOrCreateIfMissing() (str... method getProvidedConfigPath (line 601) | func (parser ConfigParser) getProvidedConfigPath(location Location) st... method loadGlobalConfig (line 624) | func (parser ConfigParser) loadGlobalConfig(globalCfgPath string) error { method mergeConfigs (line 628) | func (parser ConfigParser) mergeConfigs(globalCfgPath, userProvidedCfg... method unmarshalConfigWithDefaults (line 802) | func (parser ConfigParser) unmarshalConfigWithDefaults() (Config, erro... function mergeKeybindings (line 665) | func mergeKeybindings(src, dest map[string]any, typ string) []map[string... type parsingError (line 722) | type parsingError struct method Error (line 727) | func (e parsingError) Error() string { function validateColor (line 731) | func validateColor(fl validator.FieldLevel) bool { function initParser (line 740) | func initParser() ConfigParser { type Location (line 758) | type Location struct function ParseConfig (line 764) | func ParseConfig(location Location) (Config, error) { FILE: internal/config/parser_test.go constant repoPath (line 34) | repoPath = "testdata" function init (line 36) | func init() { function Testwd (line 48) | func Testwd(t *testing.T) string { function TestParser (line 53) | func TestParser(t *testing.T) { function loadExpected (line 158) | func loadExpected(t *testing.T, fpath string) Config { function setXDGConfigHomeEnvVar (line 172) | func setXDGConfigHomeEnvVar(t *testing.T, dir string) func() { function TestValidateColor (line 181) | func TestValidateColor(t *testing.T) { function setupConfigEnvVar (line 216) | func setupConfigEnvVar(t *testing.T) func() { FILE: internal/config/utils.go method GetFullScreenDiffPagerEnv (line 9) | func (cfg Config) GetFullScreenDiffPagerEnv() []string { method ToSectionConfig (line 31) | func (cfg PrsSectionConfig) ToSectionConfig() SectionConfig { method ToSectionConfig (line 40) | func (cfg IssuesSectionConfig) ToSectionConfig() SectionConfig { method ToSectionConfig (line 48) | func (cfg NotificationsSectionConfig) ToSectionConfig() SectionConfig { function MergeColumnConfigs (line 56) | func MergeColumnConfigs(defaultCfg, sectionCfg ColumnConfig) ColumnConfig { function TruncateCommand (line 67) | func TruncateCommand(cmd string) string { FILE: internal/data/assignee.go type Assignees (line 3) | type Assignees struct type Assignee (line 7) | type Assignee struct FILE: internal/data/bookmarks.go constant defaultXDGStateDir (line 13) | defaultXDGStateDir = ".local/state" constant dashDir (line 14) | dashDir = "gh-dash" type NotificationIDStore (line 19) | type NotificationIDStore struct method load (line 54) | func (s *NotificationIDStore) load() error { method save (line 82) | func (s *NotificationIDStore) save() error { method Has (line 131) | func (s *NotificationIDStore) Has(id string) bool { method Add (line 138) | func (s *NotificationIDStore) Add(id string) { method Remove (line 146) | func (s *NotificationIDStore) Remove(id string) { method Toggle (line 154) | func (s *NotificationIDStore) Toggle(id string) bool { method GetAll (line 168) | func (s *NotificationIDStore) GetAll() []string { method Flush (line 179) | func (s *NotificationIDStore) Flush() error { method IsBookmarked (line 201) | func (s *NotificationIDStore) IsBookmarked(id string) bool { method ToggleBookmark (line 206) | func (s *NotificationIDStore) ToggleBookmark(id string) bool { method GetBookmarkedIds (line 211) | func (s *NotificationIDStore) GetBookmarkedIds() []string { function newNotificationIDStore (line 26) | func newNotificationIDStore(filename, name string) *NotificationIDStore { function getStateFilePath (line 42) | func getStateFilePath(filename string) (string, error) { function GetBookmarkStore (line 191) | func GetBookmarkStore() *NotificationIDStore { FILE: internal/data/bookmarks_test.go function TestNotificationIDStore (line 9) | func TestNotificationIDStore(t *testing.T) { FILE: internal/data/cache.go type Cache (line 9) | type Cache struct function New (line 15) | func New() Cache { function Get (line 31) | func Get() Cache { FILE: internal/data/commonapi.go type VersionResponse (line 9) | type VersionResponse struct function FetchLatestVersion (line 17) | func FetchLatestVersion() (VersionResponse, error) { type SponsorsResponse (line 43) | type SponsorsResponse struct function FetchSponsors (line 61) | func FetchSponsors() (SponsorsResponse, error) { FILE: internal/data/donestore.go type DoneStore (line 17) | type DoneStore struct method load (line 44) | func (s *DoneStore) load() error { method prune (line 99) | func (s *DoneStore) prune() { method save (line 108) | func (s *DoneStore) save() error { method MarkDone (line 157) | func (s *DoneStore) MarkDone(id string, updatedAt time.Time) { method IsDone (line 166) | func (s *DoneStore) IsDone(id string, updatedAt time.Time) bool { method Remove (line 177) | func (s *DoneStore) Remove(id string) { method Flush (line 185) | func (s *DoneStore) Flush() error { function newDoneStore (line 23) | func newDoneStore(filename string) *DoneStore { function GetDoneStore (line 197) | func GetDoneStore() *DoneStore { FILE: internal/data/donestore_test.go function TestDoneStore (line 11) | func TestDoneStore(t *testing.T) { FILE: internal/data/donestore_testing.go function NewDoneStoreForTesting (line 8) | func NewDoneStoreForTesting(filePath string) *DoneStore { function OverrideDoneStoreForTesting (line 17) | func OverrideDoneStoreForTesting(store *DoneStore) func() { FILE: internal/data/issueapi.go type IssueData (line 16) | type IssueData struct method GetAuthor (line 61) | func (data IssueData) GetAuthor(theme theme.Theme, showAuthorIcons boo... method GetTitle (line 69) | func (data IssueData) GetTitle() string { method GetRepoNameWithOwner (line 73) | func (data IssueData) GetRepoNameWithOwner() string { method GetNumber (line 77) | func (data IssueData) GetNumber() int { method GetUrl (line 81) | func (data IssueData) GetUrl() string { method GetUpdatedAt (line 85) | func (data IssueData) GetUpdatedAt() time.Time { method GetCreatedAt (line 89) | func (data IssueData) GetCreatedAt() time.Time { type IssueComments (line 35) | type IssueComments struct type IssueComment (line 40) | type IssueComment struct type IssueReactions (line 48) | type IssueReactions struct type Label (line 52) | type Label struct type IssueLabels (line 57) | type IssueLabels struct function makeIssuesQuery (line 93) | func makeIssuesQuery(query string) string { function FetchIssues (line 97) | func FetchIssues(query string, limit int, pageInfo *PageInfo) (IssuesRes... type IssuesResponse (line 144) | type IssuesResponse struct function FetchIssue (line 151) | func FetchIssue(issueUrl string) (IssueData, error) { FILE: internal/data/labelapi.go function GetCachedRepoLabels (line 17) | func GetCachedRepoLabels(repoNameWithOwner string) ([]Label, bool) { function FetchRepoLabels (line 24) | func FetchRepoLabels(repoNameWithOwner string) ([]Label, error) { function ClearLabelCache (line 69) | func ClearLabelCache() { function ClearRepoLabelCache (line 75) | func ClearRepoLabelCache(repoNameWithOwner string) { function GetLabelNames (line 81) | func GetLabelNames(labels []Label) []string { FILE: internal/data/notificationapi.go constant SubjectTypePullRequest (line 14) | SubjectTypePullRequest = "PullRequest" constant SubjectTypeIssue (line 15) | SubjectTypeIssue = "Issue" constant SubjectTypeDiscussion (line 16) | SubjectTypeDiscussion = "Discussion" constant SubjectTypeRelease (line 17) | SubjectTypeRelease = "Release" constant SubjectTypeCommit (line 18) | SubjectTypeCommit = "Commit" constant SubjectTypeCheckSuite (line 19) | SubjectTypeCheckSuite = "CheckSuite" constant ReasonSubscribed (line 24) | ReasonSubscribed = "subscribed" constant ReasonReviewRequested (line 25) | ReasonReviewRequested = "review_requested" constant ReasonMention (line 26) | ReasonMention = "mention" constant ReasonAuthor (line 27) | ReasonAuthor = "author" constant ReasonComment (line 28) | ReasonComment = "comment" constant ReasonAssign (line 29) | ReasonAssign = "assign" constant ReasonStateChange (line 30) | ReasonStateChange = "state_change" constant ReasonCIActivity (line 31) | ReasonCIActivity = "ci_activity" constant ReasonTeamMention (line 32) | ReasonTeamMention = "team_mention" constant ReasonSecurityAlert (line 33) | ReasonSecurityAlert = "security_alert" type NotificationSubject (line 38) | type NotificationSubject struct type NotificationRepository (line 45) | type NotificationRepository struct type NotificationData (line 56) | type NotificationData struct method GetTitle (line 68) | func (n NotificationData) GetTitle() string { method GetRepoNameWithOwner (line 72) | func (n NotificationData) GetRepoNameWithOwner() string { method GetNumber (line 76) | func (n NotificationData) GetNumber() int { method GetUrl (line 81) | func (n NotificationData) GetUrl() string { method GetUpdatedAt (line 88) | func (n NotificationData) GetUpdatedAt() time.Time { method GetCreatedAt (line 92) | func (n NotificationData) GetCreatedAt() time.Time { type NotificationsResponse (line 97) | type NotificationsResponse struct function getRESTClient (line 103) | func getRESTClient() (*gh.RESTClient, error) { type NotificationReadState (line 113) | type NotificationReadState constant NotificationStateUnread (line 116) | NotificationStateUnread NotificationReadState = "unread" constant NotificationStateRead (line 117) | NotificationStateRead NotificationReadState = "read" constant NotificationStateAll (line 118) | NotificationStateAll NotificationReadState = "all" function FetchNotifications (line 121) | func FetchNotifications( function FetchNotificationByThreadId (line 246) | func FetchNotificationByThreadId(threadId string) (*NotificationData, er... function MarkNotificationDone (line 264) | func MarkNotificationDone(threadId string) error { function MarkNotificationRead (line 282) | func MarkNotificationRead(threadId string) error { function UnsubscribeFromThread (line 301) | func UnsubscribeFromThread(threadId string) error { function MarkAllNotificationsRead (line 320) | func MarkAllNotificationsRead() error { type CommentResponse (line 339) | type CommentResponse struct type WorkflowRun (line 346) | type WorkflowRun struct type WorkflowRunsResponse (line 356) | type WorkflowRunsResponse struct function FetchCommentAuthor (line 363) | func FetchCommentAuthor(apiUrl string) (string, error) { function FindBestWorkflowRunMatch (line 393) | func FindBestWorkflowRunMatch(runs []WorkflowRun, notificationUpdatedAt ... function FetchRecentWorkflowRun (line 427) | func FetchRecentWorkflowRun( FILE: internal/data/notificationapi_test.go function TestFindBestWorkflowRunMatch (line 8) | func TestFindBestWorkflowRunMatch(t *testing.T) { function TestNotificationDataGetUrl (line 192) | func TestNotificationDataGetUrl(t *testing.T) { FILE: internal/data/prapi.go type SuggestedReviewer (line 20) | type SuggestedReviewer struct type EnrichedPullRequestData (line 28) | type EnrichedPullRequestData struct method ToPullRequestData (line 427) | func (e EnrichedPullRequestData) ToPullRequestData() PullRequestData { type PullRequestData (line 66) | type PullRequestData struct method GetAuthor (line 393) | func (data PullRequestData) GetAuthor(theme theme.Theme, showAuthorIco... method GetTitle (line 401) | func (data PullRequestData) GetTitle() string { method GetRepoNameWithOwner (line 405) | func (data PullRequestData) GetRepoNameWithOwner() string { method GetNumber (line 409) | func (data PullRequestData) GetNumber() int { method GetUrl (line 413) | func (data PullRequestData) GetUrl() string { method GetUpdatedAt (line 417) | func (data PullRequestData) GetUpdatedAt() time.Time { method GetCreatedAt (line 421) | func (data PullRequestData) GetCreatedAt() time.Time { type CheckRun (line 104) | type CheckRun struct type StatusContext (line 120) | type StatusContext struct type CheckSuiteNode (line 128) | type CheckSuiteNode struct type CheckSuites (line 143) | type CheckSuites struct type StatusCheckRollupStats (line 148) | type StatusCheckRollupStats struct type AllCommits (line 159) | type AllCommits struct type LastCommitWithStatusChecks (line 176) | type LastCommitWithStatusChecks struct type CommentsWithBody (line 211) | type CommentsWithBody struct type Commits (line 221) | type Commits struct type Comment (line 239) | type Comment struct type ReviewComment (line 247) | type ReviewComment struct type ReviewComments (line 257) | type ReviewComments struct type Comments (line 262) | type Comments struct type ReviewThreads (line 266) | type ReviewThreads struct type Review (line 270) | type Review struct type Reviews (line 279) | type Reviews struct type ReviewThreadsWithComments (line 284) | type ReviewThreadsWithComments struct type ChangedFile (line 296) | type ChangedFile struct type ChangedFiles (line 303) | type ChangedFiles struct type RequestedReviewerUser (line 308) | type RequestedReviewerUser struct type RequestedReviewerTeam (line 312) | type RequestedReviewerTeam struct type RequestedReviewerBot (line 317) | type RequestedReviewerBot struct type RequestedReviewerMannequin (line 321) | type RequestedReviewerMannequin struct type ReviewRequestNode (line 325) | type ReviewRequestNode struct method GetReviewerDisplayName (line 340) | func (r ReviewRequestNode) GetReviewerDisplayName() string { method GetReviewerType (line 356) | func (r ReviewRequestNode) GetReviewerType() string { method IsTeam (line 372) | func (r ReviewRequestNode) IsTeam() bool { type ReviewRequests (line 335) | type ReviewRequests struct type PRLabel (line 376) | type PRLabel struct type PRLabels (line 381) | type PRLabels struct type MergeStateStatus (line 385) | type MergeStateStatus type PageInfo (line 387) | type PageInfo struct function makePullRequestsQuery (line 457) | func makePullRequestsQuery(query string) string { type PullRequestsResponse (line 461) | type PullRequestsResponse struct function SetClient (line 472) | func SetClient(c *gh.GraphQLClient) { function ClearEnrichmentCache (line 479) | func ClearEnrichmentCache() { function IsEnrichmentCacheCleared (line 485) | func IsEnrichmentCacheCleared() bool { function FetchPullRequests (line 489) | func FetchPullRequests(query string, limit int, pageInfo *PageInfo) (Pul... function FetchPullRequest (line 546) | func FetchPullRequest(prUrl string) (EnrichedPullRequestData, error) { FILE: internal/data/prapi_test.go function TestClearEnrichmentCache (line 10) | func TestClearEnrichmentCache(t *testing.T) { function TestIsEnrichmentCacheCleared (line 44) | func TestIsEnrichmentCacheCleared(t *testing.T) { function TestSetClient (line 62) | func TestSetClient(t *testing.T) { FILE: internal/data/repository.go type BranchProtectionRules (line 7) | type BranchProtectionRules struct type Repository (line 17) | type Repository struct FILE: internal/data/user.go function CurrentLoginName (line 7) | func CurrentLoginName() (string, error) { FILE: internal/data/utils.go type RowData (line 12) | type RowData interface function GetAuthorRoleIcon (line 20) | func GetAuthorRoleIcon(role string, theme theme.Theme) string { FILE: internal/git/git.go type Repo (line 18) | type Repo struct type Branch (line 27) | type Branch struct function GetOriginUrl (line 38) | func GetOriginUrl(dir string) (string, error) { function GetRepo (line 63) | func GetRepo(dir string) (*Repo, error) { function GetStatus (line 145) | func GetStatus(dir string) (gitm.NameStatus, error) { function getUnstagedStatus (line 154) | func getUnstagedStatus(repo *gitm.Repository) (gitm.NameStatus, error) { function FetchRepo (line 180) | func FetchRepo(dir string) (*Repo, error) { function GetRepoInPwd (line 194) | func GetRepoInPwd() (*gitm.Repository, error) { function GetRepoShortName (line 198) | func GetRepoShortName(url string) string { FILE: internal/tui/common/diff.go function DiffPR (line 14) | func DiffPR(prNumber int, repoName string, env []string) tea.Cmd { FILE: internal/tui/common/diff_test.go function TestDiffPR (line 7) | func TestDiffPR(t *testing.T) { FILE: internal/tui/common/labels.go function RenderLabels (line 9) | func RenderLabels(sidebarWidth int, labels []data.Label, pillStyle lipgl... FILE: internal/tui/common/labels_test.go function TestRenderLabels (line 15) | func TestRenderLabels(t *testing.T) { FILE: internal/tui/common/repopath.go function GetRepoLocalPath (line 25) | func GetRepoLocalPath(repoName string, cfgPaths map[string]string) (stri... FILE: internal/tui/common/repopath_test.go function TestGetRepoLocalPath (line 28) | func TestGetRepoLocalPath(t *testing.T) { FILE: internal/tui/common/styles.go type CommonStyles (line 26) | type CommonStyles struct function BuildStyles (line 43) | func BuildStyles(theme theme.Theme) CommonStyles { function RenderPreviewHeader (line 93) | func RenderPreviewHeader(theme theme.Theme, width int, text string) stri... function RenderPreviewTitle (line 103) | func RenderPreviewTitle(theme theme.Theme, styles CommonStyles, width in... FILE: internal/tui/components/autocomplete/autocomplete.go type suggestionList (line 20) | type suggestionList struct method String (line 24) | func (s suggestionList) String(i int) string { method Len (line 30) | func (s suggestionList) Len() int { type FetchState (line 28) | type FetchState constant FetchStateIdle (line 65) | FetchStateIdle FetchState = iota constant FetchStateLoading (line 66) | FetchStateLoading constant FetchStateSuccess (line 67) | FetchStateSuccess constant FetchStateError (line 68) | FetchStateError type ClearFetchStatusMsg (line 72) | type ClearFetchStatusMsg struct type FetchSuggestionsRequestedMsg (line 78) | type FetchSuggestionsRequestedMsg struct function NewFetchSuggestionsRequestedCmd (line 84) | func NewFetchSuggestionsRequestedCmd(force bool) tea.Cmd { type Model (line 88) | type Model struct method SetSuggestions (line 124) | func (m *Model) SetSuggestions(suggestions []string) { method Show (line 128) | func (m *Model) Show(currentItem string, excludeItems []string) { method Selected (line 171) | func (m *Model) Selected() string { method Next (line 178) | func (m *Model) Next() { method Prev (line 184) | func (m *Model) Prev() { method Hide (line 194) | func (m *Model) Hide() { method Reset (line 201) | func (m *Model) Reset() { method Suppress (line 212) | func (m *Model) Suppress() { method Unsuppress (line 218) | func (m *Model) Unsuppress() { method IsVisible (line 222) | func (m *Model) IsVisible() bool { method HasSuggestions (line 227) | func (m *Model) HasSuggestions() bool { method SetWidth (line 231) | func (m *Model) SetWidth(width int) { method View (line 235) | func (m *Model) View() string { method SetFetchLoading (line 303) | func (m *Model) SetFetchLoading() tea.Cmd { method SetFetchSuccess (line 319) | func (m *Model) SetFetchSuccess() tea.Cmd { method SetFetchError (line 325) | func (m *Model) SetFetchError(err error) tea.Cmd { method clearFetchStatusAfterDelay (line 332) | func (m *Model) clearFetchStatusAfterDelay() tea.Cmd { method UpdateVisible (line 338) | func (m *Model) UpdateVisible() { method Update (line 346) | func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { method UpdateProgramContext (line 364) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { function NewModel (line 105) | func NewModel(ctx *context.ProgramContext) Model { FILE: internal/tui/components/branch/branch.go type Branch (line 18) | type Branch struct method getTextStyle (line 25) | func (b *Branch) getTextStyle() lipgloss.Style { method renderReviewStatus (line 29) | func (b *Branch) renderReviewStatus() string { method renderState (line 51) | func (b *Branch) renderState() string { method GetStatusChecksRollup (line 76) | func (b *Branch) GetStatusChecksRollup() string { method renderCiStatus (line 85) | func (b *Branch) renderCiStatus() string { method renderLines (line 105) | func (b *Branch) renderLines(isSelected bool) string { method renderTitle (line 137) | func (b *Branch) renderTitle() string { method renderExtendedTitle (line 146) | func (b *Branch) renderExtendedTitle(isSelected bool) string { method renderAuthor (line 155) | func (pr *Branch) renderAuthor() string { method renderAssignees (line 159) | func (b *Branch) renderAssignees() string { method renderRepoName (line 170) | func (b *Branch) renderRepoName() string { method renderUpdateAt (line 180) | func (b *Branch) renderUpdateAt() string { method renderBaseName (line 202) | func (b *Branch) renderBaseName() string { method RenderState (line 209) | func (b *Branch) RenderState() string { method ToTableRow (line 226) | func (b *Branch) ToTableRow(isSelected bool) table.Row { method renderBranch (line 254) | func (b *Branch) renderBranch(isSelected bool, width int) string { method getBaseStyle (line 269) | func (b *Branch) getBaseStyle(isSelected bool) lipgloss.Style { method getMaxWidth (line 278) | func (b *Branch) getMaxWidth() int { method renderCommitsAheadBehind (line 288) | func (b *Branch) renderCommitsAheadBehind(isSelected bool) string { method renderLastCommitMsg (line 305) | func (b *Branch) renderLastCommitMsg(isSelected bool, width int) string { FILE: internal/tui/components/branch/data.go type BranchData (line 10) | type BranchData struct method GetRepoNameWithOwner (line 15) | func (b BranchData) GetRepoNameWithOwner() string { method GetTitle (line 22) | func (b BranchData) GetTitle() string { method GetNumber (line 26) | func (b BranchData) GetNumber() int { method GetUrl (line 33) | func (b BranchData) GetUrl() string { method GetUpdatedAt (line 40) | func (b BranchData) GetUpdatedAt() time.Time { FILE: internal/tui/components/branch/data_test.go function TestBranchData_GetRepoNameWithOwner_EmptyRemotes (line 12) | func TestBranchData_GetRepoNameWithOwner_EmptyRemotes(t *testing.T) { function TestBranchData_GetRepoNameWithOwner_WithRemotes (line 26) | func TestBranchData_GetRepoNameWithOwner_WithRemotes(t *testing.T) { function TestBranchData_GetUpdatedAt_NilLastUpdatedAt (line 38) | func TestBranchData_GetUpdatedAt_NilLastUpdatedAt(t *testing.T) { function TestBranchData_GetUpdatedAt_WithValue (line 52) | func TestBranchData_GetUpdatedAt_WithValue(t *testing.T) { FILE: internal/tui/components/branch/utils.go function keepSameSpacesOnAddDeletions (line 8) | func keepSameSpacesOnAddDeletions(str string) string { FILE: internal/tui/components/branchsidebar/branchsidebar.go type Model (line 16) | type Model struct method Update (line 28) | func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { method View (line 37) | func (m Model) View() string { method SetRow (line 82) | func (m *Model) SetRow(b *branch.BranchData) tea.Cmd { method refreshBranchStatusCmd (line 87) | func (m *Model) refreshBranchStatusCmd() tea.Msg { method UpdateProgramContext (line 97) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { function NewModel (line 22) | func NewModel(ctx *context.ProgramContext) Model { type updateBranchStatusMsg (line 78) | type updateBranchStatusMsg struct FILE: internal/tui/components/branchsidebar/branchsidebar_test.go function testCtx (line 16) | func testCtx() *context.ProgramContext { function TestView_NoBranch (line 23) | func TestView_NoBranch(t *testing.T) { function TestView_StatusLoading (line 32) | func TestView_StatusLoading(t *testing.T) { function TestView_NoChanges (line 42) | func TestView_NoChanges(t *testing.T) { function TestView_WithFileChanges (line 53) | func TestView_WithFileChanges(t *testing.T) { function TestView_WithPR (line 70) | func TestView_WithPR(t *testing.T) { FILE: internal/tui/components/carousel/carousel.go type Model (line 13) | type Model struct method SetStyles (line 74) | func (m *Model) SetStyles(s Styles) { method Update (line 172) | func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { method Focused (line 191) | func (m Model) Focused() bool { method Focus (line 197) | func (m *Model) Focus() { method Blur (line 203) | func (m *Model) Blur() { method View (line 209) | func (m Model) View() string { method UpdateSize (line 217) | func (m *Model) UpdateSize() { method SelectedItem (line 287) | func (m Model) SelectedItem() string { method Items (line 292) | func (m Model) Items() []string { method SetItems (line 297) | func (m *Model) SetItems(items []string) { method SetWidth (line 305) | func (m *Model) SetWidth(w int) { method SetHeight (line 311) | func (m *Model) SetHeight(h int) { method Height (line 317) | func (m Model) Height() int { method Width (line 322) | func (m Model) Width() int { method Cursor (line 327) | func (m Model) Cursor() int { method HasRightItems (line 332) | func (m Model) HasRightItems() bool { method HasLeftItems (line 337) | func (m Model) HasLeftItems() bool { method SetCursor (line 342) | func (m *Model) SetCursor(n int) { method MoveLeft (line 349) | func (m *Model) MoveLeft() { method MoveRight (line 356) | func (m *Model) MoveRight() { method renderItem (line 361) | func (m *Model) renderItem(itemID int, maxWidth int) string { type KeyMap (line 35) | type KeyMap struct function DefaultKeyMap (line 41) | func DefaultKeyMap() KeyMap { type Styles (line 56) | type Styles struct function DefaultStyles (line 64) | func DefaultStyles() Styles { type Option (line 82) | type Option function New (line 85) | func New(opts ...Option) Model { function WithItems (line 106) | func WithItems(items []string) Option { function WithHeight (line 113) | func WithHeight(h int) Option { function WithWidth (line 120) | func WithWidth(w int) Option { function WithOverflowIndicators (line 128) | func WithOverflowIndicators(indicators ...string) Option { function WithSeparators (line 141) | func WithSeparators(sep ...string) Option { function WithFocused (line 151) | func WithFocused(f bool) Option { function WithStyles (line 158) | func WithStyles(s Styles) Option { function WithKeyMap (line 165) | func WithKeyMap(km KeyMap) Option { function max (line 389) | func max(a, b int) int { function min (line 397) | func min(a, b int) int { function clamp (line 405) | func clamp(v, low, high int) int { FILE: internal/tui/components/common/interface.go type Model (line 6) | type Model interface FILE: internal/tui/components/footer/footer.go constant viewSeparator (line 21) | viewSeparator = " │ " type Model (line 23) | type Model struct method View (line 46) | func (m Model) View() string { method SetShowConfirmQuit (line 102) | func (m *Model) SetShowConfirmQuit(val bool) { method SetWidth (line 106) | func (m *Model) SetWidth(width int) { method UpdateProgramContext (line 110) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { method renderViewButton (line 115) | func (m *Model) renderViewButton(view config.ViewType) string { method renderViewSwitcher (line 164) | func (m *Model) renderViewSwitcher(ctx *context.ProgramContext) string { method SetLeftSection (line 198) | func (m *Model) SetLeftSection(leftSection string) { method SetRightSection (line 202) | func (m *Model) SetRightSection(rightSection string) { function NewModel (line 32) | func NewModel(ctx *context.ProgramContext) Model { FILE: internal/tui/components/inputbox/inputbox.go type Model (line 16) | type Model struct method SetAutocomplete (line 73) | func (m *Model) SetAutocomplete(ac *autocomplete.Model) { method Update (line 77) | func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { method View (line 137) | func (m Model) View() string { method ViewWithAutocomplete (line 155) | func (m Model) ViewWithAutocomplete() string { method Value (line 179) | func (m *Model) Value() string { method SetValue (line 183) | func (m *Model) SetValue(s string) { method Blur (line 187) | func (m *Model) Blur() { method Focus (line 191) | func (m *Model) Focus() tea.Cmd { method SetWidth (line 195) | func (m *Model) SetWidth(width int) { method SetHeight (line 199) | func (m *Model) SetHeight(height int) { method SetPrompt (line 203) | func (m *Model) SetPrompt(prompt string) { method Reset (line 207) | func (m *Model) Reset() { method UpdateProgramContext (line 211) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { method GetCursorPosition (line 222) | func (m *Model) GetCursorPosition() int { function NewModel (line 43) | func NewModel(ctx *context.ProgramContext) Model { FILE: internal/tui/components/issuerow/issuerow.go type Issue (line 16) | type Issue struct method ToTableRow (line 22) | func (issue *Issue) ToTableRow() table.Row { method getTextStyle (line 36) | func (issue *Issue) getTextStyle() lipgloss.Style { method renderUpdateAt (line 40) | func (issue *Issue) renderUpdateAt() string { method renderCreatedAt (line 53) | func (issue *Issue) renderCreatedAt() string { method renderRepoName (line 66) | func (issue *Issue) renderRepoName() string { method renderTitle (line 71) | func (issue *Issue) renderTitle() string { method renderOpenedBy (line 80) | func (issue *Issue) renderOpenedBy() string { method renderAssignees (line 84) | func (issue *Issue) renderAssignees() string { method renderStatus (line 92) | func (issue *Issue) renderStatus() string { method renderNumComments (line 100) | func (issue *Issue) renderNumComments() string { method renderNumReactions (line 104) | func (issue *Issue) renderNumReactions() string { FILE: internal/tui/components/issuessection/issuessection.go constant SectionType (line 23) | SectionType = "issue" type Model (line 25) | type Model struct method Update (line 56) | func (m *Model) Update(msg tea.Msg) (section.Section, tea.Cmd) { method BuildRows (line 264) | func (m Model) BuildRows() []table.Row { method NumRows (line 278) | func (m *Model) NumRows() int { method GetCurrRow (line 282) | func (m *Model) GetCurrRow() data.RowData { method FetchNextPageSectionRows (line 291) | func (m *Model) FetchNextPageSectionRows() []tea.Cmd { method UpdateLastUpdated (line 353) | func (m *Model) UpdateLastUpdated(t time.Time) { method ResetRows (line 357) | func (m *Model) ResetRows() { method GetItemSingularForm (line 422) | func (m Model) GetItemSingularForm() string { method GetItemPluralForm (line 426) | func (m Model) GetItemPluralForm() string { method GetTotalCount (line 430) | func (m Model) GetTotalCount() int { method GetIsLoading (line 434) | func (m *Model) GetIsLoading() bool { method SetIsLoading (line 438) | func (m *Model) SetIsLoading(val bool) { method GetPagerContent (line 443) | func (m Model) GetPagerContent() string { function NewModel (line 30) | func NewModel( function GetSectionColumns (line 183) | func GetSectionColumns( function FetchAllSections (line 362) | func FetchAllSections( type SectionIssuesFetchedMsg (line 387) | type SectionIssuesFetchedMsg struct function addAssignees (line 394) | func addAssignees(assignees, addedAssignees []data.Assignee) []data.Assi... function removeAssignees (line 405) | func removeAssignees( function assigneesContains (line 418) | func assigneesContains(assignees []data.Assignee, assignee data.Assignee... FILE: internal/tui/components/issueview/action.go type IssueActionType (line 4) | type IssueActionType constant IssueActionNone (line 7) | IssueActionNone IssueActionType = iota constant IssueActionLabel (line 8) | IssueActionLabel constant IssueActionAssign (line 9) | IssueActionAssign constant IssueActionUnassign (line 10) | IssueActionUnassign constant IssueActionComment (line 11) | IssueActionComment constant IssueActionClose (line 12) | IssueActionClose constant IssueActionReopen (line 13) | IssueActionReopen type IssueAction (line 17) | type IssueAction struct FILE: internal/tui/components/issueview/action_test.go function newTestModelForAction (line 17) | func newTestModelForAction(t *testing.T) Model { function TestUpdateReturnsCorrectActions (line 42) | func TestUpdateReturnsCorrectActions(t *testing.T) { function TestUpdateReturnsNilActionForUnknownKeys (line 77) | func TestUpdateReturnsNilActionForUnknownKeys(t *testing.T) { function TestUpdateReturnsNilActionWhenCommenting (line 86) | func TestUpdateReturnsNilActionWhenCommenting(t *testing.T) { function TestUpdateReturnsNilActionWhenLabeling (line 96) | func TestUpdateReturnsNilActionWhenLabeling(t *testing.T) { function TestUpdateReturnsNilActionWhenAssigning (line 106) | func TestUpdateReturnsNilActionWhenAssigning(t *testing.T) { function TestUpdateReturnsNilActionWhenUnassigning (line 116) | func TestUpdateReturnsNilActionWhenUnassigning(t *testing.T) { function TestIssueActionTypes (line 126) | func TestIssueActionTypes(t *testing.T) { function TestUpdateWithReboundKeys (line 148) | func TestUpdateWithReboundKeys(t *testing.T) { function TestAutocompleteStateResetWhenSwitchingModes (line 171) | func TestAutocompleteStateResetWhenSwitchingModes(t *testing.T) { function TestAutocompleteResetOnAssignMode (line 203) | func TestAutocompleteResetOnAssignMode(t *testing.T) { function TestAutocompleteResetOnUnassignMode (line 220) | func TestAutocompleteResetOnUnassignMode(t *testing.T) { function TestInputBoxTextNotReplacedByStaleAutocomplete (line 239) | func TestInputBoxTextNotReplacedByStaleAutocomplete(t *testing.T) { FILE: internal/tui/components/issueview/activity.go type RenderedActivity (line 15) | type RenderedActivity struct method renderActivity (line 20) | func (m *Model) renderActivity() string { method renderActivitiesTitle (line 55) | func (m Model) renderActivitiesTitle() string { function renderEmptyState (line 62) | func renderEmptyState() string { method renderComment (line 66) | func (m *Model) renderComment( FILE: internal/tui/components/issueview/issueview.go type RepoLabelsFetchedMsg (line 34) | type RepoLabelsFetchedMsg struct type RepoLabelsFetchFailedMsg (line 38) | type RepoLabelsFetchFailedMsg struct type Model (line 42) | type Model struct method Update (line 85) | func (m Model) Update(msg tea.Msg) (Model, tea.Cmd, *IssueAction) { method View (line 277) | func (m Model) View() string { method renderFullNameAndNumber (line 309) | func (m *Model) renderFullNameAndNumber() string { method renderTitle (line 314) | func (m *Model) renderTitle() string { method renderStatusPill (line 318) | func (m *Model) renderStatusPill() string { method renderAuthor (line 336) | func (m *Model) renderAuthor() string { method renderBody (line 356) | func (m *Model) renderBody() string { method renderLabels (line 383) | func (m *Model) renderLabels() string { method getIndentedContentWidth (line 391) | func (m *Model) getIndentedContentWidth() int { method SetWidth (line 395) | func (m *Model) SetWidth(width int) { method SetSectionId (line 401) | func (m *Model) SetSectionId(id int) { method SetRow (line 405) | func (m *Model) SetRow(data *data.IssueData) { method IsTextInputBoxFocused (line 413) | func (m *Model) IsTextInputBoxFocused() bool { method GetIsCommenting (line 417) | func (m *Model) GetIsCommenting() bool { method shouldCancelComment (line 421) | func (m *Model) shouldCancelComment() bool { method SetIsCommenting (line 435) | func (m *Model) SetIsCommenting(isCommenting bool) tea.Cmd { method GetIsAssigning (line 453) | func (m *Model) GetIsAssigning() bool { method SetIsAssigning (line 457) | func (m *Model) SetIsAssigning(isAssigning bool) tea.Cmd { method SetIsLabeling (line 478) | func (m *Model) SetIsLabeling(isLabeling bool) tea.Cmd { method fetchLabels (line 521) | func (m *Model) fetchLabels() tea.Cmd { method userAssignedToIssue (line 536) | func (m *Model) userAssignedToIssue(login string) bool { method GetIsUnassigning (line 545) | func (m *Model) GetIsUnassigning() bool { method SetIsUnassigning (line 549) | func (m *Model) SetIsUnassigning(isUnassigning bool) tea.Cmd { method issueAssignees (line 568) | func (m *Model) issueAssignees() []string { method UpdateProgramContext (line 576) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { function NewModel (line 59) | func NewModel(ctx *context.ProgramContext) Model { FILE: internal/tui/components/issueview/labels.go type LabelInfo (line 10) | type LabelInfo struct function extractLabelAtCursor (line 22) | func extractLabelAtCursor(input string, cursorPos int) LabelInfo { function labelAtCursor (line 78) | func labelAtCursor(cursorPos int, currentValue string) string { function allLabels (line 84) | func allLabels(value string) []string { function handleLabelSelection (line 104) | func handleLabelSelection(selected string, cursorPos int, currentValue s... FILE: internal/tui/components/listviewport/listviewport.go type Model (line 14) | type Model struct method SetNumItems (line 57) | func (m *Model) SetNumItems(numItems int) { method SetTotalItems (line 62) | func (m *Model) SetTotalItems(total int) { method SetItemHeight (line 66) | func (m *Model) SetItemHeight(height int) { method SyncViewPort (line 70) | func (m *Model) SyncViewPort(content string) { method getNumPrsPerPage (line 74) | func (m *Model) getNumPrsPerPage() int { method ResetCurrItem (line 81) | func (m *Model) ResetCurrItem() { method GetCurrItem (line 86) | func (m *Model) GetCurrItem() int { method NextItem (line 90) | func (m *Model) NextItem() int { method PrevItem (line 104) | func (m *Model) PrevItem() int { method FirstItem (line 116) | func (m *Model) FirstItem() int { method LastItem (line 122) | func (m *Model) LastItem() int { method SetDimensions (line 128) | func (m *Model) SetDimensions(dimensions constants.Dimensions) { method View (line 133) | func (m *Model) View() string { method UpdateProgramContext (line 143) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { function NewModel (line 28) | func NewModel( FILE: internal/tui/components/notificationrow/data.go constant StateOpen (line 14) | StateOpen = "OPEN" constant StateClosed (line 15) | StateClosed = "CLOSED" constant StateMerged (line 16) | StateMerged = "MERGED" type Data (line 19) | type Data struct method GetTitle (line 29) | func (d Data) GetTitle() string { method GetRepoNameWithOwner (line 39) | func (d Data) GetRepoNameWithOwner() string { method GetNumber (line 43) | func (d Data) GetNumber() int { method GetUrl (line 54) | func (d Data) GetUrl() string { method GetUpdatedAt (line 93) | func (d Data) GetUpdatedAt() time.Time { method GetCreatedAt (line 97) | func (d Data) GetCreatedAt() time.Time { method GetId (line 101) | func (d Data) GetId() string { method GetSubjectType (line 105) | func (d Data) GetSubjectType() string { method GetReason (line 109) | func (d Data) GetReason() string { method IsUnread (line 113) | func (d Data) IsUnread() bool { method GetLatestCommentUrl (line 117) | func (d Data) GetLatestCommentUrl() string { function repoBaseUrl (line 86) | func repoBaseUrl(repo data.NotificationRepository) string { function extractNumberFromUrl (line 122) | func extractNumberFromUrl(apiUrl string) string { function GenerateActivityDescription (line 135) | func GenerateActivityDescription(reason, subjectType, actor string) stri... FILE: internal/tui/components/notificationrow/data_test.go function TestExtractNumberFromUrl (line 9) | func TestExtractNumberFromUrl(t *testing.T) { function TestGetNumber (line 67) | func TestGetNumber(t *testing.T) { function TestGetUrl (line 157) | func TestGetUrl(t *testing.T) { function TestIsUnread (line 434) | func TestIsUnread(t *testing.T) { function TestGetReason (line 470) | func TestGetReason(t *testing.T) { function TestGetLatestCommentUrl (line 533) | func TestGetLatestCommentUrl(t *testing.T) { function TestGetTitle (line 573) | func TestGetTitle(t *testing.T) { function TestGetRepoNameWithOwner (line 646) | func TestGetRepoNameWithOwner(t *testing.T) { function TestGetSubjectType (line 686) | func TestGetSubjectType(t *testing.T) { function TestGetId (line 737) | func TestGetId(t *testing.T) { function TestGenerateActivityDescription (line 773) | func TestGenerateActivityDescription(t *testing.T) { FILE: internal/tui/components/notificationrow/notificationrow.go type Notification (line 18) | type Notification struct method ToTableRow (line 23) | func (n *Notification) ToTableRow() table.Row { method getTextStyle (line 32) | func (n *Notification) getTextStyle() lipgloss.Style { method getReadAwareStyle (line 38) | func (n *Notification) getReadAwareStyle() lipgloss.Style { method renderType (line 42) | func (n *Notification) renderType() string { method renderTitleBlock (line 139) | func (n *Notification) renderTitleBlock() string { method getReasonDescription (line 192) | func (n *Notification) getReasonDescription() string { method renderActivity (line 226) | func (n *Notification) renderActivity() string { method renderUpdatedAt (line 242) | func (n *Notification) renderUpdatedAt() string { FILE: internal/tui/components/notificationrow/notificationrow_test.go function TestGetReasonDescription (line 10) | func TestGetReasonDescription(t *testing.T) { function TestParseCheckSuiteStatus (line 126) | func TestParseCheckSuiteStatus(t *testing.T) { function TestRenderActivityOutput (line 206) | func TestRenderActivityOutput(t *testing.T) { function TestDataState (line 261) | func TestDataState(t *testing.T) { function TestActivityDescriptionFallback (line 333) | func TestActivityDescriptionFallback(t *testing.T) { FILE: internal/tui/components/notificationssection/commands.go method markAsDone (line 24) | func (m *Model) markAsDone() tea.Cmd { method markAllAsDone (line 63) | func (m *Model) markAllAsDone() tea.Cmd { method markAllAsRead (line 121) | func (m *Model) markAllAsRead() tea.Cmd { type RefetchNotificationsMsg (line 155) | type RefetchNotificationsMsg struct type ClearAllNotificationsMsg (line 158) | type ClearAllNotificationsMsg struct type MarkAllAsReadMsg (line 161) | type MarkAllAsReadMsg struct method markAsRead (line 164) | func (m *Model) markAsRead() tea.Cmd { method unsubscribe (line 195) | func (m *Model) unsubscribe() tea.Cmd { type UnsubscribedMsg (line 226) | type UnsubscribedMsg struct type UpdateNotificationReadStateMsg (line 231) | type UpdateNotificationReadStateMsg struct method openInBrowser (line 237) | func (m *Model) openInBrowser() tea.Cmd { function CheckoutPR (line 267) | func CheckoutPR(ctx *context.ProgramContext, prNumber int, repoName stri... FILE: internal/tui/components/notificationssection/commands_test.go function noopStartTask (line 18) | func noopStartTask(task context.Task) tea.Cmd { function TestCheckoutPR (line 22) | func TestCheckoutPR(t *testing.T) { function TestCheckoutPRErrorMessage (line 96) | func TestCheckoutPRErrorMessage(t *testing.T) { function TestMarkAsDoneStoresCorrectTimestamp (line 127) | func TestMarkAsDoneStoresCorrectTimestamp(t *testing.T) { FILE: internal/tui/components/notificationssection/filters_test.go function TestParseNotificationFilters (line 9) | func TestParseNotificationFilters(t *testing.T) { function TestParseReasonFilters (line 146) | func TestParseReasonFilters(t *testing.T) { function TestParseNotificationFiltersWithReasons (line 247) | func TestParseNotificationFiltersWithReasons(t *testing.T) { function TestParseRepoFilters (line 289) | func TestParseRepoFilters(t *testing.T) { function TestParseNotificationFiltersEdgeCases (line 361) | func TestParseNotificationFiltersEdgeCases(t *testing.T) { function TestParseReasonFiltersEdgeCases (line 472) | func TestParseReasonFiltersEdgeCases(t *testing.T) { function TestParseNotificationFiltersIncludeRead (line 538) | func TestParseNotificationFiltersIncludeRead(t *testing.T) { FILE: internal/tui/components/notificationssection/notificationssection.go constant SectionType (line 26) | SectionType = "notification" function parseRepoFilters (line 38) | func parseRepoFilters(search string) []string { type NotificationFilters (line 50) | type NotificationFilters struct function parseReasonFilters (line 61) | func parseReasonFilters(search string) []string { function parseNotificationFilters (line 102) | func parseNotificationFilters(search string, includeRead bool) Notificat... type SortOrder (line 158) | type SortOrder constant SortByUpdated (line 161) | SortByUpdated SortOrder = iota constant SortByRepo (line 162) | SortByRepo type Model (line 165) | type Model struct method Update (line 209) | func (m *Model) Update(msg tea.Msg) (section.Section, tea.Cmd) { method toggleSortOrder (line 461) | func (m *Model) toggleSortOrder() { method sortNotifications (line 470) | func (m *Model) sortNotifications() { method BuildRows (line 504) | func (m Model) BuildRows() []table.Row { method NumRows (line 519) | func (m *Model) NumRows() int { method GetCurrRow (line 523) | func (m *Model) GetCurrRow() data.RowData { method GetCurrNotification (line 531) | func (m *Model) GetCurrNotification() *notificationrow.Data { method FetchNextPageSectionRows (line 539) | func (m *Model) FetchNextPageSectionRows() []tea.Cmd { method UpdateLastUpdated (line 799) | func (m *Model) UpdateLastUpdated(t time.Time) { method ResetRows (line 803) | func (m *Model) ResetRows() { method GetItemSingularForm (line 883) | func (m Model) GetItemSingularForm() string { method GetItemPluralForm (line 887) | func (m Model) GetItemPluralForm() string { method GetTotalCount (line 891) | func (m Model) GetTotalCount() int { method GetIsLoading (line 895) | func (m *Model) GetIsLoading() bool { method SetIsLoading (line 899) | func (m *Model) SetIsLoading(val bool) { method GetPagerContent (line 904) | func (m Model) GetPagerContent() string { method UpdateProgramContext (line 920) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { method fetchCommentCountsForNotifications (line 935) | func (m *Model) fetchCommentCountsForNotifications(notifications []not... function NewModel (line 174) | func NewModel( function GetSectionColumns (line 437) | func GetSectionColumns(ctx *context.ProgramContext) []table.Column { function FetchAllSections (line 813) | func FetchAllSections( type SectionNotificationsFetchedMsg (line 852) | type SectionNotificationsFetchedMsg struct type UpdateNotificationMsg (line 861) | type UpdateNotificationMsg struct type UpdateNotificationCommentsMsg (line 868) | type UpdateNotificationCommentsMsg struct type UpdateNotificationUrlMsg (line 878) | type UpdateNotificationUrlMsg struct function countNewPRComments (line 1064) | func countNewPRComments(pr data.EnrichedPullRequestData, lastReadAt *tim... function countNewIssueComments (line 1092) | func countNewIssueComments(issue data.IssueData, lastReadAt *time.Time) ... FILE: internal/tui/components/notificationview/notificationview.go type Model (line 17) | type Model struct method SetRow (line 37) | func (m *Model) SetRow(row *notificationrow.Data) { method SetWidth (line 41) | func (m *Model) SetWidth(width int) { method ResetSubject (line 45) | func (m *Model) ResetSubject() { method SetSubjectPR (line 51) | func (m *Model) SetSubjectPR(pr *prrow.Data, notificationId string) { method SetSubjectIssue (line 57) | func (m *Model) SetSubjectIssue(issue *data.IssueData, notificationId ... method GetSubjectPR (line 63) | func (m *Model) GetSubjectPR() *prrow.Data { method GetSubjectIssue (line 67) | func (m *Model) GetSubjectIssue() *data.IssueData { method GetSubjectId (line 71) | func (m *Model) GetSubjectId() string { method ClearSubject (line 75) | func (m *Model) ClearSubject() { method UpdateProgramContext (line 81) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { method SetPendingPRAction (line 88) | func (m *Model) SetPendingPRAction(action string) string { method SetPendingIssueAction (line 111) | func (m *Model) SetPendingIssueAction(action string) string { method HasPendingAction (line 125) | func (m *Model) HasPendingAction() bool { method GetPendingAction (line 130) | func (m *Model) GetPendingAction() string { method ClearPendingAction (line 135) | func (m *Model) ClearPendingAction() { method Update (line 141) | func (m Model) Update(msg tea.Msg) (Model, string) { method View (line 160) | func (m Model) View() string { function NewModel (line 31) | func NewModel(ctx *context.ProgramContext) Model { function getTypeIcon (line 286) | func getTypeIcon(subjectType string) string { function formatReason (line 305) | func formatReason(reason string) string { FILE: internal/tui/components/notificationview/notificationview_test.go function TestSetPendingPRAction (line 14) | func TestSetPendingPRAction(t *testing.T) { function TestSetPendingPRAction_NilSubject (line 82) | func TestSetPendingPRAction_NilSubject(t *testing.T) { function TestSetPendingIssueAction (line 92) | func TestSetPendingIssueAction(t *testing.T) { function TestSetPendingIssueAction_NilSubject (line 130) | func TestSetPendingIssueAction_NilSubject(t *testing.T) { function TestClearPendingAction (line 140) | func TestClearPendingAction(t *testing.T) { function TestHasPendingAction (line 155) | func TestHasPendingAction(t *testing.T) { function TestUpdate_NoPendingAction (line 174) | func TestUpdate_NoPendingAction(t *testing.T) { function TestUpdate_ConfirmWithLowercaseY (line 185) | func TestUpdate_ConfirmWithLowercaseY(t *testing.T) { function TestUpdate_ConfirmWithUppercaseY (line 199) | func TestUpdate_ConfirmWithUppercaseY(t *testing.T) { function TestUpdate_ConfirmWithEnter (line 213) | func TestUpdate_ConfirmWithEnter(t *testing.T) { function TestUpdate_CancelWithN (line 225) | func TestUpdate_CancelWithN(t *testing.T) { function TestUpdate_CancelWithEscape (line 239) | func TestUpdate_CancelWithEscape(t *testing.T) { function TestUpdate_CancelWithRandomKey (line 253) | func TestUpdate_CancelWithRandomKey(t *testing.T) { function TestUpdate_ConfirmReturnsAction (line 268) | func TestUpdate_ConfirmReturnsAction(t *testing.T) { function TestUpdate_NonKeyMsg (line 283) | func TestUpdate_NonKeyMsg(t *testing.T) { function TestUpdate_AllPRActions (line 303) | func TestUpdate_AllPRActions(t *testing.T) { function TestUpdate_AllIssueActions (line 324) | func TestUpdate_AllIssueActions(t *testing.T) { function TestUpdate_ReturnsActionOnConfirm (line 343) | func TestUpdate_ReturnsActionOnConfirm(t *testing.T) { FILE: internal/tui/components/prompt/prompt.go type Model (line 9) | type Model struct method Update (line 26) | func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { method View (line 32) | func (m Model) View() string { method Init (line 36) | func (m Model) Init() tea.Cmd { method Blur (line 40) | func (m *Model) Blur() { method Focus (line 44) | func (m *Model) Focus() tea.Cmd { method SetValue (line 48) | func (m *Model) SetValue(value string) { method Value (line 52) | func (m *Model) Value() string { method SetPrompt (line 56) | func (m *Model) SetPrompt(prompt string) { method Reset (line 60) | func (m *Model) Reset() { method UpdateProgramContext (line 64) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { function NewModel (line 14) | func NewModel(ctx *context.ProgramContext) Model { FILE: internal/tui/components/prrow/data.go type Data (line 9) | type Data struct method GetTitle (line 15) | func (data Data) GetTitle() string { method GetRepoNameWithOwner (line 19) | func (data Data) GetRepoNameWithOwner() string { method GetNumber (line 23) | func (data Data) GetNumber() int { method GetUrl (line 27) | func (data Data) GetUrl() string { method GetUpdatedAt (line 31) | func (data Data) GetUpdatedAt() time.Time { method GetCreatedAt (line 35) | func (data Data) GetCreatedAt() time.Time { FILE: internal/tui/components/prrow/prrow.go type PullRequest (line 19) | type PullRequest struct method getTextStyle (line 27) | func (pr *PullRequest) getTextStyle() lipgloss.Style { method renderNumComments (line 31) | func (pr *PullRequest) renderNumComments() string { method renderReviewStatus (line 44) | func (pr *PullRequest) renderReviewStatus() string { method renderState (line 70) | func (pr *PullRequest) renderState() string { method GetStatusChecksRollup (line 99) | func (pr *PullRequest) GetStatusChecksRollup() checks.CommitState { method renderCiStatus (line 111) | func (pr *PullRequest) renderCiStatus() string { method RenderLines (line 134) | func (pr *PullRequest) RenderLines(isSelected bool) string { method renderTitle (line 178) | func (pr *PullRequest) renderTitle() string { method renderExtendedTitle (line 187) | func (pr *PullRequest) renderExtendedTitle(isSelected bool) string { method renderAuthor (line 223) | func (pr *PullRequest) renderAuthor() string { method renderAssignees (line 227) | func (pr *PullRequest) renderAssignees() string { method renderRepoName (line 238) | func (pr *PullRequest) renderRepoName() string { method renderUpdateAt (line 248) | func (pr *PullRequest) renderUpdateAt() string { method renderCreatedAt (line 270) | func (pr *PullRequest) renderCreatedAt() string { method renderBaseName (line 292) | func (pr *PullRequest) renderBaseName() string { method RenderState (line 299) | func (pr *PullRequest) RenderState() string { method RenderMergeStateStatus (line 319) | func (pr *PullRequest) RenderMergeStateStatus() string { method ToTableRow (line 332) | func (pr *PullRequest) ToTableRow(isSelected bool) table.Row { function keepSameSpacesOnAddDeletions (line 167) | func keepSameSpacesOnAddDeletions(str string) string { FILE: internal/tui/components/prrow/prrow_test.go function TestGetStatusChecksRollup (line 12) | func TestGetStatusChecksRollup(t *testing.T) { FILE: internal/tui/components/prssection/checkout.go method checkout (line 17) | func (m *Model) checkout() (tea.Cmd, error) { FILE: internal/tui/components/prssection/diff.go method diff (line 9) | func (m Model) diff() tea.Cmd { FILE: internal/tui/components/prssection/prssection.go constant SectionType (line 24) | SectionType = "pr" type Model (line 26) | type Model struct method Update (line 57) | func (m *Model) Update(msg tea.Msg) (section.Section, tea.Cmd) { method EnrichPR (line 225) | func (m *Model) EnrichPR(data data.EnrichedPullRequestData) { method BuildRows (line 392) | func (m Model) BuildRows() []table.Row { method NumRows (line 414) | func (m *Model) NumRows() int { method GetCurrRow (line 425) | func (m *Model) GetCurrRow() data.RowData { method FetchNextPageSectionRows (line 434) | func (m *Model) FetchNextPageSectionRows() []tea.Cmd { method ResetRows (line 508) | func (m *Model) ResetRows() { method GetItemSingularForm (line 571) | func (m Model) GetItemSingularForm() string { method GetItemPluralForm (line 575) | func (m Model) GetItemPluralForm() string { method GetTotalCount (line 579) | func (m Model) GetTotalCount() int { method SetIsLoading (line 583) | func (m *Model) SetIsLoading(val bool) { method GetPagerContent (line 588) | func (m Model) GetPagerContent() string { function NewModel (line 31) | func NewModel( function GetSectionColumns (line 236) | func GetSectionColumns( type SectionPullRequestsFetchedMsg (line 418) | type SectionPullRequestsFetchedMsg struct function FetchAllSections (line 513) | func FetchAllSections( function addAssignees (line 543) | func addAssignees(assignees, addedAssignees []data.Assignee) []data.Assi... function removeAssignees (line 554) | func removeAssignees( function assigneesContains (line 567) | func assigneesContains(assignees []data.Assignee, assignee data.Assignee... FILE: internal/tui/components/prssection/prssection_test.go function newTestModel (line 18) | func newTestModel(action string) Model { function TestConfirmation_AcceptWithEmptyInput (line 39) | func TestConfirmation_AcceptWithEmptyInput(t *testing.T) { function TestConfirmation_AcceptWithLowercaseY (line 52) | func TestConfirmation_AcceptWithLowercaseY(t *testing.T) { function TestConfirmation_AcceptWithUppercaseY (line 62) | func TestConfirmation_AcceptWithUppercaseY(t *testing.T) { function TestConfirmation_RejectWithN (line 72) | func TestConfirmation_RejectWithN(t *testing.T) { function TestConfirmation_CancelWithEsc (line 86) | func TestConfirmation_CancelWithEsc(t *testing.T) { function TestConfirmation_CancelWithCtrlC (line 97) | func TestConfirmation_CancelWithCtrlC(t *testing.T) { function TestConfirmation_AllActions (line 108) | func TestConfirmation_AllActions(t *testing.T) { FILE: internal/tui/components/prssection/watchChecks.go method watchChecks (line 18) | func (m *Model) watchChecks() tea.Cmd { FILE: internal/tui/components/prview/action.go type PRActionType (line 11) | type PRActionType constant PRActionNone (line 14) | PRActionNone PRActionType = iota constant PRActionApprove (line 15) | PRActionApprove constant PRActionAssign (line 16) | PRActionAssign constant PRActionUnassign (line 17) | PRActionUnassign constant PRActionComment (line 18) | PRActionComment constant PRActionDiff (line 19) | PRActionDiff constant PRActionCheckout (line 20) | PRActionCheckout constant PRActionClose (line 21) | PRActionClose constant PRActionReady (line 22) | PRActionReady constant PRActionReopen (line 23) | PRActionReopen constant PRActionMerge (line 24) | PRActionMerge constant PRActionUpdate (line 25) | PRActionUpdate constant PRActionSummaryViewMore (line 26) | PRActionSummaryViewMore constant PRActionApproveWorkflows (line 27) | PRActionApproveWorkflows type PRAction (line 31) | type PRAction struct function MsgToAction (line 36) | func MsgToAction(msg tea.Msg) *PRAction { FILE: internal/tui/components/prview/action_test.go function newTestModelForAction (line 17) | func newTestModelForAction(t *testing.T) Model { function TestMsgToActionReturnsCorrectActions (line 45) | func TestMsgToActionReturnsCorrectActions(t *testing.T) { function TestMsgToActionReturnsNilForUnknownKeys (line 87) | func TestMsgToActionReturnsNilForUnknownKeys(t *testing.T) { function TestIsTextInputBoxFocusedWhenCommenting (line 95) | func TestIsTextInputBoxFocusedWhenCommenting(t *testing.T) { function TestIsTextInputBoxFocusedWhenApproving (line 106) | func TestIsTextInputBoxFocusedWhenApproving(t *testing.T) { function TestIsTextInputBoxFocusedWhenAssigning (line 117) | func TestIsTextInputBoxFocusedWhenAssigning(t *testing.T) { function TestIsTextInputBoxFocusedWhenUnassigning (line 128) | func TestIsTextInputBoxFocusedWhenUnassigning(t *testing.T) { function TestUpdateHandlesSidebarTabNavigation (line 139) | func TestUpdateHandlesSidebarTabNavigation(t *testing.T) { function TestPRActionTypes (line 165) | func TestPRActionTypes(t *testing.T) { function TestMsgToActionWithReboundKeys (line 194) | func TestMsgToActionWithReboundKeys(t *testing.T) { FILE: internal/tui/components/prview/activity.go type RenderedActivity (line 17) | type RenderedActivity struct method renderActivity (line 22) | func (m *Model) renderActivity() string { function renderEmptyState (line 99) | func renderEmptyState() string { type comment (line 103) | type comment struct method renderComment (line 111) | func (m *Model) renderComment( method renderReview (line 153) | func (m *Model) renderReview( method renderReviewHeader (line 166) | func (m *Model) renderReviewHeader(review data.Review) string { method renderReviewDecision (line 177) | func (m *Model) renderReviewDecision(decision string) string { FILE: internal/tui/components/prview/checks.go type checkSectionStatus (line 14) | type checkSectionStatus constant statusSuccess (line 17) | statusSuccess checkSectionStatus = iota constant statusFailure (line 18) | statusFailure constant statusWaiting (line 19) | statusWaiting constant statusNonRequested (line 20) | statusNonRequested method renderChecksOverview (line 23) | func (m *Model) renderChecksOverview() string { method viewChecksStatus (line 63) | func (m *Model) viewChecksStatus() (string, checkSectionStatus) { method viewMergeStatus (line 130) | func (m *Model) viewMergeStatus() (string, checkSectionStatus) { method viewMergedStatus (line 163) | func (m *Model) viewMergedStatus() string { method viewClosedStatus (line 177) | func (m *Model) viewClosedStatus() string { method viewReviewStatus (line 191) | func (m *Model) viewReviewStatus() (string, checkSectionStatus) { method viewCheckCategory (line 257) | func (m *Model) viewCheckCategory(icon, title, subtitle string, isLast b... method viewChecksBar (line 283) | func (m *Model) viewChecksBar() string { function renderCheckRunName (line 341) | func renderCheckRunName(checkRun data.CheckRun) string { type CheckCategory (line 364) | type CheckCategory constant CheckWaiting (line 367) | CheckWaiting CheckCategory = iota constant CheckFailure (line 368) | CheckFailure constant CheckSuccess (line 369) | CheckSuccess method renderCheckRunConclusion (line 372) | func (m *Model) renderCheckRunConclusion(checkRun data.CheckRun) (CheckC... method renderStatusContextConclusion (line 384) | func (m *Model) renderStatusContextConclusion( function renderStatusContextName (line 399) | func renderStatusContextName(statusContext data.StatusContext) string { method renderChecks (line 416) | func (sidebar *Model) renderChecks() string { type checksStats (line 575) | type checksStats struct method getStatusCheckRollupStats (line 584) | func (m *Model) getStatusCheckRollupStats(rollup data.StatusCheckRollupS... method getChecksStats (line 608) | func (m *Model) getChecksStats() checksStats { method numRequestedReviewOwners (line 651) | func (m *Model) numRequestedReviewOwners() int { FILE: internal/tui/components/prview/checks_test.go type checksTestOptions (line 19) | type checksTestOptions struct function newTestModelForChecks (line 26) | func newTestModelForChecks(t *testing.T, opts checksTestOptions) Model { function makeCheckRun (line 160) | func makeCheckRun(name string, status string, conclusion checks.CheckRun... function makeCheckSuite (line 168) | func makeCheckSuite(workflowName string, status string, conclusion strin... function TestRenderChecks_AwaitingApproval (line 186) | func TestRenderChecks_AwaitingApproval(t *testing.T) { function TestRenderChecks_PendingCheckSuites (line 222) | func TestRenderChecks_PendingCheckSuites(t *testing.T) { function TestRenderChecks_RequiredButNotReported (line 255) | func TestRenderChecks_RequiredButNotReported(t *testing.T) { function TestRenderChecks_MixedStates (line 301) | func TestRenderChecks_MixedStates(t *testing.T) { function TestRenderChecks_NoChecks (line 358) | func TestRenderChecks_NoChecks(t *testing.T) { function TestRenderChecks_FailedChecks (line 377) | func TestRenderChecks_FailedChecks(t *testing.T) { function TestRenderChecks_InProgressChecks (line 409) | func TestRenderChecks_InProgressChecks(t *testing.T) { function TestGetChecksStats_AwaitingApproval (line 437) | func TestGetChecksStats_AwaitingApproval(t *testing.T) { function TestGetChecksStats_PendingCheckSuites (line 459) | func TestGetChecksStats_PendingCheckSuites(t *testing.T) { function TestGetChecksStats_Mixed (line 480) | func TestGetChecksStats_Mixed(t *testing.T) { function TestViewChecksBar_NarrowWidth_NoPanic (line 512) | func TestViewChecksBar_NarrowWidth_NoPanic(t *testing.T) { FILE: internal/tui/components/prview/commits.go method renderCommits (line 14) | func (m *Model) renderCommits() string { method commitStateSign (line 88) | func (m *Model) commitStateSign(state checks.CommitState) string { FILE: internal/tui/components/prview/files.go method renderChangesOverview (line 12) | func (m *Model) renderChangesOverview() string { method renderChangedFiles (line 53) | func (m *Model) renderChangedFiles() string { method renderFile (line 62) | func (m *Model) renderFile(file data.ChangedFile) string { method renderChangeTypeIcon (line 92) | func (m *Model) renderChangeTypeIcon(changeType string) string { FILE: internal/tui/components/prview/prview.go type Model (line 34) | type Model struct method Update (line 75) | func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { method View (line 194) | func (m Model) View() string { method renderFullNameAndNumber (line 266) | func (m *Model) renderFullNameAndNumber() string { method renderTitle (line 278) | func (m *Model) renderTitle() string { method renderBranches (line 287) | func (m *Model) renderBranches() string { method renderStatusPill (line 297) | func (m *Model) renderStatusPill() string { method renderLabels (line 318) | func (m *Model) renderLabels() string { method renderRequestedReviewers (line 339) | func (m *Model) renderRequestedReviewers() string { method renderAuthor (line 506) | func (m *Model) renderAuthor() string { method renderSummary (line 526) | func (m *Model) renderSummary() string { method SetSectionId (line 583) | func (m *Model) SetSectionId(id int) { method SetRow (line 587) | func (m *Model) SetRow(d *prrow.Data) { method EnrichCurrRow (line 602) | func (m *Model) EnrichCurrRow() tea.Cmd { method SetWidth (line 618) | func (m *Model) SetWidth(width int) { method IsTextInputBoxFocused (line 624) | func (m *Model) IsTextInputBoxFocused() bool { method GetIsCommenting (line 628) | func (m *Model) GetIsCommenting() bool { method UpdateProgramContext (line 632) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { method shouldCancelComment (line 643) | func (m *Model) shouldCancelComment() bool { method SetIsCommenting (line 658) | func (m *Model) SetIsCommenting(isCommenting bool) tea.Cmd { method getIndentedContentWidth (line 675) | func (m *Model) getIndentedContentWidth() int { method GetIsApproving (line 679) | func (m *Model) GetIsApproving() bool { method SetIsApproving (line 683) | func (m *Model) SetIsApproving(isApproving bool) tea.Cmd { method GetIsAssigning (line 701) | func (m *Model) GetIsAssigning() bool { method SetIsAssigning (line 705) | func (m *Model) SetIsAssigning(isAssigning bool) tea.Cmd { method userAssignedToPr (line 725) | func (m *Model) userAssignedToPr(login string) bool { method GetIsUnassigning (line 734) | func (m *Model) GetIsUnassigning() bool { method SetIsUnassigning (line 738) | func (m *Model) SetIsUnassigning(isUnassigning bool) tea.Cmd { method prAssignees (line 756) | func (m *Model) prAssignees() []string { method GoToFirstTab (line 764) | func (m *Model) GoToFirstTab() { method GoToActivityTab (line 768) | func (m *Model) GoToActivityTab() { method SelectedTab (line 772) | func (m Model) SelectedTab() string { method SetSummaryViewMore (line 776) | func (m *Model) SetSummaryViewMore() { method SetSummaryViewLess (line 780) | func (m *Model) SetSummaryViewLess() { method SetEnrichedPR (line 784) | func (m *Model) SetEnrichedPR(data data.EnrichedPullRequestData) { function NewModel (line 53) | func NewModel(ctx *context.ProgramContext) Model { type reviewerItem (line 335) | type reviewerItem struct type EnrichedPrMsg (line 595) | type EnrichedPrMsg struct FILE: internal/tui/components/prview/reviewers_test.go function newTestModel (line 18) | func newTestModel(t *testing.T, prData *data.PullRequestData) Model { function newTestModelWithWidth (line 22) | func newTestModelWithWidth(t *testing.T, prData *data.PullRequestData, w... function TestRenderRequestedReviewers (line 57) | func TestRenderRequestedReviewers(t *testing.T) { function TestRenderRequestedReviewersWrapping (line 284) | func TestRenderRequestedReviewersWrapping(t *testing.T) { function TestRenderRequestedReviewersLoading (line 329) | func TestRenderRequestedReviewersLoading(t *testing.T) { function TestRenderSuggestedReviewers (line 361) | func TestRenderSuggestedReviewers(t *testing.T) { FILE: internal/tui/components/reposection/commands.go type UpdatePRMsg (line 19) | type UpdatePRMsg struct method fastForward (line 29) | func (m *Model) fastForward() (tea.Cmd, error) { type pushOptions (line 80) | type pushOptions struct method push (line 84) | func (m *Model) push(opts pushOptions) (tea.Cmd, error) { method checkout (line 142) | func (m *Model) checkout() (tea.Cmd, error) { type repoMsg (line 174) | type repoMsg struct method readRepoCmd (line 179) | func (m *Model) readRepoCmd() []tea.Cmd { method fetchRepoCmd (line 209) | func (m *Model) fetchRepoCmd() []tea.Cmd { method fetchPRsCmd (line 239) | func (m *Model) fetchPRsCmd() tea.Cmd { method fetchPRCmd (line 281) | func (m *Model) fetchPRCmd(branch string) []tea.Cmd { type RefreshBranchesMsg (line 328) | type RefreshBranchesMsg struct type RefreshPrsMsg (line 333) | type RefreshPrsMsg struct function nextID (line 344) | func nextID() int { method tickRefreshBranchesCmd (line 351) | func (m *Model) tickRefreshBranchesCmd() tea.Cmd { method tickFetchPrsCmd (line 360) | func (m *Model) tickFetchPrsCmd() tea.Cmd { method onRefreshBranchesMsg (line 369) | func (m *Model) onRefreshBranchesMsg() []tea.Cmd { method onRefreshPrsMsg (line 376) | func (m *Model) onRefreshPrsMsg() []tea.Cmd { method OpenGithub (line 383) | func (m *Model) OpenGithub() tea.Cmd { method deleteBranch (line 389) | func (m *Model) deleteBranch() tea.Cmd { method newBranch (line 421) | func (m *Model) newBranch(name string) tea.Cmd { FILE: internal/tui/components/reposection/reposection.go constant SectionType (line 28) | SectionType = "repo" type Model (line 30) | type Model struct method Update (line 68) | func (m *Model) Update(msg tea.Msg) (section.Section, tea.Cmd) { method View (line 216) | func (m *Model) View() string { method updateBranchesWithPrs (line 364) | func (m *Model) updateBranchesWithPrs() { method BuildRows (line 391) | func (m Model) BuildRows() []table.Row { method getFilteredBranches (line 413) | func (m *Model) getFilteredBranches() []branch.Branch { method NumRows (line 433) | func (m *Model) NumRows() int { method getCurrBranch (line 444) | func (m *Model) getCurrBranch() *branch.Branch { method GetCurrRow (line 452) | func (m *Model) GetCurrRow() data.RowData { method FetchNextPageSectionRows (line 465) | func (m *Model) FetchNextPageSectionRows() []tea.Cmd { method GetDimensions (line 511) | func (m Model) GetDimensions() constants.Dimensions { method UpdateProgramContext (line 521) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { method ResetRows (line 534) | func (m *Model) ResetRows() { method GetItemSingularForm (line 538) | func (m *Model) GetItemSingularForm() string { method GetItemPluralForm (line 542) | func (m *Model) GetItemPluralForm() string { method GetTotalCount (line 546) | func (m *Model) GetTotalCount() int { method SetIsLoading (line 550) | func (m *Model) SetIsLoading(val bool) { method GetPagerContent (line 555) | func (m *Model) GetPagerContent() string { function NewModel (line 39) | func NewModel( function GetSectionColumns (line 236) | func GetSectionColumns( function findPRForRef (line 424) | func findPRForRef(prs []data.PullRequestData, branch string) *data.PullR... type SectionPullRequestsFetchedMsg (line 437) | type SectionPullRequestsFetchedMsg struct function FetchAllBranches (line 480) | func FetchAllBranches(ctx *context.ProgramContext) (Model, tea.Cmd) { FILE: internal/tui/components/search/search.go type Model (line 13) | type Model struct method Init (line 63) | func (m Model) Init() tea.Cmd { method Update (line 67) | func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { method View (line 74) | func (m Model) View(ctx *context.ProgramContext) string { method Focus (line 81) | func (m *Model) Focus() tea.Cmd { method Blur (line 86) | func (m *Model) Blur() { method SetValue (line 91) | func (m *Model) SetValue(val string) { method UpdateProgramContext (line 95) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { method getInputWidth (line 104) | func (m *Model) getInputWidth(ctx *context.ProgramContext) int { method Value (line 115) | func (m Model) Value() string { type SearchOptions (line 19) | type SearchOptions struct function NewModel (line 25) | func NewModel(ctx *context.ProgramContext, opts SearchOptions) Model { FILE: internal/tui/components/section/section.go type BaseModel (line 30) | type BaseModel struct method GetDimensions (line 199) | func (m *BaseModel) GetDimensions() constants.Dimensions { method GetConfig (line 209) | func (m *BaseModel) GetConfig() config.SectionConfig { method HasRepoNameInConfiguredFilter (line 213) | func (m *BaseModel) HasRepoNameInConfiguredFilter() bool { method HasCurrentRepoNameInConfiguredFilter (line 223) | func (m *BaseModel) HasCurrentRepoNameInConfiguredFilter() bool { method SyncSmartFilterWithSearchValue (line 238) | func (m *BaseModel) SyncSmartFilterWithSearchValue() { method GetSearchValue (line 242) | func (m *BaseModel) GetSearchValue() string { method enrichSearchWithTemplateVars (line 266) | func (m *BaseModel) enrichSearchWithTemplateVars() string { method UpdateProgramContext (line 292) | func (m *BaseModel) UpdateProgramContext(ctx *context.ProgramContext) { method GetId (line 314) | func (m *BaseModel) GetId() int { method GetType (line 318) | func (m *BaseModel) GetType() string { method CurrRow (line 322) | func (m *BaseModel) CurrRow() int { method NextRow (line 326) | func (m *BaseModel) NextRow() int { method PrevRow (line 330) | func (m *BaseModel) PrevRow() int { method FirstItem (line 334) | func (m *BaseModel) FirstItem() int { method LastItem (line 338) | func (m *BaseModel) LastItem() int { method IsSearchFocused (line 342) | func (m *BaseModel) IsSearchFocused() bool { method GetIsLoading (line 346) | func (m *BaseModel) GetIsLoading() bool { method SetIsSearching (line 350) | func (m *BaseModel) SetIsSearching(val bool) tea.Cmd { method ResetFilters (line 360) | func (m *BaseModel) ResetFilters() { method ResetPageInfo (line 364) | func (m *BaseModel) ResetPageInfo() { method IsPromptConfirmationFocused (line 368) | func (m *BaseModel) IsPromptConfirmationFocused() bool { method SetIsPromptConfirmationShown (line 372) | func (m *BaseModel) SetIsPromptConfirmationShown(val bool) tea.Cmd { method SetPromptConfirmationAction (line 383) | func (m *BaseModel) SetPromptConfirmationAction(action string) { method GetPromptConfirmationAction (line 387) | func (m *BaseModel) GetPromptConfirmationAction() string { method MakeSectionCmd (line 397) | func (m *BaseModel) MakeSectionCmd(cmd tea.Cmd) tea.Cmd { method GetFilters (line 412) | func (m *BaseModel) GetFilters() string { method GetMainContent (line 416) | func (m *BaseModel) GetMainContent() string { method View (line 437) | func (m *BaseModel) View() string { method ResetRows (line 448) | func (m *BaseModel) ResetRows() { method LastUpdated (line 454) | func (m *BaseModel) LastUpdated() time.Time { method CreatedAt (line 458) | func (m *BaseModel) CreatedAt() time.Time { method UpdateTotalItemsCount (line 462) | func (m *BaseModel) UpdateTotalItemsCount(count int) { method GetPromptConfirmation (line 466) | func (m *BaseModel) GetPromptConfirmation() string { type NewSectionOptions (line 55) | type NewSectionOptions struct method GetConfigFiltersWithCurrentRemoteAdded (line 67) | func (options NewSectionOptions) GetConfigFiltersWithCurrentRemoteAdded( function NewModel (line 86) | func NewModel( type Section (line 143) | type Section interface type Identifier (line 158) | type Identifier interface type Component (line 163) | type Component interface type Table (line 168) | type Table interface type Search (line 183) | type Search interface type PromptConfirmation (line 191) | type PromptConfirmation interface type SectionRowsFetchedMsg (line 305) | type SectionRowsFetchedMsg struct method GetSectionId (line 310) | func (msg SectionRowsFetchedMsg) GetSectionId() int { type SectionMsg (line 391) | type SectionMsg struct FILE: internal/tui/components/section/section_test.go function currentRepoFilter (line 16) | func currentRepoFilter(t *testing.T) string { function TestHasRepoNameInConfiguredFilter (line 26) | func TestHasRepoNameInConfiguredFilter(t *testing.T) { function TestHasCurrentRepoNameInConfiguredFilter (line 69) | func TestHasCurrentRepoNameInConfiguredFilter(t *testing.T) { function TestSyncSmartFilterWithSearchValue (line 122) | func TestSyncSmartFilterWithSearchValue(t *testing.T) { function TestGetSearchValue (line 164) | func TestGetSearchValue(t *testing.T) { function TestGetSearchValue_SimilarRepoNameNotStripped (line 253) | func TestGetSearchValue_SimilarRepoNameNotStripped(t *testing.T) { function TestGetSearchValue_ManualRepoFilterRemoval (line 268) | func TestGetSearchValue_ManualRepoFilterRemoval(t *testing.T) { function TestGetConfigFiltersWithCurrentRemoteAdded (line 341) | func TestGetConfigFiltersWithCurrentRemoteAdded(t *testing.T) { function TestGetPromptConfirmation (line 407) | func TestGetPromptConfirmation(t *testing.T) { FILE: internal/tui/components/sidebar/sidebar.go type Model (line 15) | type Model struct method Update (line 36) | func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { method View (line 51) | func (m Model) View() string { method SetContent (line 76) | func (m *Model) SetContent(data string) { method GetSidebarContentWidth (line 81) | func (m *Model) GetSidebarContentWidth() int { method ScrollToTop (line 88) | func (m *Model) ScrollToTop() { method ScrollToBottom (line 92) | func (m *Model) ScrollToBottom() { method ScrollToPercent (line 96) | func (m *Model) ScrollToPercent(percent float64) { method UpdateProgramContext (line 102) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { function NewModel (line 23) | func NewModel() Model { FILE: internal/tui/components/table/table.go type Model (line 19) | type Model struct method Update (line 88) | func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { method StartLoadingSpinner (line 96) | func (m Model) StartLoadingSpinner() tea.Cmd { method View (line 100) | func (m Model) View() string { method SetIsLoading (line 107) | func (m *Model) SetIsLoading(isLoading bool) { method SetDimensions (line 111) | func (m *Model) SetDimensions(dimensions constants.Dimensions) { method ResetCurrItem (line 119) | func (m *Model) ResetCurrItem() { method GetCurrItem (line 123) | func (m *Model) GetCurrItem() int { method PrevItem (line 127) | func (m *Model) PrevItem() int { method NextItem (line 134) | func (m *Model) NextItem() int { method FirstItem (line 141) | func (m *Model) FirstItem() int { method LastItem (line 148) | func (m *Model) LastItem() int { method cacheColumnWidths (line 155) | func (m *Model) cacheColumnWidths() { method SyncViewPortContent (line 165) | func (m *Model) SyncViewPortContent() { method SetRows (line 178) | func (m *Model) SetRows(rows []Row) { method SetContentHeight (line 185) | func (m *Model) SetContentHeight(height int) { method OnLineDown (line 195) | func (m *Model) OnLineDown() { method OnLineUp (line 199) | func (m *Model) OnLineUp() { method getShownColumns (line 203) | func (m *Model) getShownColumns() []Column { method renderHeaderColumns (line 215) | func (m *Model) renderHeaderColumns() []string { method renderHeader (line 273) | func (m *Model) renderHeader() string { method renderBody (line 286) | func (m *Model) renderBody() string { method renderRow (line 308) | func (m *Model) renderRow(rowId int, headerColumns []string) string { method UpdateProgramContext (line 378) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { method LastUpdated (line 383) | func (m *Model) LastUpdated() time.Time { method CreatedAt (line 387) | func (m *Model) CreatedAt() time.Time { method UpdateLastUpdated (line 391) | func (m *Model) UpdateLastUpdated(t time.Time) { method UpdateTotalItemsCount (line 395) | func (m *Model) UpdateTotalItemsCount(count int) { method IsLoading (line 399) | func (m *Model) IsLoading() bool { type Column (line 32) | type Column struct type Row (line 41) | type Row function NewModel (line 43) | func NewModel( FILE: internal/tui/components/tabs/tabs.go type SectionTab (line 19) | type SectionTab struct type Model (line 24) | type Model struct method Init (line 46) | func (m Model) Init() tea.Cmd { method Update (line 50) | func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { method View (line 70) | func (m Model) View() string { method fetchHasNewVersion (line 86) | func (m *Model) fetchHasNewVersion() tea.Cmd { method CurrSectionId (line 96) | func (m *Model) CurrSectionId() int { method SetCurrSectionId (line 100) | func (m *Model) SetCurrSectionId(id int) { method UpdateProgramContext (line 104) | func (m *Model) UpdateProgramContext(ctx *context.ProgramContext) { method SetSections (line 116) | func (m *Model) SetSections(sections []section.Section) { method UpdateTabTitles (line 128) | func (m *Model) UpdateTabTitles() { method viewLogo (line 153) | func (m *Model) viewLogo() string { method SetAllLoading (line 177) | func (m *Model) SetAllLoading() []tea.Cmd { function NewModel (line 32) | func NewModel(ctx *context.ProgramContext) Model { type latestVersionMsg (line 81) | type latestVersionMsg struct FILE: internal/tui/components/tabs/tabs_test.go type testModel (line 135) | type testModel struct method Init (line 164) | func (m testModel) Init() tea.Cmd { method Update (line 168) | func (m testModel) Update(msg tea.Msg) (testModel, tea.Cmd) { method View (line 221) | func (m testModel) View() string { type initMsg (line 159) | type initMsg struct type dataFetchedMsg (line 160) | type dataFetchedMsg struct type changeTabsMsg (line 161) | type changeTabsMsg struct FILE: internal/tui/components/tabs/testdata/test_section.go type TestSection (line 13) | type TestSection struct method BuildRows (line 19) | func (t *TestSection) BuildRows() []table.Row { method CurrRow (line 24) | func (t *TestSection) CurrRow() int { method FetchNextPageSectionRows (line 29) | func (t *TestSection) FetchNextPageSectionRows() []tea.Cmd { method FirstItem (line 34) | func (t *TestSection) FirstItem() int { method GetConfig (line 39) | func (t *TestSection) GetConfig() config.SectionConfig { method GetCurrRow (line 44) | func (t *TestSection) GetCurrRow() data.RowData { method GetFilters (line 49) | func (t *TestSection) GetFilters() string { method GetId (line 54) | func (t *TestSection) GetId() int { method GetIsLoading (line 59) | func (t *TestSection) GetIsLoading() bool { method GetItemPluralForm (line 64) | func (t *TestSection) GetItemPluralForm() string { method GetItemSingularForm (line 69) | func (t *TestSection) GetItemSingularForm() string { method GetPagerContent (line 74) | func (t *TestSection) GetPagerContent() string { method GetPromptConfirmation (line 79) | func (t *TestSection) GetPromptConfirmation() string { method GetPromptConfirmationAction (line 84) | func (t *TestSection) GetPromptConfirmationAction() string { method GetTotalCount (line 89) | func (t *TestSection) GetTotalCount() int { method GetType (line 94) | func (t *TestSection) GetType() string { method IsPromptConfirmationFocused (line 99) | func (t *TestSection) IsPromptConfirmationFocused() bool { method IsSearchFocused (line 104) | func (t *TestSection) IsSearchFocused() bool { method LastItem (line 109) | func (t *TestSection) LastItem() int { method MakeSectionCmd (line 114) | func (t *TestSection) MakeSectionCmd(cmd tea.Cmd) tea.Cmd { method NextRow (line 119) | func (t *TestSection) NextRow() int { method NumRows (line 124) | func (t *TestSection) NumRows() int { method PrevRow (line 129) | func (t *TestSection) PrevRow() int { method ResetFilters (line 134) | func (t *TestSection) ResetFilters() { method ResetPageInfo (line 139) | func (t *TestSection) ResetPageInfo() { method ResetRows (line 144) | func (t *TestSection) ResetRows() { method SetIsLoading (line 149) | func (t *TestSection) SetIsLoading(val bool) { method SetIsPromptConfirmationShown (line 154) | func (t *TestSection) SetIsPromptConfirmationShown(val bool) tea.Cmd { method SetIsSearching (line 159) | func (t *TestSection) SetIsSearching(val bool) tea.Cmd { method SetPromptConfirmationAction (line 164) | func (t *TestSection) SetPromptConfirmationAction(action string) { method Update (line 169) | func (t *TestSection) Update(msg tea.Msg) (section.Section, tea.Cmd) { method UpdateProgramContext (line 174) | func (t *TestSection) UpdateProgramContext(ctx *context.ProgramContext) { method View (line 179) | func (t *TestSection) View() string { FILE: internal/tui/components/tasks/issue.go type UpdateIssueMsg (line 15) | type UpdateIssueMsg struct function CloseIssue (line 24) | func CloseIssue( function ReopenIssue (line 51) | func ReopenIssue( function AssignIssue (line 78) | func AssignIssue( function UnassignIssue (line 117) | func UnassignIssue( function CommentOnIssue (line 156) | func CommentOnIssue( function LabelIssue (line 190) | func LabelIssue( FILE: internal/tui/components/tasks/issue_test.go type mockIssue (line 17) | type mockIssue struct method GetNumber (line 25) | func (m mockIssue) GetNumber() int { return m.number } method GetRepoNameWithOwner (line 26) | func (m mockIssue) GetRepoNameWithOwner() string { return m.repoName } method GetTitle (line 27) | func (m mockIssue) GetTitle() string { return m.title } method GetUrl (line 28) | func (m mockIssue) GetUrl() string { return m.url } method GetUpdatedAt (line 29) | func (m mockIssue) GetUpdatedAt() time.Time { return m.updatedAt } function noopStartTask (line 32) | func noopStartTask(task context.Task) tea.Cmd { function TestUpdateIssueMsg_Fields (line 36) | func TestUpdateIssueMsg_Fields(t *testing.T) { function TestCloseIssue (line 76) | func TestCloseIssue(t *testing.T) { function TestCloseIssue_TaskConfiguration (line 117) | func TestCloseIssue_TaskConfiguration(t *testing.T) { function TestReopenIssue (line 141) | func TestReopenIssue(t *testing.T) { function TestReopenIssue_TaskConfiguration (line 182) | func TestReopenIssue_TaskConfiguration(t *testing.T) { function TestCloseIssue_SectionIdentifierPropagation (line 206) | func TestCloseIssue_SectionIdentifierPropagation(t *testing.T) { function TestReopenIssue_SectionIdentifierPropagation (line 239) | func TestReopenIssue_SectionIdentifierPropagation(t *testing.T) { function TestUpdateIssueMsg_ImplementsTeaMsg (line 272) | func TestUpdateIssueMsg_ImplementsTeaMsg(t *testing.T) { function TestCloseIssue_UsesCorrectIssueNumber (line 280) | func TestCloseIssue_UsesCorrectIssueNumber(t *testing.T) { function TestReopenIssue_UsesCorrectIssueNumber (line 303) | func TestReopenIssue_UsesCorrectIssueNumber(t *testing.T) { function TestCloseIssue_MsgCallbackReturnsCorrectUpdateIssueMsg (line 326) | func TestCloseIssue_MsgCallbackReturnsCorrectUpdateIssueMsg(t *testing.T) { function TestReopenIssue_MsgCallbackReturnsCorrectUpdateIssueMsg (line 359) | func TestReopenIssue_MsgCallbackReturnsCorrectUpdateIssueMsg(t *testing.... function TestCloseIssue_CommandArgs (line 392) | func TestCloseIssue_CommandArgs(t *testing.T) { function TestReopenIssue_CommandArgs (line 434) | func TestReopenIssue_CommandArgs(t *testing.T) { function boolPtr (line 477) | func boolPtr(b bool) *bool { FILE: internal/tui/components/tasks/pr.go type SectionIdentifier (line 18) | type SectionIdentifier struct type UpdatePRMsg (line 23) | type UpdatePRMsg struct type UpdateBranchMsg (line 33) | type UpdateBranchMsg struct function buildTaskId (line 39) | func buildTaskId(prefix string, prNumber int) string { type GitHubTask (line 43) | type GitHubTask struct function fireTask (line 52) | func fireTask(ctx *context.ProgramContext, task GitHubTask) tea.Cmd { function OpenBranchPR (line 77) | func OpenBranchPR(ctx *context.ProgramContext, section SectionIdentifier... function ReopenPR (line 97) | func ReopenPR(ctx *context.ProgramContext, section SectionIdentifier, pr... function ClosePR (line 120) | func ClosePR(ctx *context.ProgramContext, section SectionIdentifier, pr ... function PRReady (line 143) | func PRReady(ctx *context.ProgramContext, section SectionIdentifier, pr ... function MergePR (line 166) | func MergePR(ctx *context.ProgramContext, section SectionIdentifier, pr ... function CreatePR (line 203) | func CreatePR( function UpdatePR (line 242) | func UpdatePR(ctx *context.ProgramContext, section SectionIdentifier, pr... function AssignPR (line 265) | func AssignPR( function UnassignPR (line 304) | func UnassignPR( function CommentOnPR (line 343) | func CommentOnPR( function ApprovePR (line 377) | func ApprovePR( function ApproveWorkflows (line 409) | func ApproveWorkflows( FILE: internal/tui/components/tasks/pr_test.go function TestApproveWorkflows_TaskConfiguration (line 13) | func TestApproveWorkflows_TaskConfiguration(t *testing.T) { function TestApproveWorkflows_ReturnsNonNilCommand (line 37) | func TestApproveWorkflows_ReturnsNonNilCommand(t *testing.T) { function TestApproveWorkflows_UsesCorrectPRNumber (line 78) | func TestApproveWorkflows_UsesCorrectPRNumber(t *testing.T) { function TestApproveWorkflows_SectionIdentifierPropagation (line 102) | func TestApproveWorkflows_SectionIdentifierPropagation(t *testing.T) { FILE: internal/tui/components/utils.go function FormatNumber (line 14) | func FormatNumber(num int) string { function GetIssueTextStyle (line 26) | func GetIssueTextStyle( function RenderIssueTitle (line 32) | func RenderIssueTitle( FILE: internal/tui/constants/constants.go type KeyMap (line 7) | type KeyMap struct type Dimensions (line 23) | type Dimensions struct constant Ellipsis (line 29) | Ellipsis = "…" constant ApprovedIcon (line 31) | ApprovedIcon = "󰄬" constant ChangesRequestedIcon (line 32) | ChangesRequestedIcon = "" constant DotIcon (line 33) | DotIcon = "" constant SmallDotIcon (line 34) | SmallDotIcon = "⋅" constant HorizontalLineIcon (line 35) | HorizontalLineIcon = "─" constant EmptyIcon (line 36) | EmptyIcon = "" constant FailureIcon (line 37) | FailureIcon = "󰅙" constant PersonIcon (line 38) | PersonIcon = "" constant SuccessIcon (line 39) | SuccessIcon = "" constant TeamIcon (line 40) | TeamIcon = "" constant WaitingIcon (line 41) | WaitingIcon = "" constant ActionRequiredIcon (line 42) | ActionRequiredIcon = "" constant BehindIcon (line 44) | BehindIcon = "󰇮" constant BlockedIcon (line 45) | BlockedIcon = "" constant ClosedIcon (line 46) | ClosedIcon = "" constant CodeReviewIcon (line 47) | CodeReviewIcon = "" constant CommentIcon (line 48) | CommentIcon = "" constant CommentsIcon (line 49) | CommentsIcon = "" constant DonateIcon (line 50) | DonateIcon = "󱃱" constant DraftIcon (line 51) | DraftIcon = "" constant CommitIcon (line 52) | CommitIcon = "" constant VerticalCommitIcon (line 53) | VerticalCommitIcon = "󰜘" constant LabelsIcon (line 54) | LabelsIcon = "󰌖" constant MergedIcon (line 55) | MergedIcon = "" constant MergeQueueIcon (line 56) | MergeQueueIcon = "" constant OpenIcon (line 57) | OpenIcon = "" constant SelectionIcon (line 58) | SelectionIcon = "❯" constant NewContributorIcon (line 61) | NewContributorIcon = "󰎔" constant ContributorIcon (line 64) | ContributorIcon = "" constant CollaboratorIcon (line 68) | CollaboratorIcon = "" constant MemberIcon (line 71) | MemberIcon = "" constant OwnerIcon (line 74) | OwnerIcon = "" constant UnknownRoleIcon (line 76) | UnknownRoleIcon = "󰭙" constant WorkflowIcon (line 79) | WorkflowIcon = "" constant WorkflowRunIcon (line 80) | WorkflowRunIcon = "" constant SecurityIcon (line 81) | SecurityIcon = "󰒃" constant NotificationIcon (line 82) | NotificationIcon = "" constant SearchIcon (line 83) | SearchIcon = "" constant AssignPrompt (line 86) | AssignPrompt = "Assign users (whitespace-separated)" + Ellipsis constant UnassignPrompt (line 87) | UnassignPrompt = "Unassign users (whitespace-separated)" + Ellipsis constant CommentPrompt (line 88) | CommentPrompt = "Leave a comment" + Ellipsis constant ApprovalPrompt (line 89) | ApprovalPrompt = "Approve with comment" + Ellipsis constant LabelPrompt (line 90) | LabelPrompt = "Add/remove labels (comma-separated)" + Ellipsis constant Logo (line 92) | Logo = `▜▔▚▐▔▌▚▔▐ ▌ FILE: internal/tui/constants/errMsg.go type ErrMsg (line 3) | type ErrMsg struct method Error (line 7) | func (e ErrMsg) Error() string { return e.Err.Error() } FILE: internal/tui/constants/initMsg.go type InitMsg (line 5) | type InitMsg struct FILE: internal/tui/constants/progressMsg.go type TaskFinishedMsg (line 5) | type TaskFinishedMsg struct type ClearTaskMsg (line 13) | type ClearTaskMsg struct FILE: internal/tui/context/context.go constant TaskStart (line 16) | TaskStart State = iota constant TaskFinished (line 17) | TaskFinished constant TaskError (line 18) | TaskError type Task (line 21) | type Task struct type ProgramContext (line 31) | type ProgramContext struct method GetViewSectionsConfig (line 51) | func (ctx *ProgramContext) GetViewSectionsConfig() []config.SectionCon... FILE: internal/tui/context/styles.go type Styles (line 12) | type Styles struct function InitStyles (line 92) | func InitStyles(theme theme.Theme) Styles { FILE: internal/tui/keys/branchKeys.go type BranchKeyMap (line 12) | type BranchKeyMap struct function BranchFullHelp (line 63) | func BranchFullHelp() []key.Binding { function rebindBranchKeys (line 77) | func rebindBranchKeys(keys []config.Keybinding) error { FILE: internal/tui/keys/issueKeys.go type IssueKeyMap (line 12) | type IssueKeyMap struct function IssueFullHelp (line 58) | func IssueFullHelp() []key.Binding { function rebindIssueKeys (line 71) | func rebindIssueKeys(keys []config.Keybinding) error { FILE: internal/tui/keys/keys.go type NotificationSubjectType (line 14) | type NotificationSubjectType constant NotificationSubjectNone (line 17) | NotificationSubjectNone NotificationSubjectType = iota constant NotificationSubjectPR (line 18) | NotificationSubjectPR constant NotificationSubjectIssue (line 19) | NotificationSubjectIssue function SetNotificationSubject (line 26) | func SetNotificationSubject(subjectType NotificationSubjectType) { type KeyMap (line 30) | type KeyMap struct method ShortHelp (line 57) | func (k KeyMap) ShortHelp() []key.Binding { method FullHelp (line 61) | func (k KeyMap) FullHelp() [][]key.Binding { method NavigationKeys (line 108) | func (k KeyMap) NavigationKeys() []key.Binding { method AppKeys (line 121) | func (k KeyMap) AppKeys() []key.Binding { method QuitAndHelpKeys (line 133) | func (k KeyMap) QuitAndHelpKeys() []key.Binding { function CreateKeyMapForView (line 52) | func CreateKeyMapForView(viewType config.ViewType) help.KeyMap { function Rebind (line 209) | func Rebind(universal, issueKeys, prKeys, branchKeys, notificationKeys [... function rebindUniversal (line 242) | func rebindUniversal(universal []config.Keybinding) error { FILE: internal/tui/keys/keys_test.go function TestSetNotificationSubject (line 11) | func TestSetNotificationSubject(t *testing.T) { function TestFullHelpIncludesPRKeysForPRSubject (line 32) | func TestFullHelpIncludesPRKeysForPRSubject(t *testing.T) { function TestFullHelpIncludesIssueKeysForIssueSubject (line 73) | func TestFullHelpIncludesIssueKeysForIssueSubject(t *testing.T) { function TestFullHelpExcludesPRKeysForNoSubject (line 107) | func TestFullHelpExcludesPRKeysForNoSubject(t *testing.T) { function TestFullHelpForPRViewDoesNotIncludeNotificationKeys (line 139) | func TestFullHelpForPRViewDoesNotIncludeNotificationKeys(t *testing.T) { function findKeyByHelp (line 166) | func findKeyByHelp(keys []key.Binding, helpDesc string) bool { function TestRebindNotificationKeys_Builtin (line 175) | func TestRebindNotificationKeys_Builtin(t *testing.T) { function TestRebindNotificationKeys_UnknownBuiltin (line 197) | func TestRebindNotificationKeys_UnknownBuiltin(t *testing.T) { function TestRebindNotificationKeys_CustomCommand (line 206) | func TestRebindNotificationKeys_CustomCommand(t *testing.T) { function TestFullHelpIncludesCustomNotificationBindings (line 225) | func TestFullHelpIncludesCustomNotificationBindings(t *testing.T) { FILE: internal/tui/keys/notificationKeys.go type NotificationKeyMap (line 12) | type NotificationKeyMap struct function NotificationFullHelp (line 78) | func NotificationFullHelp() []key.Binding { function rebindNotificationKeys (line 95) | func rebindNotificationKeys(keys []config.Keybinding) error { FILE: internal/tui/keys/prKeys.go type PRKeyMap (line 12) | type PRKeyMap struct function PRFullHelp (line 108) | func PRFullHelp() []key.Binding { function rebindPRKeys (line 130) | func rebindPRKeys(keys []config.Keybinding) error { FILE: internal/tui/markdown/markdownRenderer.go function InitializeMarkdownStyle (line 11) | func InitializeMarkdownStyle(hasDarkBackground bool) { function GetMarkdownRenderer (line 22) | func GetMarkdownRenderer(width int) glamour.TermRenderer { FILE: internal/tui/markdown/theme.go function boolPtr (line 242) | func boolPtr(b bool) *bool { return &b } function stringPtr (line 244) | func stringPtr(s string) *string { return &s } function uintPtr (line 246) | func uintPtr(u uint) *uint { return &u } FILE: internal/tui/modelUtils.go method getCurrSection (line 29) | func (m *Model) getCurrSection() section.Section { method getCurrRowData (line 37) | func (m *Model) getCurrRowData() data.RowData { method getSectionAt (line 45) | func (m *Model) getSectionAt(id int) section.Section { method getPrevSectionId (line 53) | func (m *Model) getPrevSectionId() int { method getNextSectionId (line 57) | func (m *Model) getNextSectionId() int { type IssueCommandTemplateInput (line 61) | type IssueCommandTemplateInput struct method executeKeybinding (line 68) | func (m *Model) executeKeybinding(key string) tea.Cmd { method runCustomCommand (line 177) | func (m *Model) runCustomCommand(commandTemplate string, contextData *ma... method runCustomPRCommand (line 217) | func (m *Model) runCustomPRCommand(commandTemplate string, prData *prrow... method runCustomIssueCommand (line 228) | func (m *Model) runCustomIssueCommand(commandTemplate string, issueData ... method runCustomBranchCommand (line 238) | func (m *Model) runCustomBranchCommand(commandTemplate string, branchDat... method runCustomUniversalCommand (line 258) | func (m *Model) runCustomUniversalCommand(commandTemplate string) tea.Cmd { method runCustomNotificationPRCommand (line 263) | func (m *Model) runCustomNotificationPRCommand( method runCustomNotificationIssueCommand (line 279) | func (m *Model) runCustomNotificationIssueCommand( method runCustomNotificationCommand (line 293) | func (m *Model) runCustomNotificationCommand( type execProcessFinishedMsg (line 304) | type execProcessFinishedMsg struct method executeCustomCommand (line 306) | func (m *Model) executeCustomCommand(cmd string) tea.Cmd { method notify (line 331) | func (m *Model) notify(text string) tea.Cmd { method notifyErr (line 350) | func (m *Model) notifyErr(text string) tea.Cmd { FILE: internal/tui/tasks.go method openBrowser (line 17) | func (m *Model) openBrowser() tea.Cmd { FILE: internal/tui/testutils/utils.go function bytesContains (line 9) | func bytesContains(t *testing.T, bts []byte, str string) bool { function AssertNoError (line 53) | func AssertNoError(t testing.TB, got error) { FILE: internal/tui/theme/theme.go type Theme (line 12) | type Theme struct function ParseTheme (line 120) | func ParseTheme(cfg *config.Config) Theme { FILE: internal/tui/theme/theme_test.go function init (line 14) | func init() { function TestTheme (line 18) | func TestTheme(t *testing.T) { FILE: internal/tui/ui.go type Model (line 48) | type Model struct method initScreen (line 104) | func (m *Model) initScreen() tea.Msg { method Init (line 161) | func (m Model) Init() tea.Cmd { method Update (line 165) | func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { method View (line 846) | func (m Model) View() tea.View { method setCurrSectionId (line 918) | func (m *Model) setCurrSectionId(newSectionId int) { method updateNotificationSections (line 923) | func (m *Model) updateNotificationSections(msg tea.Msg) tea.Cmd { method markNotificationAsRead (line 935) | func (m *Model) markNotificationAsRead(notificationId string) { method onViewedRowChanged (line 943) | func (m *Model) onViewedRowChanged() tea.Cmd { method onWindowSizeChanged (line 954) | func (m *Model) onWindowSizeChanged(msg tea.WindowSizeMsg) { method syncProgramContext (line 967) | func (m *Model) syncProgramContext() { method updateSection (line 980) | func (m *Model) updateSection(id int, sType string, msg tea.Msg) (cmd ... method updateRelevantSection (line 1009) | func (m *Model) updateRelevantSection(msg section.SectionMsg) (cmd tea... method updateCurrentSection (line 1013) | func (m *Model) updateCurrentSection(msg tea.Msg) (cmd tea.Cmd) { method syncMainContentWidth (line 1021) | func (m *Model) syncMainContentWidth() { method openSidebarForPRInput (line 1035) | func (m *Model) openSidebarForPRInput(setFunc func(bool) tea.Cmd) tea.... method openSidebarForInput (line 1040) | func (m *Model) openSidebarForInput(setFunc func(bool) tea.Cmd) tea.Cmd { method backToNotification (line 1049) | func (m *Model) backToNotification() tea.Cmd { method promptConfirmation (line 1060) | func (m *Model) promptConfirmation(currSection section.Section, action... method syncSidebar (line 1068) | func (m *Model) syncSidebar() tea.Cmd { method renderNotificationPrompt (line 1128) | func (m *Model) renderNotificationPrompt(row *notificationrow.Data) st... method loadNotificationContent (line 1229) | func (m *Model) loadNotificationContent() tea.Cmd { method fetchAllViewSections (line 1302) | func (m *Model) fetchAllViewSections() ([]section.Section, tea.Cmd) { method getCurrentViewSections (line 1329) | func (m *Model) getCurrentViewSections() []section.Section { method getCurrentViewDefaultSection (line 1348) | func (m *Model) getCurrentViewDefaultSection() int { method setCurrentViewSections (line 1361) | func (m *Model) setCurrentViewSections(newSections []section.Section) { method switchSelectedView (line 1436) | func (m *Model) switchSelectedView() tea.Cmd { method isUserDefinedKeybinding (line 1485) | func (m *Model) isUserDefinedKeybinding(msg tea.KeyMsg) bool { method renderRunningTask (line 1545) | func (m *Model) renderRunningTask() string { method doRefreshAtInterval (line 1627) | func (m *Model) doRefreshAtInterval() tea.Cmd { method doUpdateFooterAtInterval (line 1642) | func (m *Model) doUpdateFooterAtInterval() tea.Cmd { method promptConfirmationForNotificationPR (line 1654) | func (m *Model) promptConfirmationForNotificationPR(action string) tea... method promptConfirmationForNotificationIssue (line 1665) | func (m *Model) promptConfirmationForNotificationIssue(action string) ... method executeNotificationAction (line 1675) | func (m *Model) executeNotificationAction(action string) tea.Cmd { function NewModel (line 67) | func NewModel(location config.Location) Model { type initMsg (line 898) | type initMsg struct type notificationPRFetchedMsg (line 904) | type notificationPRFetchedMsg struct type notificationIssueFetchedMsg (line 911) | type notificationIssueFetchedMsg struct type userFetchedMsg (line 1608) | type userFetchedMsg struct function fetchUser (line 1612) | func fetchUser() tea.Msg { type intervalRefresh (line 1625) | type intervalRefresh type updateFooterMsg (line 1640) | type updateFooterMsg struct FILE: internal/tui/ui_test.go type localRoundTripper (line 87) | type localRoundTripper struct method RoundTrip (line 91) | func (l localRoundTripper) RoundTrip(req *http.Request) (*http.Respons... function TestGetCurrentViewSections_RepoViewWithNilRepo (line 151) | func TestGetCurrentViewSections_RepoViewWithNilRepo(t *testing.T) { function TestPromptConfirmation_NilSection (line 168) | func TestPromptConfirmation_NilSection(t *testing.T) { function TestNotificationView_SwitchViewWithSKey (line 175) | func TestNotificationView_SwitchViewWithSKey(t *testing.T) { function TestNotificationView_SwitchViewWithSKey_WhileViewingPR (line 211) | func TestNotificationView_SwitchViewWithSKey_WhileViewingPR(t *testing.T) { function TestNotificationView_SwitchViewWithSKey_WhileViewingIssue (line 257) | func TestNotificationView_SwitchViewWithSKey_WhileViewingIssue(t *testin... function TestNotificationView_PRViewTabNavigation (line 303) | func TestNotificationView_PRViewTabNavigation(t *testing.T) { function TestNotificationView_EnterKeyWorksAfterViewingPR (line 356) | func TestNotificationView_EnterKeyWorksAfterViewingPR(t *testing.T) { function TestNotificationView_EnterKeyWorksAfterViewingIssue (line 429) | func TestNotificationView_EnterKeyWorksAfterViewingIssue(t *testing.T) { function TestNotificationView_BackKeyClearsPRSubjectAndRestoresNotificationActions (line 498) | func TestNotificationView_BackKeyClearsPRSubjectAndRestoresNotificationA... function TestNotificationView_BackKeyClearsIssueSubject (line 575) | func TestNotificationView_BackKeyClearsIssueSubject(t *testing.T) { function executeCommandTemplate (line 649) | func executeCommandTemplate( function TestPRCommandTemplateVariables (line 669) | func TestPRCommandTemplateVariables(t *testing.T) { function TestIssueCommandTemplateVariables (line 716) | func TestIssueCommandTemplateVariables(t *testing.T) { function TestCommandTemplateMissingVariable (line 756) | func TestCommandTemplateMissingVariable(t *testing.T) { function TestSyncMainContentWidth (line 767) | func TestSyncMainContentWidth(t *testing.T) { function TestSyncSidebar_NoOpWhenSidebarClosed (line 869) | func TestSyncSidebar_NoOpWhenSidebarClosed(t *testing.T) { function TestPromptConfirmationForNotificationPR (line 937) | func TestPromptConfirmationForNotificationPR(t *testing.T) { function TestPromptConfirmationForNotificationPR_NilSubject (line 973) | func TestPromptConfirmationForNotificationPR_NilSubject(t *testing.T) { function TestPromptConfirmationForNotificationIssue (line 990) | func TestPromptConfirmationForNotificationIssue(t *testing.T) { function TestNotificationConfirmation_CancelOnOtherKey (line 1023) | func TestNotificationConfirmation_CancelOnOtherKey(t *testing.T) { function TestNotificationConfirmation_AcceptWithY (line 1063) | func TestNotificationConfirmation_AcceptWithY(t *testing.T) { function TestNotificationConfirmation_AcceptWithUpperY (line 1106) | func TestNotificationConfirmation_AcceptWithUpperY(t *testing.T) { function TestNotificationConfirmation_AcceptWithEnter (line 1149) | func TestNotificationConfirmation_AcceptWithEnter(t *testing.T) { function TestPromptConfirmationForNotificationIssue_NilSubject (line 1194) | func TestPromptConfirmationForNotificationIssue_NilSubject(t *testing.T) { function TestRefresh_ClearsEnrichmentCache (line 1211) | func TestRefresh_ClearsEnrichmentCache(t *testing.T) { function TestRefreshAll_ClearsEnrichmentCache (line 1270) | func TestRefreshAll_ClearsEnrichmentCache(t *testing.T) { function TestPromptConfirmationForNotificationPR_ApproveWorkflows (line 1337) | func TestPromptConfirmationForNotificationPR_ApproveWorkflows(t *testing... function TestNotificationConfirmation_ApproveWorkflows_AcceptWithY (line 1373) | func TestNotificationConfirmation_ApproveWorkflows_AcceptWithY(t *testin... function TestIsUserDefinedKeybinding_NotificationsView_PRNotification (line 1419) | func TestIsUserDefinedKeybinding_NotificationsView_PRNotification(t *tes... function TestIsUserDefinedKeybinding_NotificationsView_IssueNotification (line 1480) | func TestIsUserDefinedKeybinding_NotificationsView_IssueNotification(t *... function TestIsUserDefinedKeybinding_NotificationsView_NonPRIssueNotification (line 1536) | func TestIsUserDefinedKeybinding_NotificationsView_NonPRIssueNotificatio... function TestNotificationPRCommandTemplateVariables (line 1591) | func TestNotificationPRCommandTemplateVariables(t *testing.T) { function TestNotificationPRCommandTemplateVariables_WithSidebar (line 1625) | func TestNotificationPRCommandTemplateVariables_WithSidebar(t *testing.T) { function TestNotificationIssueCommandTemplateVariables (line 1672) | func TestNotificationIssueCommandTemplateVariables(t *testing.T) { function TestNotificationIssueCommandTemplateVariables_WithSidebar (line 1706) | func TestNotificationIssueCommandTemplateVariables_WithSidebar(t *testin... function TestNotificationCommandTemplate_PRFieldsWithoutSidebar (line 1740) | func TestNotificationCommandTemplate_PRFieldsWithoutSidebar(t *testing.T) { function TestIsUserDefinedKeybinding_NotificationsView_NotificationKeybinding (line 1766) | func TestIsUserDefinedKeybinding_NotificationsView_NotificationKeybindin... function TestNotificationCommandTemplateVariables (line 1827) | func TestNotificationCommandTemplateVariables(t *testing.T) { FILE: internal/utils/templateHandler.go type TemplateRegistry (line 12) | type TemplateRegistry struct method UID (line 20) | func (or *TemplateRegistry) UID() string { method LinkHandler (line 24) | func (or *TemplateRegistry) LinkHandler(fh sprout.Handler) error { method NowModify (line 29) | func (or *TemplateRegistry) NowModify(input string) (string, error) { method RegisterFunctions (line 40) | func (or *TemplateRegistry) RegisterFunctions(funcsMap sprout.Function... method RegisterAliases (line 45) | func (or *TemplateRegistry) RegisterAliases(aliasMap sprout.FunctionAl... function NewRegistry (line 16) | func NewRegistry() *TemplateRegistry { function ParseDuration (line 52) | func ParseDuration(s string) (time.Duration, error) { FILE: internal/utils/utils.go constant ApproxDaysInYear (line 12) | ApproxDaysInYear = 365 constant ApproxDaysInMonth (line 13) | ApproxDaysInMonth = 28 constant DaysInWeek (line 14) | DaysInWeek = 7 function Max (line 17) | func Max(a, b int) int { function Min (line 24) | func Min(a, b int) int { function TimeElapsed (line 31) | func TimeElapsed(then time.Time) string { function BoolPtr (line 80) | func BoolPtr(b bool) *bool { return &b } function StringPtr (line 82) | func StringPtr(s string) *string { return &s } function UintPtr (line 84) | func UintPtr(u uint) *uint { return &u } function IntPtr (line 86) | func IntPtr(u int) *int { return &u } function ShortNumber (line 88) | func ShortNumber(n int) string { function GetStylePrefix (line 102) | func GetStylePrefix(s lipgloss.Style) string { FILE: internal/utils/utils_test.go function TestGetStylePrefix (line 10) | func TestGetStylePrefix(t *testing.T) { function TestGetStylePrefix_StripsReset (line 46) | func TestGetStylePrefix_StripsReset(t *testing.T) { function TestGetStylePrefix_VariousStyles (line 70) | func TestGetStylePrefix_VariousStyles(t *testing.T) { function TestGetStylePrefix_ConcatenationPreservesStyle (line 134) | func TestGetStylePrefix_ConcatenationPreservesStyle(t *testing.T) {