From 54a34001e33641b2e9de832eb6d417d7813cbb9a Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Sun, 4 Sep 2016 11:19:53 -0400 Subject: [PATCH] Fix cursor problem in LetterPrompt Fixes #300 --- cmd/micro/messenger.go | 8 ++++++-- cmd/micro/view.go | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cmd/micro/messenger.go b/cmd/micro/messenger.go index b53687b1..de84a3e8 100644 --- a/cmd/micro/messenger.go +++ b/cmd/micro/messenger.go @@ -144,11 +144,14 @@ func (m *Messenger) LetterPrompt(prompt string, responses ...rune) (rune, bool) case tcell.KeyRune: for _, r := range responses { if e.Rune() == r { + m.Clear() m.Reset() + m.hasPrompt = false return r, false } } case tcell.KeyCtrlC, tcell.KeyCtrlQ, tcell.KeyEscape: + m.hasPrompt = false return ' ', true } } @@ -242,18 +245,19 @@ func (m *Messenger) Prompt(prompt, historyType string, completionTypes ...Comple m.HandleEvent(event, m.history[historyType]) - messenger.Clear() + m.Clear() for _, v := range tabs[curTab].views { v.Display() } DisplayTabs() - messenger.Display() + m.Display() if len(suggestions) > 1 { m.DisplaySuggestions(suggestions) } screen.Show() } + m.Clear() m.Reset() return response, canceled } diff --git a/cmd/micro/view.go b/cmd/micro/view.go index 28d59d12..10c6faef 100644 --- a/cmd/micro/view.go +++ b/cmd/micro/view.go @@ -172,6 +172,8 @@ func (v *View) ScrollDown(n int) { func (v *View) CanClose(msg string, responses ...rune) bool { if v.Buf.IsModified { char, canceled := messenger.LetterPrompt("You have unsaved changes. "+msg, responses...) + messenger.Clear() + messenger.Reset() if !canceled { if char == 'y' { return true