From 650ffd9fc785f5a1de18ed620a7b72f4ff250634 Mon Sep 17 00:00:00 2001 From: Nao YONASHIRO Date: Tue, 13 Feb 2018 00:48:41 +0900 Subject: [PATCH] feat: linewrap support --- render.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/render.go b/render.go index 21d6295..f01675f 100644 --- a/render.go +++ b/render.go @@ -174,8 +174,13 @@ func (r *Render) Render(buffer *Buffer, completion *CompletionManager) { // In situations where a psuedo tty is allocated (e.g. within a docker container), // window size via TIOCGWINSZ is not immediately available and will result in 0,0 dimensions. if r.col > 0 { + if len(buffer.Document().Text) == 0 { + r.out.CursorBackward(int(r.col)) + r.out.SaveCursor() + } // Erasing - r.out.CursorBackward(int(r.col) + len(line) + len(prefix)) + r.out.UnSaveCursor() + r.out.SaveCursor() r.out.EraseDown() // prepare area @@ -206,8 +211,7 @@ func (r *Render) Render(buffer *Buffer, completion *CompletionManager) { // BreakLine to break line. func (r *Render) BreakLine(buffer *Buffer) { // CR - prefix := r.getCurrentPrefix() - r.out.CursorBackward(int(r.col) + len(buffer.Text()) + len(prefix)) + r.out.UnSaveCursor() // Erasing and Render r.out.EraseDown() r.renderPrefix()