edit.go
func (e *Edit) Render() {
	if e.visibility == VisibilityHide {
		e.clear()
		return
	}

	filler := ""
	l := e.display[e.at:]
	if len(l) > e.trueW {
		l = e.display[e.at : e.at+e.trueW]
	} else {
		// just erase right hand side
		filler = strings.Repeat(" ", e.trueW-len(l))
	}
	e.w.printf(e.trueX, e.trueY, e.attr, "%v%v", string(l), filler)
}
func (e *Edit) Render() {
	if e.visibility == VisibilityHide {
		e.clear()
		return
	}

	filler := ""
	l := e.display[e.at:]
	if len(l) > e.trueW {
		l = e.display[e.at : e.at+e.trueW]
	} else {
		// just erase right hand side
		filler = strings.Repeat(" ", e.trueW-len(l))
	}
	e.w.printf(e.trueX, e.trueY, e.attr, "%v%v", string(l), filler)
}
// Render implements the Render interface.  This is called from queue context
// so be careful to not use blocking calls.