event := <-events
switch e := event.(type) {
+ case *tcell.EventResize:
+ for _, t := range tabs {
+ t.Resize()
+ }
+ RedrawAll()
case *tcell.EventKey:
switch e.Key() {
case tcell.KeyCtrlQ, tcell.KeyCtrlC, tcell.KeyEscape:
chosen = chosen + CommonSubstring(suggestions...)
}
- if len(suggestions) != 0 {
+ if len(suggestions) != 0 && chosen != "" {
m.response = shellwords.Join(append(args[:len(args)-1], chosen)...)
m.cursorx = Count(m.response)
}
m.HandleEvent(event, m.history[historyType])
m.Clear()
- for _, v := range tabs[curTab].views {
+ for _, v := range tabs[curTab].Views {
v.Display()
}
DisplayTabs()
func (m *Messenger) LoadHistory() {
if GetGlobalOption("savehistory").(bool) {
file, err := os.Open(configDir + "/buffers/history")
+ defer file.Close()
var decodedMap map[string][]string
if err == nil {
decoder := gob.NewDecoder(file)
err = decoder.Decode(&decodedMap)
- file.Close()
if err != nil {
m.Error("Error loading history:", err)
}
file, err := os.Create(configDir + "/buffers/history")
+ defer file.Close()
if err == nil {
encoder := gob.NewEncoder(file)
m.Error("Error saving history:", err)
return
}
- file.Close()
}
}
}