aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--termui/show_bug.go19
1 files changed, 18 insertions, 1 deletions
diff --git a/termui/show_bug.go b/termui/show_bug.go
index 32bea95a..4ca987bd 100644
--- a/termui/show_bug.go
+++ b/termui/show_bug.go
@@ -99,7 +99,7 @@ func (sb *showBug) layout(g *gocui.Gui) error {
if sb.isOnSide {
fmt.Fprint(v, "[a] Add label [r] Remove label")
} else {
- fmt.Fprint(v, "[c] Comment [t] Change title")
+ fmt.Fprint(v, "[o] Toggle open/close [c] Comment [t] Change title")
}
_, err = g.SetViewOnTop(showBugInstructionView)
@@ -171,6 +171,12 @@ func (sb *showBug) keybindings(g *gocui.Gui) error {
return err
}
+ // Open/close
+ if err := g.SetKeybinding(showBugView, 'o', gocui.ModNone,
+ sb.toggleOpenClose); err != nil {
+ return err
+ }
+
// Title
if err := g.SetKeybinding(showBugView, 't', gocui.ModNone,
sb.setTitle); err != nil {
@@ -603,6 +609,17 @@ func (sb *showBug) setTitle(g *gocui.Gui, v *gocui.View) error {
return setTitleWithEditor(sb.bug)
}
+func (sb *showBug) toggleOpenClose(g *gocui.Gui, v *gocui.View) error {
+ switch sb.bug.Snapshot().Status {
+ case bug.OpenStatus:
+ return sb.bug.Close()
+ case bug.ClosedStatus:
+ return sb.bug.Open()
+ default:
+ return nil
+ }
+}
+
func (sb *showBug) addLabel(g *gocui.Gui, v *gocui.View) error {
c := ui.inputPopup.Activate("Add labels")