From 7c80de7ee138a6a2dff22a087f7b2c18cae5dbf7 Mon Sep 17 00:00:00 2001 From: Tommy Date: Wed, 10 May 2017 15:02:17 +0100 Subject: [PATCH 1/2] Caps lock issue#658 (#659) * caps-lock-issue #658 * when esc key is pressed the message is cleared away --- cmd/micro/messenger.go | 6 ++++-- cmd/micro/view.go | 11 ++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/cmd/micro/messenger.go b/cmd/micro/messenger.go index f032741a..3fda5368 100644 --- a/cmd/micro/messenger.go +++ b/cmd/micro/messenger.go @@ -161,17 +161,19 @@ func (m *Messenger) YesNoPrompt(prompt string) (bool, bool) { case *tcell.EventKey: switch e.Key() { case tcell.KeyRune: - if e.Rune() == 'y' { + if e.Rune() == 'y' || e.Rune() == 'Y' { m.AddLog("\t--> y") m.hasPrompt = false return true, false - } else if e.Rune() == 'n' { + } else if e.Rune() == 'n' || e.Rune() == 'N' { m.AddLog("\t--> n") m.hasPrompt = false return false, false } case tcell.KeyCtrlC, tcell.KeyCtrlQ, tcell.KeyEscape: m.AddLog("\t--> (cancel)") + m.Clear() + m.Reset() m.hasPrompt = false return false, true } diff --git a/cmd/micro/view.go b/cmd/micro/view.go index 1b01ae8a..4114dfce 100644 --- a/cmd/micro/view.go +++ b/cmd/micro/view.go @@ -199,18 +199,19 @@ func (v *View) ScrollDown(n int) { // causing them to lose the unsaved changes func (v *View) CanClose() bool { if v.Type == vtDefault && v.Buf.IsModified { - var char rune + var choice bool var canceled bool if v.Buf.Settings["autosave"].(bool) { - char = 'y' + choice = true } else { - char, canceled = messenger.LetterPrompt("Save changes to "+v.Buf.GetName()+" before closing? (y,n,esc) ", 'y', 'n', 'Y', 'N') + choice, canceled = messenger.YesNoPrompt("Save changes to " + v.Buf.GetName() + " before closing? (y,n,esc) ") } if !canceled { - if char == 'y' || char == 'Y' { + //if char == 'y' { + if choice { v.Save(true) return true - } else if char == 'n' || char == 'N' { + } else { return true } } From f6ccaadc0c6659fe52970c0d8900e0cc8e8ab7f8 Mon Sep 17 00:00:00 2001 From: aerth Date: Fri, 12 May 2017 16:32:24 -0700 Subject: [PATCH 2/2] use space for indentchar if empty, fixes #660 --- cmd/micro/cellview.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cmd/micro/cellview.go b/cmd/micro/cellview.go index 0b5782f8..2cab7a08 100644 --- a/cmd/micro/cellview.go +++ b/cmd/micro/cellview.go @@ -67,7 +67,12 @@ type CellView struct { func (c *CellView) Draw(buf *Buffer, top, height, left, width int) { tabsize := int(buf.Settings["tabsize"].(float64)) softwrap := buf.Settings["softwrap"].(bool) - indentchar := []rune(buf.Settings["indentchar"].(string))[0] + indentrunes := []rune(buf.Settings["indentchar"].(string)) + // if empty indentchar settings, use space + if indentrunes == nil || len(indentrunes) == 0 { + indentrunes = []rune(" ") + } + indentchar := indentrunes[0] start := buf.Cursor.Y if buf.Settings["syntax"].(bool) && buf.syntaxDef != nil {