mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-11-25 22:32:13 +02:00
Centralize logic regarding WorkingTreeState close to its definition
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package enums
|
||||
|
||||
import "github.com/jesseduffield/lazygit/pkg/i18n"
|
||||
|
||||
type WorkingTreeState int
|
||||
|
||||
const (
|
||||
@@ -16,3 +18,46 @@ func (self WorkingTreeState) IsMerging() bool {
|
||||
func (self WorkingTreeState) IsRebasing() bool {
|
||||
return self == WORKING_TREE_STATE_REBASING
|
||||
}
|
||||
|
||||
func (self WorkingTreeState) Title(tr *i18n.TranslationSet) string {
|
||||
switch self {
|
||||
case WORKING_TREE_STATE_REBASING:
|
||||
return tr.RebasingStatus
|
||||
case WORKING_TREE_STATE_MERGING:
|
||||
return tr.MergingStatus
|
||||
default:
|
||||
// should never actually display this
|
||||
return "none"
|
||||
}
|
||||
}
|
||||
|
||||
func (self WorkingTreeState) LowerCaseTitle(tr *i18n.TranslationSet) string {
|
||||
switch self {
|
||||
case WORKING_TREE_STATE_REBASING:
|
||||
return tr.LowercaseRebasingStatus
|
||||
case WORKING_TREE_STATE_MERGING:
|
||||
return tr.LowercaseMergingStatus
|
||||
default:
|
||||
// should never actually display this
|
||||
return "none"
|
||||
}
|
||||
}
|
||||
|
||||
func (self WorkingTreeState) OptionsMenuTitle(tr *i18n.TranslationSet) string {
|
||||
if self == WORKING_TREE_STATE_MERGING {
|
||||
return tr.MergeOptionsTitle
|
||||
}
|
||||
return tr.RebaseOptionsTitle
|
||||
}
|
||||
|
||||
func (self WorkingTreeState) CommandName() string {
|
||||
switch self {
|
||||
case WORKING_TREE_STATE_MERGING:
|
||||
return "merge"
|
||||
case WORKING_TREE_STATE_REBASING:
|
||||
return "rebase"
|
||||
default:
|
||||
// shouldn't be possible to land here
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user