From 2203e30b1839dd6e3987d27b6bce4359e1f57e3b Mon Sep 17 00:00:00 2001 From: Timothy Warren Date: Wed, 31 Mar 2021 09:28:39 -0400 Subject: [PATCH] Extract method for drawing placeholder rows --- editor/draw.go | 46 +++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/editor/draw.go b/editor/draw.go index 648425e..b04d862 100644 --- a/editor/draw.go +++ b/editor/draw.go @@ -28,27 +28,7 @@ func (e *editor) RefreshScreen() { func (e *editor) drawRows(ab *buffer) { for y :=0; y < e.screen.Rows; y++ { if y >= len(e.rows) { - if len(e.rows) == 0 && y == e.screen.Rows / 3 { - welcome := fmt.Sprintf("Gilo editor -- version %s", KiloVersion) - if len(welcome) > e.screen.Cols { - welcome = truncateString(welcome, e.screen.Cols) - } - - padding := (e.screen.Cols - len(welcome)) / 2 - if padding > 0 { - ab.appendRune('~') - padding-- - } - - for padding > 0 { - padding-- - ab.appendRune(' ') - } - - ab.append(welcome) - } else { - ab.appendRune('~') - } + e.drawPlaceholderRow(y, ab) } else { row := truncateString(string(e.rows[y].chars), e.screen.Cols) ab.append(row) @@ -62,6 +42,30 @@ func (e *editor) drawRows(ab *buffer) { } } +func (e *editor) drawPlaceholderRow(y int, ab *buffer) { + if len(e.rows) == 0 && y == e.screen.Rows / 3 { + welcome := fmt.Sprintf("Gilo editor -- version %s", KiloVersion) + if len(welcome) > e.screen.Cols { + welcome = truncateString(welcome, e.screen.Cols) + } + + padding := (e.screen.Cols - len(welcome)) / 2 + if padding > 0 { + ab.appendRune('~') + padding-- + } + + for padding > 0 { + padding-- + ab.appendRune(' ') + } + + ab.append(welcome) + } else { + ab.appendRune('~') + } +} + // ---------------------------------------------------------------------------- // !Output Buffer // ----------------------------------------------------------------------------