fix raw mode

pressing enter in raw mode did still execute history entry from normal mode
very dangerous, very embarassing
pull/143/head v2.7.6
Simon Let 6 years ago
parent fe878c57e8
commit ec302f55f6
  1. 16
      cmd/cli/main.go

@ -200,22 +200,38 @@ type manager struct {
func (m manager) SelectExecute(g *gocui.Gui, v *gocui.View) error { func (m manager) SelectExecute(g *gocui.Gui, v *gocui.View) error {
m.s.lock.Lock() m.s.lock.Lock()
defer m.s.lock.Unlock() defer m.s.lock.Unlock()
if m.s.rawMode {
if m.s.highlightedItem < len(m.s.rawData) {
m.s.output = m.s.rawData[m.s.highlightedItem].CmdLine
m.s.exitCode = exitCodeExecute
return gocui.ErrQuit
}
} else {
if m.s.highlightedItem < len(m.s.data) { if m.s.highlightedItem < len(m.s.data) {
m.s.output = m.s.data[m.s.highlightedItem].CmdLine m.s.output = m.s.data[m.s.highlightedItem].CmdLine
m.s.exitCode = exitCodeExecute m.s.exitCode = exitCodeExecute
return gocui.ErrQuit return gocui.ErrQuit
} }
}
return nil return nil
} }
func (m manager) SelectPaste(g *gocui.Gui, v *gocui.View) error { func (m manager) SelectPaste(g *gocui.Gui, v *gocui.View) error {
m.s.lock.Lock() m.s.lock.Lock()
defer m.s.lock.Unlock() defer m.s.lock.Unlock()
if m.s.rawMode {
if m.s.highlightedItem < len(m.s.rawData) {
m.s.output = m.s.rawData[m.s.highlightedItem].CmdLine
m.s.exitCode = 0 // success
return gocui.ErrQuit
}
} else {
if m.s.highlightedItem < len(m.s.data) { if m.s.highlightedItem < len(m.s.data) {
m.s.output = m.s.data[m.s.highlightedItem].CmdLine m.s.output = m.s.data[m.s.highlightedItem].CmdLine
m.s.exitCode = 0 // success m.s.exitCode = 0 // success
return gocui.ErrQuit return gocui.ErrQuit
} }
}
return nil return nil
} }

Loading…
Cancel
Save