diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2018-08-25 15:55:49 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2018-08-25 17:32:34 +1000 |
commit | 21f6e9ba87e3513973a62b81e67de253dc8afcde (patch) | |
tree | 6cf786783de0fd38ecd014f04cb33aef5541433b /pkg/gui/app_status_manager.go | |
parent | f24c95aedec785985dfcd98ff3997152c193bd3e (diff) |
auto-updates
Diffstat (limited to 'pkg/gui/app_status_manager.go')
-rw-r--r-- | pkg/gui/app_status_manager.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/pkg/gui/app_status_manager.go b/pkg/gui/app_status_manager.go new file mode 100644 index 000000000..2d479e42f --- /dev/null +++ b/pkg/gui/app_status_manager.go @@ -0,0 +1,44 @@ +package gui + +import "github.com/jesseduffield/lazygit/pkg/utils" + +type appStatus struct { + name string + statusType string + duration int +} + +type statusManager struct { + statuses []appStatus +} + +func (m *statusManager) removeStatus(name string) { + newStatuses := []appStatus{} + for _, status := range m.statuses { + if status.name != name { + newStatuses = append(newStatuses, status) + } + } + m.statuses = newStatuses +} + +func (m *statusManager) addWaitingStatus(name string) { + m.removeStatus(name) + newStatus := appStatus{ + name: name, + statusType: "waiting", + duration: 0, + } + m.statuses = append([]appStatus{newStatus}, m.statuses...) +} + +func (m *statusManager) getStatusString() string { + if len(m.statuses) == 0 { + return "" + } + topStatus := m.statuses[0] + if topStatus.statusType == "waiting" { + return topStatus.name + " " + utils.Loader() + } + return topStatus.name +} |