package context import "github.com/jesseduffield/lazygit/pkg/gui/types" const ( GLOBAL_CONTEXT_KEY types.ContextKey = "global" STATUS_CONTEXT_KEY types.ContextKey = "status" FILES_CONTEXT_KEY types.ContextKey = "files" LOCAL_BRANCHES_CONTEXT_KEY types.ContextKey = "localBranches" REMOTES_CONTEXT_KEY types.ContextKey = "remotes" REMOTE_BRANCHES_CONTEXT_KEY types.ContextKey = "remoteBranches" TAGS_CONTEXT_KEY types.ContextKey = "tags" BRANCH_COMMITS_CONTEXT_KEY types.ContextKey = "commits" REFLOG_COMMITS_CONTEXT_KEY types.ContextKey = "reflogCommits" SUB_COMMITS_CONTEXT_KEY types.ContextKey = "subCommits" COMMIT_FILES_CONTEXT_KEY types.ContextKey = "commitFiles" STASH_CONTEXT_KEY types.ContextKey = "stash" MAIN_NORMAL_CONTEXT_KEY types.ContextKey = "normal" MAIN_MERGING_CONTEXT_KEY types.ContextKey = "merging" MAIN_PATCH_BUILDING_CONTEXT_KEY types.ContextKey = "patchBuilding" MAIN_STAGING_CONTEXT_KEY types.ContextKey = "staging" MENU_CONTEXT_KEY types.ContextKey = "menu" CREDENTIALS_CONTEXT_KEY types.ContextKey = "credentials" CONFIRMATION_CONTEXT_KEY types.ContextKey = "confirmation" SEARCH_CONTEXT_KEY types.ContextKey = "search" COMMIT_MESSAGE_CONTEXT_KEY types.ContextKey = "commitMessage" SUBMODULES_CONTEXT_KEY types.ContextKey = "submodules" SUGGESTIONS_CONTEXT_KEY types.ContextKey = "suggestions" COMMAND_LOG_CONTEXT_KEY types.ContextKey = "cmdLog" ) var AllContextKeys = []types.ContextKey{ GLOBAL_CONTEXT_KEY, STATUS_CONTEXT_KEY, FILES_CONTEXT_KEY, LOCAL_BRANCHES_CONTEXT_KEY, REMOTES_CONTEXT_KEY, REMOTE_BRANCHES_CONTEXT_KEY, TAGS_CONTEXT_KEY, BRANCH_COMMITS_CONTEXT_KEY, REFLOG_COMMITS_CONTEXT_KEY, SUB_COMMITS_CONTEXT_KEY, COMMIT_FILES_CONTEXT_KEY, STASH_CONTEXT_KEY, MAIN_NORMAL_CONTEXT_KEY, MAIN_MERGING_CONTEXT_KEY, MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY, MENU_CONTEXT_KEY, CREDENTIALS_CONTEXT_KEY, CONFIRMATION_CONTEXT_KEY, SEARCH_CONTEXT_KEY, COMMIT_MESSAGE_CONTEXT_KEY, SUBMODULES_CONTEXT_KEY, SUGGESTIONS_CONTEXT_KEY, COMMAND_LOG_CONTEXT_KEY, } type ContextTree struct { Global types.Context Status types.Context Files *WorkingTreeContext Submodules types.IListContext Menu types.IListContext Branches types.IListContext Remotes types.IListContext RemoteBranches types.IListContext Tags *TagsContext BranchCommits types.IListContext CommitFiles *CommitFilesContext ReflogCommits types.IListContext SubCommits types.IListContext Stash types.IListContext Suggestions types.IListContext Normal types.Context Staging types.Context PatchBuilding types.Context Merging types.Context Credentials types.Context Confirmation types.Context CommitMessage types.Context Search types.Context CommandLog types.Context } func (tree ContextTree) InitialViewContextMap() map[string]types.Context { return map[string]types.Context{ "status": tree.Status, "files": tree.Files, "branches": tree.Branches, "commits": tree.BranchCommits, "commitFiles": tree.CommitFiles, "stash": tree.Stash, "menu": tree.Menu, "confirmation": tree.Confirmation, "credentials": tree.Credentials, "commitMessage": tree.CommitMessage, "main": tree.Normal, "secondary": tree.Normal, "extras": tree.CommandLog, } } type TabContext struct { Tab string Contexts []types.Context } func (tree ContextTree) InitialViewTabContextMap() map[string][]TabContext { return map[string][]TabContext{ "branches": { { Tab: "Local Branches", Contexts: []types.Context{tree.Branches}, }, { Tab: "Remotes", Contexts: []types.Context{ tree.Remotes, tree.RemoteBranches, }, }, { Tab: "Tags", Contexts: []types.Context{tree.Tags}, }, }, "commits": { { Tab: "Commits", Contexts: []types.Context{tree.BranchCommits}, }, { Tab: "Reflog", Contexts: []types.Context{ tree.ReflogCommits, }, }, }, "files": { { Tab: "Files", Contexts: []types.Context{tree.Files}, }, { Tab: "Submodules", Contexts: []types.Context{ tree.Submodules, }, }, }, } }