github.com/grzegorz-zur/bm@v0.0.0-20240312214136-6fc133e3e2c0/modes.go (about) 1 package main 2 3 // Modes holds single instances of each mode. 4 type Modes struct { 5 // Mode is the active mode. 6 Mode 7 Command Mode 8 Input Mode 9 Select Mode 10 Switch Mode 11 } 12 13 // SwitchMode switches active mode. 14 func (modes *Modes) SwitchMode(mode Mode) { 15 if modes.Mode != nil { 16 modes.Mode.Hide() 17 } 18 modes.Mode = mode 19 modes.Mode.Show() 20 }