From 3105205ab8aa886e2a76c802e912cf76bee8cdc1 Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Wed, 31 Aug 2016 10:47:31 -0400 Subject: [PATCH] Use text from the paste event, not the clipboard Closes #93 --- cmd/micro/view.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/cmd/micro/view.go b/cmd/micro/view.go index cef69ac9..e977e2a5 100644 --- a/cmd/micro/view.go +++ b/cmd/micro/view.go @@ -344,7 +344,24 @@ func (v *View) HandleEvent(event tcell.Event) { } } case *tcell.EventPaste: - relocate = v.Paste(true) + if !PreActionCall("Paste", v) { + break + } + + leadingWS := GetLeadingWhitespace(v.Buf.Line(v.Cursor.Y)) + + if v.Cursor.HasSelection() { + v.Cursor.DeleteSelection() + v.Cursor.ResetSelection() + } + clip := e.Text() + clip = strings.Replace(clip, "\n", "\n"+leadingWS, -1) + v.Buf.Insert(v.Cursor.Loc, clip) + v.Cursor.Loc = v.Cursor.Loc.Move(Count(clip), v.Buf) + v.freshClip = false + messenger.Message("Pasted clipboard") + + PostActionCall("Paste", v) case *tcell.EventMouse: x, y := e.Position() x -= v.lineNumOffset - v.leftCol + v.x