parent
def5e29b91
commit
54a34001e3
2 changed files with 8 additions and 2 deletions
|
@ -144,11 +144,14 @@ func (m *Messenger) LetterPrompt(prompt string, responses ...rune) (rune, bool)
|
||||||
case tcell.KeyRune:
|
case tcell.KeyRune:
|
||||||
for _, r := range responses {
|
for _, r := range responses {
|
||||||
if e.Rune() == r {
|
if e.Rune() == r {
|
||||||
|
m.Clear()
|
||||||
m.Reset()
|
m.Reset()
|
||||||
|
m.hasPrompt = false
|
||||||
return r, false
|
return r, false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case tcell.KeyCtrlC, tcell.KeyCtrlQ, tcell.KeyEscape:
|
case tcell.KeyCtrlC, tcell.KeyCtrlQ, tcell.KeyEscape:
|
||||||
|
m.hasPrompt = false
|
||||||
return ' ', true
|
return ' ', true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -242,18 +245,19 @@ func (m *Messenger) Prompt(prompt, historyType string, completionTypes ...Comple
|
||||||
|
|
||||||
m.HandleEvent(event, m.history[historyType])
|
m.HandleEvent(event, m.history[historyType])
|
||||||
|
|
||||||
messenger.Clear()
|
m.Clear()
|
||||||
for _, v := range tabs[curTab].views {
|
for _, v := range tabs[curTab].views {
|
||||||
v.Display()
|
v.Display()
|
||||||
}
|
}
|
||||||
DisplayTabs()
|
DisplayTabs()
|
||||||
messenger.Display()
|
m.Display()
|
||||||
if len(suggestions) > 1 {
|
if len(suggestions) > 1 {
|
||||||
m.DisplaySuggestions(suggestions)
|
m.DisplaySuggestions(suggestions)
|
||||||
}
|
}
|
||||||
screen.Show()
|
screen.Show()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m.Clear()
|
||||||
m.Reset()
|
m.Reset()
|
||||||
return response, canceled
|
return response, canceled
|
||||||
}
|
}
|
||||||
|
|
|
@ -172,6 +172,8 @@ func (v *View) ScrollDown(n int) {
|
||||||
func (v *View) CanClose(msg string, responses ...rune) bool {
|
func (v *View) CanClose(msg string, responses ...rune) bool {
|
||||||
if v.Buf.IsModified {
|
if v.Buf.IsModified {
|
||||||
char, canceled := messenger.LetterPrompt("You have unsaved changes. "+msg, responses...)
|
char, canceled := messenger.LetterPrompt("You have unsaved changes. "+msg, responses...)
|
||||||
|
messenger.Clear()
|
||||||
|
messenger.Reset()
|
||||||
if !canceled {
|
if !canceled {
|
||||||
if char == 'y' {
|
if char == 'y' {
|
||||||
return true
|
return true
|
||||||
|
|
Loading…
Reference in a new issue