vtTools/term/vtterm.go

40 lines
546 B
Go

package term
import (
"io"
)
type TermType struct {
id string
}
func (id TermType) ID() string {
return id.id
}
func (id TermType) String() string {
return id.ID()
}
var (
VT220Type = TermType{"vt220"}
)
type VTTerm interface {
io.Writer
Init()
TermID() string
Print(a ...any) (n int, err error)
Printf(format string, a ...any) (n int, err error)
Println(a ...any) (n int, err error)
}
func NewVTTerm(ttype TermType, w io.Writer) VTTerm {
var term VTTerm
switch ttype {
case VT220Type:
term = NewVT220(w)
}
return term
}