Documentation
¶
Index ¶
- Constants
- Variables
- func AddTerminfo(t *Term)
- func RemoveAllInfos()
- type Commander
- func (t *Commander) GoTo(w io.Writer, hash int)
- func (t *Commander) MakeGoToCache(size *term.Size, hashFn func(column, row int) int)
- func (t *Commander) PutAttrOff(w io.Writer)
- func (t *Commander) PutBlink(w io.Writer)
- func (t *Commander) PutBold(w io.Writer)
- func (t *Commander) PutClear(w io.Writer)
- func (t *Commander) PutDim(w io.Writer)
- func (t *Commander) PutDisableMouse(w io.Writer)
- func (t *Commander) PutEnableAcs(w io.Writer)
- func (t *Commander) PutEnableMouse(w io.Writer)
- func (t *Commander) PutEnterCA(w io.Writer)
- func (t *Commander) PutExitCA(w io.Writer)
- func (t *Commander) PutExitKeypad(w io.Writer)
- func (t *Commander) PutHideCursor(w io.Writer)
- func (t *Commander) PutItalic(w io.Writer)
- func (t *Commander) PutResetFgBg(w io.Writer)
- func (t *Commander) PutReverse(w io.Writer)
- func (t *Commander) PutShowCursor(w io.Writer)
- func (t *Commander) PutStrikeThrough(w io.Writer)
- func (t *Commander) PutUnderline(w io.Writer)
- func (t *Commander) TColor(fi, bi int) string
- func (t *Commander) TParam(s string, ints ...int) string
- func (t *Commander) WriteBothColors(w io.Writer, fg, bg color.Color, isDelighted bool)
- func (t *Commander) WriteBytes(w io.Writer, s []byte) error
- func (t *Commander) WriteColor(w io.Writer, c color.Color, isForeground, isDelighted bool)
- func (t *Commander) WriteString(w io.Writer, s string) error
- type Term
Constants ¶
const ( None = 0 XTerm = 1 )
const (
Debug = true // if set to false, the compiler will cleanup/remove the lines inside functions
)
Variables ¶
var ( // NotFound indicates that a suitable terminal entry could not be found. // This can result from either not having TERM set, or from the TERM failing to support certain minimal functionality, in particular absolute cursor addressability (the cup capability) is required. // For example, legacy "adm3" lacks this capability, whereas the slightly newer "adm3a" supports it. // This failure occurs most often with "dumb". NotFound = errors.New("terminal entry not found") )
Functions ¶
func AddTerminfo ¶
func AddTerminfo(t *Term)
AddTerminfo can be called to register a new Term entry.
func RemoveAllInfos ¶
func RemoveAllInfos()
RemoveAllInfos clears up some RAM after we've got what we needed (our Commander)
Types ¶
type Commander ¶
type Commander struct { Colors int // colors Columns int // cols Lines int // lines PadChar string SetFg string // setaf SetBg string // setab SetFgBg string // setfgbg SetFgBgRGB string // setfgbgrgb SetFgRGB string // setfrgb SetBgRGB string // setbrgb SetCursor string // cup EnterAcs string // smacs ExitAcs string // rmacs AltChars string // acsc Clear string // clear HideCursor string // civis ShowCursor string // cnorm EnterCA string EnableAcs string AttrOff string ExitCA string ExitKeypad string Bold string Underline string Reverse string Blink string Dim string Italic string StrikeThrough string ResetFgBg string EnableMouse string DisableMouse string HasMouse bool HasHideCursor bool // contains filtered or unexported fields }
func NewCommander ¶
func (*Commander) GoTo ¶
GoTo for addressing the cursor at the given row and column - but using the hash of that position
func (*Commander) MakeGoToCache ¶
MakeGoToCache - caches goto commands
func (*Commander) PutAttrOff ¶
func (*Commander) PutDisableMouse ¶
func (*Commander) PutEnableAcs ¶
func (*Commander) PutEnableMouse ¶
func (*Commander) PutEnterCA ¶
func (*Commander) PutExitKeypad ¶
func (*Commander) PutHideCursor ¶
func (*Commander) PutResetFgBg ¶
func (*Commander) PutReverse ¶
func (*Commander) PutShowCursor ¶
func (*Commander) PutStrikeThrough ¶
func (*Commander) PutUnderline ¶
func (*Commander) TColor ¶
TColor returns a string corresponding to the given foreground and background colors. Either fg or bg can be set to -1 to elide.
func (*Commander) TParam ¶
TParam takes a info parameterized string, such as setaf or cup, and evaluates the string, and returns the result with the parameter applied.
func (*Commander) WriteBothColors ¶
func (*Commander) WriteBytes ¶
WriteString emits the string to the writer, but expands inline padding indications (of the form $<[delay]> where [delay] is msec) to a suitable time (unless the info string indicates this isn't needed by specifying npc - no padding). All Term based strings should be emitted using this function.
func (*Commander) WriteColor ¶
func (*Commander) WriteString ¶
WriteString emits the string to the writer, but expands inline padding indications (of the form $<[delay]> where [delay] is msec) to a suitable time (unless the info string indicates this isn't needed by specifying npc - no padding). All Term based strings should be emitted using this function.
type Term ¶
type Term struct { Columns int // cols Width int Lines int // lines Height int Colors int // colors Modifiers int Name string Bell string // bell Clear string // clear EnterCA string // smcup ExitCA string // rmcup ShowCursor string // cnorm HideCursor string // civis AttrOff string // sgr0 Underline string // smul Bold string // bold Blink string // blink Reverse string // rev Dim string // dim Italic string // sitm EnterKeypad string // smkx ExitKeypad string // rmkx SetFg string // setaf SetBg string // setab ResetFgBg string // op SetCursor string // cup CursorBack1 string // cub1 CursorUp1 string // cuu1 PadChar string // pad KeyBackspace string // kbs KeyF1 string // kf1 KeyF2 string // kf2 KeyF3 string // kf3 KeyF4 string // kf4 KeyF5 string // kf5 KeyF6 string // kf6 KeyF7 string // kf7 KeyF8 string // kf8 KeyF9 string // kf9 KeyF10 string // kf10 KeyF11 string // kf11 KeyF12 string // kf12 KeyInsert string // kich1 KeyDelete string // kdch1 KeyHome string // khome KeyEnd string // kend KeyHelp string // khlp KeyPgUp string // kpp KeyPgDn string // knp KeyUp string // kcuu1 KeyDown string // kcud1 KeyLeft string // kcub1 KeyRight string // kcuf1 KeyBacktab string // kcbt KeyExit string // kext KeyClear string // kclr KeyPrint string // kprt KeyCancel string // kcan Mouse string // kmous MouseMode string // XM AltChars string // acsc EnterAcs string // smacs ExitAcs string // rmacs EnableAcs string // enacs KeyShfRight string // kRIT KeyShfLeft string // kLFT KeyShfHome string // kHOM KeyShfEnd string // kEND KeyShfInsert string // kIC KeyShfDelete string // kDC StrikeThrough string // smxx SetFgBg string // setfgbg SetFgBgRGB string // setfgbgrgb SetFgRGB string // setfrgb SetBgRGB string // setbrgb KeyShfUp string // shift-up KeyShfDown string // shift-down KeyShfPgUp string // shift-kpp KeyShfPgDn string // shift-knp KeyCtrlUp string // ctrl-up KeyCtrlDown string // ctrl-left KeyCtrlRight string // ctrl-right KeyCtrlLeft string // ctrl-left KeyMetaUp string // meta-up KeyMetaDown string // meta-left KeyMetaRight string // meta-right KeyMetaLeft string // meta-left KeyAltUp string // alt-up KeyAltDown string // alt-left KeyAltRight string // alt-right KeyAltLeft string // alt-left KeyCtrlHome string KeyCtrlEnd string KeyMetaHome string KeyMetaEnd string KeyAltHome string KeyAltEnd string KeyAltShfUp string KeyAltShfDown string KeyAltShfLeft string KeyAltShfRight string KeyMetaShfUp string KeyMetaShfDown string KeyMetaShfLeft string KeyMetaShfRight string KeyCtrlShfUp string KeyCtrlShfDown string KeyCtrlShfLeft string KeyCtrlShfRight string KeyCtrlShfHome string KeyCtrlShfEnd string KeyAltShfHome string KeyAltShfEnd string KeyMetaShfHome string KeyMetaShfEnd string Aliases []string TrueColor bool // true if the terminal supports direct color }
Term represents a info entry. Note that we use friendly names in Go, but when we write out JSON, we use the same names as info. The name, aliases and smous, rmous fields do not come from info directly.
func LookupTerminfo ¶
LookupTerminfo attempts to find a definition for the named $TERM.