From c1b4d6a5159facf925019017592d65ed38b20722 Mon Sep 17 00:00:00 2001 From: Christian Rocha Date: Thu, 16 Jan 2020 14:47:44 -0500 Subject: [PATCH] Remove an extraneous argument and auto-add a trailing newline to views --- examples/simple/main.go | 2 +- tea.go | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/simple/main.go b/examples/simple/main.go index 5653db5..05f54db 100644 --- a/examples/simple/main.go +++ b/examples/simple/main.go @@ -35,7 +35,7 @@ func update(msg tea.Msg, mdl tea.Model) (tea.Model, tea.Cmd) { func view(mdl tea.Model) string { m, _ := mdl.(model) - return fmt.Sprintf("Hi. This program will exit in %d seconds...\n", m) + return fmt.Sprintf("Hi. This program will exit in %d seconds...", m) } func tick(_ tea.Model) tea.Msg { diff --git a/tea.go b/tea.go index 4ac3baf..5e6abd3 100644 --- a/tea.go +++ b/tea.go @@ -85,7 +85,7 @@ func (p *Program) Start() error { // Render initial view hideCursor() - p.render(model, true) + p.render(model) // Subscribe to user input // TODO: should we move this to the end-user program level or just keep this @@ -138,21 +138,21 @@ func (p *Program) Start() error { model, cmd = p.update(msg, model) cmds <- cmd // process command (if any) - p.render(model, false) + p.render(model) p.model = model } } } // Render a view to the terminal -func (p *Program) render(model Model, init bool) { - view := p.view(model) +func (p *Program) render(model Model) { + view := p.view(model) + "\n" // We need to add carriage returns to ensure that the cursor travels to the // start of a column after a newline view = strings.Replace(view, "\n", "\r\n", -1) - if !init { + if linesRendered > 0 { clearLines(linesRendered) } io.WriteString(p.rw, view)