171124.1 · 8f0846977269a85991c04ce90a04a9f6610c5421
fixes #167 Break up the database
This completely restructures the database of terminal types, putting each terminal in its own file. We also compress the database files, and use infocmp instead of trying to use the C level API.
The mkdatabase script will rebuild the entire database from the terminfo files on the system. Individual entries can also be built by simply running the mkinfo program with the terminal type.
reading declarations
@@ -1,3 +1,4 @@ Garrett D'Amore <garrett@damore.org> Zachary Yedidia <zyedidia@gmail.com> Junegunn Choi <junegunn.c@gmail.com>+Staysail Systems, Inc. <info@staysail.tech>
TERMINALS.md
@@ -1,7 +0,0 @@-TERMINALS-=========--The best way to populate terminals on Debian is to install ncurses,-ncurses-term, screen, tmux, rxvt-unicode, and dvtm. This populates the-the terminfo database so that we can have a reasonable set of starting-terminals.
aliases.txt
@@ -1,15 +0,0 @@-d200-dg=d200-d214=d210-Eterm-color=Eterm-X-hpterm=hpterm-sun1=sun-sun2=sun-tvi914=tvi912-tvi920=tvi912-vt100-am=vt100-vt200=vt220-vt300=vt320-vt400-24=vt400-dec-vt400=vt400-wyse50=wy50-wyse60=wy60
database.go
@@ -1,3588 +0,0 @@-// Generated by ./mkinfo (darwin/amd64) on Wed Oct 19 12:08:58 PDT 2016.-// DO NOT HAND-EDIT--package tcell--func init() {- AddTerminfo(&Terminfo{- Name: "adm3a",- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1a$<1/>",- PadChar: "\x00",- SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",- CursorBack1: "\b",- CursorUp1: "\v",- KeyUp: "\v",- KeyDown: "\n",- KeyRight: "\f",- KeyLeft: "\b",- })- AddTerminfo(&Terminfo{- Name: "aixterm",- Columns: 80,- Lines: 25,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[J",- AttrOff: "\x1b[0;10m\x1b(B",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Reverse: "\x1b[7m",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "jjkkllmmnnqqttuuvvwwxx",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[139q",- KeyDelete: "\x1b[P",- KeyBackspace: "\b",- KeyHome: "\x1b[H",- KeyEnd: "\x1b[146q",- KeyPgUp: "\x1b[150q",- KeyPgDn: "\x1b[154q",- KeyF1: "\x1b[001q",- KeyF2: "\x1b[002q",- KeyF3: "\x1b[003q",- KeyF4: "\x1b[004q",- KeyF5: "\x1b[005q",- KeyF6: "\x1b[006q",- KeyF7: "\x1b[007q",- KeyF8: "\x1b[008q",- KeyF9: "\x1b[009q",- KeyF10: "\x1b[010q",- KeyF11: "\x1b[011q",- KeyF12: "\x1b[012q",- KeyF13: "\x1b[013q",- KeyF14: "\x1b[014q",- KeyF15: "\x1b[015q",- KeyF16: "\x1b[016q",- KeyF17: "\x1b[017q",- KeyF18: "\x1b[018q",- KeyF19: "\x1b[019q",- KeyF20: "\x1b[020q",- KeyF21: "\x1b[021q",- KeyF22: "\x1b[022q",- KeyF23: "\x1b[023q",- KeyF24: "\x1b[024q",- KeyF25: "\x1b[025q",- KeyF26: "\x1b[026q",- KeyF27: "\x1b[027q",- KeyF28: "\x1b[028q",- KeyF29: "\x1b[029q",- KeyF30: "\x1b[030q",- KeyF31: "\x1b[031q",- KeyF32: "\x1b[032q",- KeyF33: "\x1b[033q",- KeyF34: "\x1b[034q",- KeyF35: "\x1b[035q",- KeyF36: "\x1b[036q",- KeyClear: "\x1b[144q",- KeyBacktab: "\x1b[Z",- })- AddTerminfo(&Terminfo{- Name: "ansi",- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[J",- AttrOff: "\x1b[0;10m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "+\x10,\x11-\x18.\x190\xdb`\x04a\xb1f\xf8g\xf1h\xb0j\xd9k\xbfl\xdam\xc0n\xc5o~p\xc4q\xc4r\xc4s_t\xc3u\xb4v\xc1w\xc2x\xb3y\xf3z\xf2{\xe3|\xd8}\x9c~\xfe",- EnterAcs: "\x1b[11m",- ExitAcs: "\x1b[10m",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\x1b[D",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[L",- KeyBackspace: "\b",- KeyHome: "\x1b[H",- KeyBacktab: "\x1b[Z",- })- AddTerminfo(&Terminfo{- Name: "aterm",- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b=",- ExitKeypad: "\x1b>",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b(B\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\u007f",- KeyHome: "\x1b[7~",- KeyEnd: "\x1b[8~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- KeyF21: "\x1b[23$",- KeyF22: "\x1b[24$",- KeyF23: "\x1b[11^",- KeyF24: "\x1b[12^",- KeyF25: "\x1b[13^",- KeyF26: "\x1b[14^",- KeyF27: "\x1b[15^",- KeyF28: "\x1b[17^",- KeyF29: "\x1b[18^",- KeyF30: "\x1b[19^",- KeyF31: "\x1b[20^",- KeyF32: "\x1b[21^",- KeyF33: "\x1b[23^",- KeyF34: "\x1b[24^",- KeyF35: "\x1b[25^",- KeyF36: "\x1b[26^",- KeyF37: "\x1b[28^",- KeyF38: "\x1b[29^",- KeyF39: "\x1b[31^",- KeyF40: "\x1b[32^",- KeyF41: "\x1b[33^",- KeyF42: "\x1b[34^",- KeyF43: "\x1b[23@",- KeyF44: "\x1b[24@",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[d",- KeyShfRight: "\x1b[c",- KeyShfUp: "\x1b[a",- KeyShfDown: "\x1b[b",- KeyCtrlLeft: "\x1b[Od",- KeyCtrlRight: "\x1b[Oc",- KeyCtrlUp: "\x1b[Oa",- KeyCtrlDown: "\x1b[Ob",- KeyShfHome: "\x1b[7$",- KeyShfEnd: "\x1b[8$",- KeyCtrlHome: "\x1b[7^",- KeyCtrlEnd: "\x1b[8^",- })- AddTerminfo(&Terminfo{- Name: "beterm",- Columns: 80,- Lines: 25,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[J",- AttrOff: "\x1b[0;10m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?4h",- ExitKeypad: "\x1b[?4l",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1b[1~",- KeyEnd: "\x1b[4~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1b[11~",- KeyF2: "\x1b[12~",- KeyF3: "\x1b[13~",- KeyF4: "\x1b[14~",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[16~",- KeyF7: "\x1b[17~",- KeyF8: "\x1b[18~",- KeyF9: "\x1b[19~",- KeyF10: "\x1b[20~",- KeyF11: "\x1b[21~",- KeyF12: "\x1b[22~",- })- AddTerminfo(&Terminfo{- Name: "bsdos-pc",- Columns: 80,- Lines: 25,- Colors: 8,- Bell: "\a",- Clear: "\x1bc",- AttrOff: "\x1b[0;10m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "+\x10,\x11-\x18.\x190\xdb`\x04a\xb1f\xf8g\xf1h\xb0j\xd9k\xbfl\xdam\xc0n\xc5o~p\xc4q\xc4r\xc4s_t\xc3u\xb4v\xc1w\xc2x\xb3y\xf3z\xf2{\xe3|\xd8}\x9c~\xfe",- EnterAcs: "\x1b[11m",- ExitAcs: "\x1b[10m",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[L",- KeyBackspace: "\b",- KeyHome: "\x1b[H",- KeyPgUp: "\x1b[I",- KeyPgDn: "\x1b[G",- })- AddTerminfo(&Terminfo{- Name: "cygwin",- Columns: -1,- Lines: -1,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- AttrOff: "\x1b[0;10m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Reverse: "\x1b[7m",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "+\x10,\x11-\x18.\x190\xdb`\x04a\xb1f\xf8g\xf1h\xb0j\xd9k\xbfl\xdam\xc0n\xc5o~p\xc4q\xc4r\xc4s_t\xc3u\xb4v\xc1w\xc2x\xb3y\xf3z\xf2{\xe3|\xd8}\x9c~\xfe",- EnterAcs: "\x1b[11m",- ExitAcs: "\x1b[10m",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1b[1~",- KeyEnd: "\x1b[4~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1b[[A",- KeyF2: "\x1b[[B",- KeyF3: "\x1b[[C",- KeyF4: "\x1b[[D",- KeyF5: "\x1b[[E",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- })- AddTerminfo(&Terminfo{- Name: "d200",- Aliases: []string{"d200-dg"},- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\f",- AttrOff: "\x0f\x15\x1d\x1eE",- Underline: "\x14",- Bold: "\x1eD\x14",- Dim: "\x1c",- Blink: "\x0e",- Reverse: "\x1eD",- PadChar: "\x00",- SetCursor: "\x10%p2%c%p1%c",- CursorBack1: "\x19",- CursorUp1: "\x17",- KeyUp: "\x17",- KeyDown: "\x1a",- KeyRight: "\x18",- KeyLeft: "\x19",- KeyHome: "\b",- KeyF1: "\x1eq",- KeyF2: "\x1er",- KeyF3: "\x1es",- KeyF4: "\x1et",- KeyF5: "\x1eu",- KeyF6: "\x1ev",- KeyF7: "\x1ew",- KeyF8: "\x1ex",- KeyF9: "\x1ey",- KeyF10: "\x1ez",- KeyF11: "\x1e{",- KeyF12: "\x1e|",- KeyF13: "\x1e}",- KeyF14: "\x1e~",- KeyF15: "\x1ep",- KeyF16: "\x1ea",- KeyF17: "\x1eb",- KeyF18: "\x1ec",- KeyF19: "\x1ed",- KeyF20: "\x1ee",- KeyF21: "\x1ef",- KeyF22: "\x1eg",- KeyF23: "\x1eh",- KeyF24: "\x1ei",- KeyF25: "\x1ej",- KeyF26: "\x1ek",- KeyF27: "\x1el",- KeyF28: "\x1em",- KeyF29: "\x1en",- KeyF30: "\x1e`",- KeyF31: "\x1e1",- KeyF32: "\x1e2",- KeyF33: "\x1e3",- KeyF34: "\x1e4",- KeyF35: "\x1e5",- KeyF36: "\x1e6",- KeyF37: "\x1e7",- KeyF38: "\x1e8",- KeyF39: "\x1e9",- KeyF40: "\x1e:",- KeyF41: "\x1e;",- KeyF42: "\x1e<",- KeyF43: "\x1e=",- KeyF44: "\x1e>",- KeyF45: "\x1e0",- KeyF46: "\x1e!",- KeyF47: "\x1e\"",- KeyF48: "\x1e#",- KeyF49: "\x1e$",- KeyF50: "\x1e%%",- KeyF51: "\x1e&",- KeyF52: "\x1e'",- KeyF53: "\x1e(",- KeyF54: "\x1e)",- KeyF55: "\x1e*",- KeyF56: "\x1e+",- KeyF57: "\x1e,",- KeyF58: "\x1e-",- KeyF59: "\x1e.",- KeyF60: "\x1e ",- KeyClear: "\f",- KeyShfLeft: "\x1e\x19",- KeyShfRight: "\x1e\x18",- KeyShfHome: "\x1e\b",- })- AddTerminfo(&Terminfo{- Name: "d210",- Aliases: []string{"d214"},- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1b[2J",- AttrOff: "\x1b[m",- Underline: "\x1b[4m",- Bold: "\x1b[4;7m",- Dim: "\x1b[2m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- PadChar: "\x00",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyHome: "\x1b[H",- KeyF1: "\x1b[001z",- KeyF2: "\x1b[002z",- KeyF3: "\x1b[003z",- KeyF4: "\x1b[004z",- KeyF5: "\x1b[005z",- KeyF6: "\x1b[006z",- KeyF7: "\x1b[007z",- KeyF8: "\x1b[008z",- KeyF9: "\x1b[009z",- KeyF10: "\x1b[010z",- KeyF11: "\x1b[011z",- KeyF12: "\x1b[012z",- KeyF13: "\x1b[013z",- KeyF14: "\x1b[014z",- KeyF15: "\x1b[000z",- KeyF16: "\x1b[101z",- KeyF17: "\x1b[102z",- KeyF18: "\x1b[103z",- KeyF19: "\x1b[104z",- KeyF20: "\x1b[105z",- KeyF21: "\x1b[106z",- KeyF22: "\x1b[107z",- KeyF23: "\x1b[108z",- KeyF24: "\x1b[109z",- KeyF25: "\x1b[110z",- KeyF26: "\x1b[111z",- KeyF27: "\x1b[112z",- KeyF28: "\x1b[113z",- KeyF29: "\x1b[114z",- KeyF30: "\x1b[100z",- KeyF31: "\x1b[201z",- KeyF32: "\x1b[202z",- KeyF33: "\x1b[203z",- KeyF34: "\x1b[204z",- KeyF35: "\x1b[205z",- KeyF36: "\x1b[206z",- KeyF37: "\x1b[207z",- KeyF38: "\x1b[208z",- KeyF39: "\x1b[209z",- KeyF40: "\x1b[210z",- KeyF41: "\x1b[211z",- KeyF42: "\x1b[212z",- KeyF43: "\x1b[213z",- KeyF44: "\x1b[214z",- KeyF45: "\x1b[200z",- KeyF46: "\x1b[301z",- KeyF47: "\x1b[302z",- KeyF48: "\x1b[303z",- KeyF49: "\x1b[304z",- KeyF50: "\x1b[305z",- KeyF51: "\x1b[306z",- KeyF52: "\x1b[307z",- KeyF53: "\x1b[308z",- KeyF54: "\x1b[309z",- KeyF55: "\x1b[310z",- KeyF56: "\x1b[311z",- KeyF57: "\x1b[312z",- KeyF58: "\x1b[313z",- KeyF59: "\x1b[314z",- KeyF60: "\x1b[300z",- KeyPrint: "\x1b[i",- KeyClear: "\x1b[2J",- })- AddTerminfo(&Terminfo{- Name: "dtterm",- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[J",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Dim: "\x1b[2m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b(B\x1b)0",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1b[11~",- KeyF2: "\x1b[12~",- KeyF3: "\x1b[13~",- KeyF4: "\x1b[14~",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- KeyHelp: "\x1b[28~",- })- AddTerminfo(&Terminfo{- Name: "Eterm",- Aliases: []string{"Eterm-color"},- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1b[7~",- KeyEnd: "\x1b[8~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1b[11~",- KeyF2: "\x1b[12~",- KeyF3: "\x1b[13~",- KeyF4: "\x1b[14~",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- KeyF21: "\x1b[23$",- KeyF22: "\x1b[24$",- KeyF23: "\x1b[11^",- KeyF24: "\x1b[12^",- KeyF25: "\x1b[13^",- KeyF26: "\x1b[14^",- KeyF27: "\x1b[15^",- KeyF28: "\x1b[17^",- KeyF29: "\x1b[18^",- KeyF30: "\x1b[19^",- KeyF31: "\x1b[20^",- KeyF32: "\x1b[21^",- KeyF33: "\x1b[23^",- KeyF34: "\x1b[24^",- KeyF35: "\x1b[25^",- KeyF36: "\x1b[26^",- KeyF37: "\x1b[28^",- KeyF38: "\x1b[29^",- KeyF39: "\x1b[31^",- KeyF40: "\x1b[32^",- KeyF41: "\x1b[33^",- KeyF42: "\x1b[34^",- KeyF43: "\x1b[23@",- KeyF44: "\x1b[24@",- KeyHelp: "\x1b[28~",- KeyShfLeft: "\x1b[d",- KeyShfRight: "\x1b[c",- KeyShfUp: "\x1b[a",- KeyShfDown: "\x1b[b",- KeyCtrlLeft: "\x1b[Od",- KeyCtrlRight: "\x1b[Oc",- KeyCtrlUp: "\x1b[Oa",- KeyCtrlDown: "\x1b[Ob",- KeyShfHome: "\x1b[7$",- KeyShfEnd: "\x1b[8$",- KeyCtrlHome: "\x1b[7^",- KeyCtrlEnd: "\x1b[8^",- })- AddTerminfo(&Terminfo{- Name: "Eterm-256color",- Columns: 80,- Lines: 24,- Colors: 256,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",- SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",- SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1b[7~",- KeyEnd: "\x1b[8~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1b[11~",- KeyF2: "\x1b[12~",- KeyF3: "\x1b[13~",- KeyF4: "\x1b[14~",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- KeyF21: "\x1b[23$",- KeyF22: "\x1b[24$",- KeyF23: "\x1b[11^",- KeyF24: "\x1b[12^",- KeyF25: "\x1b[13^",- KeyF26: "\x1b[14^",- KeyF27: "\x1b[15^",- KeyF28: "\x1b[17^",- KeyF29: "\x1b[18^",- KeyF30: "\x1b[19^",- KeyF31: "\x1b[20^",- KeyF32: "\x1b[21^",- KeyF33: "\x1b[23^",- KeyF34: "\x1b[24^",- KeyF35: "\x1b[25^",- KeyF36: "\x1b[26^",- KeyF37: "\x1b[28^",- KeyF38: "\x1b[29^",- KeyF39: "\x1b[31^",- KeyF40: "\x1b[32^",- KeyF41: "\x1b[33^",- KeyF42: "\x1b[34^",- KeyF43: "\x1b[23@",- KeyF44: "\x1b[24@",- KeyHelp: "\x1b[28~",- KeyShfLeft: "\x1b[d",- KeyShfRight: "\x1b[c",- KeyShfUp: "\x1b[a",- KeyShfDown: "\x1b[b",- KeyCtrlLeft: "\x1b[Od",- KeyCtrlRight: "\x1b[Oc",- KeyCtrlUp: "\x1b[Oa",- KeyCtrlDown: "\x1b[Ob",- KeyShfHome: "\x1b[7$",- KeyShfEnd: "\x1b[8$",- KeyCtrlHome: "\x1b[7^",- KeyCtrlEnd: "\x1b[8^",- })- AddTerminfo(&Terminfo{- Name: "eterm",- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1b[H\x1b[J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- AttrOff: "\x1b[m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Reverse: "\x1b[7m",- PadChar: "\x00",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- })- AddTerminfo(&Terminfo{- Name: "gnome",- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[0m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\u007f",- KeyHome: "\x1bOH",- KeyEnd: "\x1bOF",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1bO1;2P",- KeyF14: "\x1bO1;2Q",- KeyF15: "\x1bO1;2R",- KeyF16: "\x1bO1;2S",- KeyF17: "\x1b[15;2~",- KeyF18: "\x1b[17;2~",- KeyF19: "\x1b[18;2~",- KeyF20: "\x1b[19;2~",- KeyF21: "\x1b[20;2~",- KeyF22: "\x1b[21;2~",- KeyF23: "\x1b[23;2~",- KeyF24: "\x1b[24;2~",- KeyF25: "\x1bO1;5P",- KeyF26: "\x1bO1;5Q",- KeyF27: "\x1bO1;5R",- KeyF28: "\x1bO1;5S",- KeyF29: "\x1b[15;5~",- KeyF30: "\x1b[17;5~",- KeyF31: "\x1b[18;5~",- KeyF32: "\x1b[19;5~",- KeyF33: "\x1b[20;5~",- KeyF34: "\x1b[21;5~",- KeyF35: "\x1b[23;5~",- KeyF36: "\x1b[24;5~",- KeyF37: "\x1bO1;6P",- KeyF38: "\x1bO1;6Q",- KeyF39: "\x1bO1;6R",- KeyF40: "\x1bO1;6S",- KeyF41: "\x1b[15;6~",- KeyF42: "\x1b[17;6~",- KeyF43: "\x1b[18;6~",- KeyF44: "\x1b[19;6~",- KeyF45: "\x1b[20;6~",- KeyF46: "\x1b[21;6~",- KeyF47: "\x1b[23;6~",- KeyF48: "\x1b[24;6~",- KeyF49: "\x1bO1;3P",- KeyF50: "\x1bO1;3Q",- KeyF51: "\x1bO1;3R",- KeyF52: "\x1bO1;3S",- KeyF53: "\x1b[15;3~",- KeyF54: "\x1b[17;3~",- KeyF55: "\x1b[18;3~",- KeyF56: "\x1b[19;3~",- KeyF57: "\x1b[20;3~",- KeyF58: "\x1b[21;3~",- KeyF59: "\x1b[23;3~",- KeyF60: "\x1b[24;3~",- KeyF61: "\x1bO1;4P",- KeyF62: "\x1bO1;4Q",- KeyF63: "\x1bO1;4R",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[1;2D",- KeyShfRight: "\x1b[1;2C",- KeyShfUp: "\x1b[1;2A",- KeyShfDown: "\x1b[1;2B",- KeyCtrlLeft: "\x1b[1;5D",- KeyCtrlRight: "\x1b[1;5C",- KeyCtrlUp: "\x1b[1;5A",- KeyCtrlDown: "\x1b[1;5B",- KeyMetaLeft: "\x1b[1;9D",- KeyMetaRight: "\x1b[1;9C",- KeyMetaUp: "\x1b[1;9A",- KeyMetaDown: "\x1b[1;9B",- KeyAltLeft: "\x1b[1;3D",- KeyAltRight: "\x1b[1;3C",- KeyAltUp: "\x1b[1;3A",- KeyAltDown: "\x1b[1;3B",- KeyAltShfLeft: "\x1b[1;4D",- KeyAltShfRight: "\x1b[1;4C",- KeyAltShfUp: "\x1b[1;4A",- KeyAltShfDown: "\x1b[1;4B",- KeyMetaShfLeft: "\x1b[1;10D",- KeyMetaShfRight: "\x1b[1;10C",- KeyMetaShfUp: "\x1b[1;10A",- KeyMetaShfDown: "\x1b[1;10B",- KeyCtrlShfLeft: "\x1b[1;6D",- KeyCtrlShfRight: "\x1b[1;6C",- KeyCtrlShfUp: "\x1b[1;6A",- KeyCtrlShfDown: "\x1b[1;6B",- KeyShfHome: "\x1b[1;2H",- KeyShfEnd: "\x1b[1;2F",- KeyCtrlHome: "\x1b[1;5H",- KeyCtrlEnd: "\x1b[1;5F",- KeyAltHome: "\x1b[1;9H",- KeyAltEnd: "\x1b[1;9F",- KeyCtrlShfHome: "\x1b[1;6H",- KeyCtrlShfEnd: "\x1b[1;6F",- KeyMetaShfHome: "\x1b[1;10H",- KeyMetaShfEnd: "\x1b[1;10F",- KeyAltShfHome: "\x1b[1;4H",- KeyAltShfEnd: "\x1b[1;4F",- })- AddTerminfo(&Terminfo{- Name: "gnome-256color",- Columns: 80,- Lines: 24,- Colors: 256,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[0m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",- SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",- SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",- PadChar: "\x00",- AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\u007f",- KeyHome: "\x1bOH",- KeyEnd: "\x1bOF",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1bO1;2P",- KeyF14: "\x1bO1;2Q",- KeyF15: "\x1bO1;2R",- KeyF16: "\x1bO1;2S",- KeyF17: "\x1b[15;2~",- KeyF18: "\x1b[17;2~",- KeyF19: "\x1b[18;2~",- KeyF20: "\x1b[19;2~",- KeyF21: "\x1b[20;2~",- KeyF22: "\x1b[21;2~",- KeyF23: "\x1b[23;2~",- KeyF24: "\x1b[24;2~",- KeyF25: "\x1bO1;5P",- KeyF26: "\x1bO1;5Q",- KeyF27: "\x1bO1;5R",- KeyF28: "\x1bO1;5S",- KeyF29: "\x1b[15;5~",- KeyF30: "\x1b[17;5~",- KeyF31: "\x1b[18;5~",- KeyF32: "\x1b[19;5~",- KeyF33: "\x1b[20;5~",- KeyF34: "\x1b[21;5~",- KeyF35: "\x1b[23;5~",- KeyF36: "\x1b[24;5~",- KeyF37: "\x1bO1;6P",- KeyF38: "\x1bO1;6Q",- KeyF39: "\x1bO1;6R",- KeyF40: "\x1bO1;6S",- KeyF41: "\x1b[15;6~",- KeyF42: "\x1b[17;6~",- KeyF43: "\x1b[18;6~",- KeyF44: "\x1b[19;6~",- KeyF45: "\x1b[20;6~",- KeyF46: "\x1b[21;6~",- KeyF47: "\x1b[23;6~",- KeyF48: "\x1b[24;6~",- KeyF49: "\x1bO1;3P",- KeyF50: "\x1bO1;3Q",- KeyF51: "\x1bO1;3R",- KeyF52: "\x1bO1;3S",- KeyF53: "\x1b[15;3~",- KeyF54: "\x1b[17;3~",- KeyF55: "\x1b[18;3~",- KeyF56: "\x1b[19;3~",- KeyF57: "\x1b[20;3~",- KeyF58: "\x1b[21;3~",- KeyF59: "\x1b[23;3~",- KeyF60: "\x1b[24;3~",- KeyF61: "\x1bO1;4P",- KeyF62: "\x1bO1;4Q",- KeyF63: "\x1bO1;4R",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[1;2D",- KeyShfRight: "\x1b[1;2C",- KeyShfUp: "\x1b[1;2A",- KeyShfDown: "\x1b[1;2B",- KeyCtrlLeft: "\x1b[1;5D",- KeyCtrlRight: "\x1b[1;5C",- KeyCtrlUp: "\x1b[1;5A",- KeyCtrlDown: "\x1b[1;5B",- KeyMetaLeft: "\x1b[1;9D",- KeyMetaRight: "\x1b[1;9C",- KeyMetaUp: "\x1b[1;9A",- KeyMetaDown: "\x1b[1;9B",- KeyAltLeft: "\x1b[1;3D",- KeyAltRight: "\x1b[1;3C",- KeyAltUp: "\x1b[1;3A",- KeyAltDown: "\x1b[1;3B",- KeyAltShfLeft: "\x1b[1;4D",- KeyAltShfRight: "\x1b[1;4C",- KeyAltShfUp: "\x1b[1;4A",- KeyAltShfDown: "\x1b[1;4B",- KeyMetaShfLeft: "\x1b[1;10D",- KeyMetaShfRight: "\x1b[1;10C",- KeyMetaShfUp: "\x1b[1;10A",- KeyMetaShfDown: "\x1b[1;10B",- KeyCtrlShfLeft: "\x1b[1;6D",- KeyCtrlShfRight: "\x1b[1;6C",- KeyCtrlShfUp: "\x1b[1;6A",- KeyCtrlShfDown: "\x1b[1;6B",- KeyShfHome: "\x1b[1;2H",- KeyShfEnd: "\x1b[1;2F",- KeyCtrlHome: "\x1b[1;5H",- KeyCtrlEnd: "\x1b[1;5F",- KeyAltHome: "\x1b[1;9H",- KeyAltEnd: "\x1b[1;9F",- KeyCtrlShfHome: "\x1b[1;6H",- KeyCtrlShfEnd: "\x1b[1;6F",- KeyMetaShfHome: "\x1b[1;10H",- KeyMetaShfEnd: "\x1b[1;10F",- KeyAltShfHome: "\x1b[1;4H",- KeyAltShfEnd: "\x1b[1;4F",- })- AddTerminfo(&Terminfo{- Name: "hpterm",- Aliases: []string{"X-hpterm"},- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1b&a0y0C\x1bJ",- AttrOff: "\x1b&d@",- Underline: "\x1b&dD",- Bold: "\x1b&dB",- Dim: "\x1b&dH",- Reverse: "\x1b&dB",- EnterKeypad: "\x1b&s1A",- ExitKeypad: "\x1b&s0A",- PadChar: "\x00",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- SetCursor: "\x1b&a%p1%dy%p2%dC",- CursorBack1: "\b",- CursorUp1: "\x1bA",- KeyUp: "\x1bA",- KeyDown: "\x1bB",- KeyRight: "\x1bC",- KeyLeft: "\x1bD",- KeyInsert: "\x1bQ",- KeyDelete: "\x1bP",- KeyBackspace: "\b",- KeyHome: "\x1bh",- KeyPgUp: "\x1bV",- KeyPgDn: "\x1bU",- KeyF1: "\x1bp",- KeyF2: "\x1bq",- KeyF3: "\x1br",- KeyF4: "\x1bs",- KeyF5: "\x1bt",- KeyF6: "\x1bu",- KeyF7: "\x1bv",- KeyF8: "\x1bw",- KeyClear: "\x1bJ",- })- AddTerminfo(&Terminfo{- Name: "hz1500",- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "~\x1c",- PadChar: "\x00",- SetCursor: "~\x11%p2%p2%?%{30}%>%t%' '%+%;%'`'%+%c%p1%'`'%+%c",- CursorBack1: "\b",- CursorUp1: "~\f",- KeyUp: "~\f",- KeyDown: "\n",- KeyRight: "\x10",- KeyLeft: "\b",- KeyHome: "~\x12",- })- AddTerminfo(&Terminfo{- Name: "konsole",- Columns: 80,- Lines: 24,- Colors: 8,- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[0m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\u007f",- KeyHome: "\x1bOH",- KeyEnd: "\x1bOF",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1bO2P",- KeyF14: "\x1bO2Q",- KeyF15: "\x1bO2R",- KeyF16: "\x1bO2S",- KeyF17: "\x1b[15;2~",- KeyF18: "\x1b[17;2~",- KeyF19: "\x1b[18;2~",- KeyF20: "\x1b[19;2~",- KeyF21: "\x1b[20;2~",- KeyF22: "\x1b[21;2~",- KeyF23: "\x1b[23;2~",- KeyF24: "\x1b[24;2~",- KeyF25: "\x1bO5P",- KeyF26: "\x1bO5Q",- KeyF27: "\x1bO5R",- KeyF28: "\x1bO5S",- KeyF29: "\x1b[15;5~",- KeyF30: "\x1b[17;5~",- KeyF31: "\x1b[18;5~",- KeyF32: "\x1b[19;5~",- KeyF33: "\x1b[20;5~",- KeyF34: "\x1b[21;5~",- KeyF35: "\x1b[23;5~",- KeyF36: "\x1b[24;5~",- KeyF37: "\x1bO6P",- KeyF38: "\x1bO6Q",- KeyF39: "\x1bO6R",- KeyF40: "\x1bO6S",- KeyF41: "\x1b[15;6~",- KeyF42: "\x1b[17;6~",- KeyF43: "\x1b[18;6~",- KeyF44: "\x1b[19;6~",- KeyF45: "\x1b[20;6~",- KeyF46: "\x1b[21;6~",- KeyF47: "\x1b[23;6~",- KeyF48: "\x1b[24;6~",- KeyF49: "\x1bO3P",- KeyF50: "\x1bO3Q",- KeyF51: "\x1bO3R",- KeyF52: "\x1bO3S",- KeyF53: "\x1b[15;3~",- KeyF54: "\x1b[17;3~",- KeyF55: "\x1b[18;3~",- KeyF56: "\x1b[19;3~",- KeyF57: "\x1b[20;3~",- KeyF58: "\x1b[21;3~",- KeyF59: "\x1b[23;3~",- KeyF60: "\x1b[24;3~",- KeyF61: "\x1bO4P",- KeyF62: "\x1bO4Q",- KeyF63: "\x1bO4R",- KeyBacktab: "\x1b[Z",- })- AddTerminfo(&Terminfo{- Name: "konsole-256color",- Columns: 80,- Lines: 24,- Colors: 256,- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[0m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",- SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",- SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",- AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\u007f",- KeyHome: "\x1bOH",- KeyEnd: "\x1bOF",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1bO2P",- KeyF14: "\x1bO2Q",- KeyF15: "\x1bO2R",- KeyF16: "\x1bO2S",- KeyF17: "\x1b[15;2~",- KeyF18: "\x1b[17;2~",- KeyF19: "\x1b[18;2~",- KeyF20: "\x1b[19;2~",- KeyF21: "\x1b[20;2~",- KeyF22: "\x1b[21;2~",- KeyF23: "\x1b[23;2~",- KeyF24: "\x1b[24;2~",- KeyF25: "\x1bO5P",- KeyF26: "\x1bO5Q",- KeyF27: "\x1bO5R",- KeyF28: "\x1bO5S",- KeyF29: "\x1b[15;5~",- KeyF30: "\x1b[17;5~",- KeyF31: "\x1b[18;5~",- KeyF32: "\x1b[19;5~",- KeyF33: "\x1b[20;5~",- KeyF34: "\x1b[21;5~",- KeyF35: "\x1b[23;5~",- KeyF36: "\x1b[24;5~",- KeyF37: "\x1bO6P",- KeyF38: "\x1bO6Q",- KeyF39: "\x1bO6R",- KeyF40: "\x1bO6S",- KeyF41: "\x1b[15;6~",- KeyF42: "\x1b[17;6~",- KeyF43: "\x1b[18;6~",- KeyF44: "\x1b[19;6~",- KeyF45: "\x1b[20;6~",- KeyF46: "\x1b[21;6~",- KeyF47: "\x1b[23;6~",- KeyF48: "\x1b[24;6~",- KeyF49: "\x1bO3P",- KeyF50: "\x1bO3Q",- KeyF51: "\x1bO3R",- KeyF52: "\x1bO3S",- KeyF53: "\x1b[15;3~",- KeyF54: "\x1b[17;3~",- KeyF55: "\x1b[18;3~",- KeyF56: "\x1b[19;3~",- KeyF57: "\x1b[20;3~",- KeyF58: "\x1b[21;3~",- KeyF59: "\x1b[23;3~",- KeyF60: "\x1b[24;3~",- KeyF61: "\x1bO4P",- KeyF62: "\x1bO4Q",- KeyF63: "\x1bO4R",- KeyBacktab: "\x1b[Z",- })- AddTerminfo(&Terminfo{- Name: "kterm",- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- AttrOff: "\x1b[m\x1b(B",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "``aajjkkllmmnnooppqqrrssttuuvvwwxx~~",- EnterAcs: "\x1b(0",- ExitAcs: "\x1b(B",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1b[11~",- KeyF2: "\x1b[12~",- KeyF3: "\x1b[13~",- KeyF4: "\x1b[14~",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- })- AddTerminfo(&Terminfo{- Name: "linux",- Columns: -1,- Lines: -1,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[J",- ShowCursor: "\x1b[?25h\x1b[?0c",- HideCursor: "\x1b[?25l\x1b[?1c",- AttrOff: "\x1b[0;10m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Dim: "\x1b[2m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "+\x10,\x11-\x18.\x190\xdb`\x04a\xb1f\xf8g\xf1h\xb0i\xcej\xd9k\xbfl\xdam\xc0n\xc5o~p\xc4q\xc4r\xc4s_t\xc3u\xb4v\xc1w\xc2x\xb3y\xf3z\xf2{\xe3|\xd8}\x9c~\xfe",- EnterAcs: "\x1b[11m",- ExitAcs: "\x1b[10m",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\u007f",- KeyHome: "\x1b[1~",- KeyEnd: "\x1b[4~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1b[[A",- KeyF2: "\x1b[[B",- KeyF3: "\x1b[[C",- KeyF4: "\x1b[[D",- KeyF5: "\x1b[[E",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- KeyBacktab: "\x1b[Z",- })- AddTerminfo(&Terminfo{- Name: "pcansi",- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[J",- AttrOff: "\x1b[0;10m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "+\x10,\x11-\x18.\x190\xdb`\x04a\xb1f\xf8g\xf1h\xb0j\xd9k\xbfl\xdam\xc0n\xc5o~p\xc4q\xc4r\xc4s_t\xc3u\xb4v\xc1w\xc2x\xb3y\xf3z\xf2{\xe3|\xd8}\x9c~\xfe",- EnterAcs: "\x1b[12m",- ExitAcs: "\x1b[10m",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\x1b[D",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyBackspace: "\b",- KeyHome: "\x1b[H",- })- AddTerminfo(&Terminfo{- Name: "rxvt",- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b=",- ExitKeypad: "\x1b>",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b(B\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1b[7~",- KeyEnd: "\x1b[8~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1b[11~",- KeyF2: "\x1b[12~",- KeyF3: "\x1b[13~",- KeyF4: "\x1b[14~",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- KeyF21: "\x1b[23$",- KeyF22: "\x1b[24$",- KeyF23: "\x1b[11^",- KeyF24: "\x1b[12^",- KeyF25: "\x1b[13^",- KeyF26: "\x1b[14^",- KeyF27: "\x1b[15^",- KeyF28: "\x1b[17^",- KeyF29: "\x1b[18^",- KeyF30: "\x1b[19^",- KeyF31: "\x1b[20^",- KeyF32: "\x1b[21^",- KeyF33: "\x1b[23^",- KeyF34: "\x1b[24^",- KeyF35: "\x1b[25^",- KeyF36: "\x1b[26^",- KeyF37: "\x1b[28^",- KeyF38: "\x1b[29^",- KeyF39: "\x1b[31^",- KeyF40: "\x1b[32^",- KeyF41: "\x1b[33^",- KeyF42: "\x1b[34^",- KeyF43: "\x1b[23@",- KeyF44: "\x1b[24@",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[d",- KeyShfRight: "\x1b[c",- KeyShfUp: "\x1b[a",- KeyShfDown: "\x1b[b",- KeyCtrlLeft: "\x1b[Od",- KeyCtrlRight: "\x1b[Oc",- KeyCtrlUp: "\x1b[Oa",- KeyCtrlDown: "\x1b[Ob",- KeyShfHome: "\x1b[7$",- KeyShfEnd: "\x1b[8$",- KeyCtrlHome: "\x1b[7^",- KeyCtrlEnd: "\x1b[8^",- })- AddTerminfo(&Terminfo{- Name: "rxvt-256color",- Columns: 80,- Lines: 24,- Colors: 256,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b=",- ExitKeypad: "\x1b>",- SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",- SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",- SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b(B\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1b[7~",- KeyEnd: "\x1b[8~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1b[11~",- KeyF2: "\x1b[12~",- KeyF3: "\x1b[13~",- KeyF4: "\x1b[14~",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- KeyF21: "\x1b[23$",- KeyF22: "\x1b[24$",- KeyF23: "\x1b[11^",- KeyF24: "\x1b[12^",- KeyF25: "\x1b[13^",- KeyF26: "\x1b[14^",- KeyF27: "\x1b[15^",- KeyF28: "\x1b[17^",- KeyF29: "\x1b[18^",- KeyF30: "\x1b[19^",- KeyF31: "\x1b[20^",- KeyF32: "\x1b[21^",- KeyF33: "\x1b[23^",- KeyF34: "\x1b[24^",- KeyF35: "\x1b[25^",- KeyF36: "\x1b[26^",- KeyF37: "\x1b[28^",- KeyF38: "\x1b[29^",- KeyF39: "\x1b[31^",- KeyF40: "\x1b[32^",- KeyF41: "\x1b[33^",- KeyF42: "\x1b[34^",- KeyF43: "\x1b[23@",- KeyF44: "\x1b[24@",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[d",- KeyShfRight: "\x1b[c",- KeyShfUp: "\x1b[a",- KeyShfDown: "\x1b[b",- KeyCtrlLeft: "\x1b[Od",- KeyCtrlRight: "\x1b[Oc",- KeyCtrlUp: "\x1b[Oa",- KeyCtrlDown: "\x1b[Ob",- KeyShfHome: "\x1b[7$",- KeyShfEnd: "\x1b[8$",- KeyCtrlHome: "\x1b[7^",- KeyCtrlEnd: "\x1b[8^",- })- AddTerminfo(&Terminfo{- Name: "rxvt-unicode",- Columns: 80,- Lines: 24,- Colors: 88,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b[?1049h",- ExitCA: "\x1b[r\x1b[?1049l",- ShowCursor: "\x1b[?12l\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x1b(B",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b=",- ExitKeypad: "\x1b>",- SetFg: "\x1b[38;5;%p1%dm",- SetBg: "\x1b[48;5;%p1%dm",- SetFgBg: "\x1b[38;5;%p1%d;48;5;%p2%dm",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~-A.B+C,D0EhFiG",- EnterAcs: "\x1b(0",- ExitAcs: "\x1b(B",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\u007f",- KeyHome: "\x1b[7~",- KeyEnd: "\x1b[8~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1b[11~",- KeyF2: "\x1b[12~",- KeyF3: "\x1b[13~",- KeyF4: "\x1b[14~",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[d",- KeyShfRight: "\x1b[c",- KeyShfUp: "\x1b[a",- KeyShfDown: "\x1b[b",- KeyCtrlLeft: "\x1b[Od",- KeyCtrlRight: "\x1b[Oc",- KeyCtrlUp: "\x1b[Oa",- KeyCtrlDown: "\x1b[Ob",- KeyShfHome: "\x1b[7$",- KeyShfEnd: "\x1b[8$",- KeyCtrlHome: "\x1b[7^",- KeyCtrlEnd: "\x1b[8^",- })- AddTerminfo(&Terminfo{- Name: "rxvt-unicode-256color",- Columns: 80,- Lines: 24,- Colors: 256,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b[?1049h",- ExitCA: "\x1b[r\x1b[?1049l",- ShowCursor: "\x1b[?12l\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x1b(B",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b=",- ExitKeypad: "\x1b>",- SetFg: "\x1b[38;5;%p1%dm",- SetBg: "\x1b[48;5;%p1%dm",- SetFgBg: "\x1b[38;5;%p1%d;48;5;%p2%dm",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~-A.B+C,D0EhFiG",- EnterAcs: "\x1b(0",- ExitAcs: "\x1b(B",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\u007f",- KeyHome: "\x1b[7~",- KeyEnd: "\x1b[8~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1b[11~",- KeyF2: "\x1b[12~",- KeyF3: "\x1b[13~",- KeyF4: "\x1b[14~",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[d",- KeyShfRight: "\x1b[c",- KeyShfUp: "\x1b[a",- KeyShfDown: "\x1b[b",- KeyCtrlLeft: "\x1b[Od",- KeyCtrlRight: "\x1b[Oc",- KeyCtrlUp: "\x1b[Oa",- KeyCtrlDown: "\x1b[Ob",- KeyShfHome: "\x1b[7$",- KeyShfEnd: "\x1b[8$",- KeyCtrlHome: "\x1b[7^",- KeyCtrlEnd: "\x1b[8^",- })- AddTerminfo(&Terminfo{- Name: "screen",- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[J",- EnterCA: "\x1b[?1049h",- ExitCA: "\x1b[?1049l",- ShowCursor: "\x1b[34h\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b(B\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1bM",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1b[1~",- KeyEnd: "\x1b[4~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyBacktab: "\x1b[Z",- })- AddTerminfo(&Terminfo{- Name: "screen-256color",- Columns: 80,- Lines: 24,- Colors: 256,- Bell: "\a",- Clear: "\x1b[H\x1b[J",- EnterCA: "\x1b[?1049h",- ExitCA: "\x1b[?1049l",- ShowCursor: "\x1b[34h\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",- SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",- SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",- PadChar: "\x00",- AltChars: "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b(B\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1bM",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1b[1~",- KeyEnd: "\x1b[4~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyBacktab: "\x1b[Z",- })- AddTerminfo(&Terminfo{- Name: "sun",- Aliases: []string{"sun1", "sun2"},- Columns: 80,- Lines: 34,- Bell: "\a",- Clear: "\f",- AttrOff: "\x1b[m",- Reverse: "\x1b[7m",- PadChar: "\x00",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyDelete: "\u007f",- KeyBackspace: "\b",- KeyHome: "\x1b[214z",- KeyEnd: "\x1b[220z",- KeyPgUp: "\x1b[216z",- KeyPgDn: "\x1b[222z",- KeyF1: "\x1b[224z",- KeyF2: "\x1b[225z",- KeyF3: "\x1b[226z",- KeyF4: "\x1b[227z",- KeyF5: "\x1b[228z",- KeyF6: "\x1b[229z",- KeyF7: "\x1b[230z",- KeyF8: "\x1b[231z",- KeyF9: "\x1b[232z",- KeyF10: "\x1b[233z",- KeyF11: "\x1b[234z",- KeyF12: "\x1b[235z",- })- AddTerminfo(&Terminfo{- Name: "sun-color",- Columns: 80,- Lines: 34,- Colors: 8,- Bell: "\a",- Clear: "\f",- AttrOff: "\x1b[m",- Reverse: "\x1b[7m",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyDelete: "\u007f",- KeyBackspace: "\b",- KeyHome: "\x1b[214z",- KeyEnd: "\x1b[220z",- KeyPgUp: "\x1b[216z",- KeyPgDn: "\x1b[222z",- KeyF1: "\x1b[224z",- KeyF2: "\x1b[225z",- KeyF3: "\x1b[226z",- KeyF4: "\x1b[227z",- KeyF5: "\x1b[228z",- KeyF6: "\x1b[229z",- KeyF7: "\x1b[230z",- KeyF8: "\x1b[231z",- KeyF9: "\x1b[232z",- KeyF10: "\x1b[233z",- KeyF11: "\x1b[234z",- KeyF12: "\x1b[235z",- })- AddTerminfo(&Terminfo{- Name: "tvi910",- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1a",- AttrOff: "\x1bG0",- Underline: "\x1bG8",- Reverse: "\x1bG4",- PadChar: "\x00",- SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",- CursorBack1: "\b",- CursorUp1: "\v",- KeyUp: "\v",- KeyDown: "\n",- KeyRight: "\f",- KeyLeft: "\b",- KeyBackspace: "\b",- KeyHome: "\x1e",- KeyF1: "\x01@\r",- KeyF2: "\x01A\r",- KeyF3: "\x01B\r",- KeyF4: "\x01C\r",- KeyF5: "\x01D\r",- KeyF6: "\x01E\r",- KeyF7: "\x01F\r",- KeyF8: "\x01G\r",- KeyF9: "\x01H\r",- })- AddTerminfo(&Terminfo{- Name: "tvi912",- Aliases: []string{"tvi914", "tvi920"},- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1a",- Underline: "\x1bl",- PadChar: "\x00",- SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",- CursorBack1: "\b",- CursorUp1: "\v",- KeyUp: "\v",- KeyDown: "\n",- KeyRight: "\f",- KeyLeft: "\b",- KeyBackspace: "\b",- KeyHome: "\x1e",- KeyF1: "\x01@\r",- KeyF2: "\x01A\r",- KeyF3: "\x01B\r",- KeyF4: "\x01C\r",- KeyF5: "\x01D\r",- KeyF6: "\x01E\r",- KeyF7: "\x01F\r",- KeyF8: "\x01G\r",- KeyF9: "\x01H\r",- })- AddTerminfo(&Terminfo{- Name: "tvi921",- Columns: 80,- Lines: 24,- Clear: "\x1a",- ShowCursor: "\x1b.3",- AttrOff: "\x1bG0",- Underline: "\x1bG8",- Reverse: "\x1bG4",- PadChar: "\x00",- EnterAcs: "\x1b$",- ExitAcs: "\x1b%%",- SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c$<3/>",- CursorBack1: "\b",- CursorUp1: "\v",- KeyUp: "\v",- KeyDown: "\x16",- KeyRight: "\f",- KeyLeft: "\b",- KeyInsert: "\x1bQ",- KeyDelete: "\x1bW",- KeyBackspace: "\b",- KeyClear: "\x1a",- })- AddTerminfo(&Terminfo{- Name: "tvi925",- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1a",- ShowCursor: "\x1b.4",- AttrOff: "\x1bG0",- Underline: "\x1bG8",- Reverse: "\x1bG4",- PadChar: "\x00",- SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",- CursorBack1: "\b",- CursorUp1: "\v",- KeyUp: "\v",- KeyDown: "\x16",- KeyRight: "\f",- KeyLeft: "\b",- KeyInsert: "\x1bQ",- KeyDelete: "\x1bW",- KeyBackspace: "\b",- KeyHome: "\x1e",- KeyF1: "\x01@\r",- KeyF2: "\x01A\r",- KeyF3: "\x01B\r",- KeyF4: "\x01C\r",- KeyF5: "\x01D\r",- KeyF6: "\x01E\r",- KeyF7: "\x01F\r",- KeyF8: "\x01G\r",- KeyF9: "\x01H\r",- KeyClear: "\x1a",- })- AddTerminfo(&Terminfo{- Name: "tvi950",- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1b*",- AttrOff: "\x1bG0",- Underline: "\x1bG8",- Reverse: "\x1bG4",- PadChar: "\x00",- AltChars: "b\tc\fd\re\ni\v",- EnterAcs: "\x15",- ExitAcs: "\x18",- SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",- CursorBack1: "\b",- CursorUp1: "\v",- KeyUp: "\v",- KeyDown: "\x16",- KeyRight: "\f",- KeyLeft: "\b",- KeyInsert: "\x1bQ",- KeyDelete: "\x1bW",- KeyBackspace: "\b",- KeyHome: "\x1e",- KeyF1: "\x01@\r",- KeyF2: "\x01A\r",- KeyF3: "\x01B\r",- KeyF4: "\x01C\r",- KeyF5: "\x01D\r",- KeyF6: "\x01E\r",- KeyF7: "\x01F\r",- KeyF8: "\x01G\r",- KeyF9: "\x01H\r",- KeyClear: "\x1b*",- KeyBacktab: "\x1bI",- })- AddTerminfo(&Terminfo{- Name: "tvi970",- Columns: 80,- Lines: 24,- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b[?20l\x1b[?7h\x1b[1Q",- AttrOff: "\x1b[m",- Underline: "\x1b[4m",- PadChar: "\x00",- EnterAcs: "\x1b(B",- ExitAcs: "\x1b(B",- SetCursor: "\x1b[%i%p1%d;%p2%df",- CursorBack1: "\b",- CursorUp1: "\x1bM",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyBackspace: "\b",- KeyHome: "\x1b[H",- KeyF1: "\x1b?a",- KeyF2: "\x1b?b",- KeyF3: "\x1b?c",- KeyF4: "\x1b?d",- KeyF5: "\x1b?e",- KeyF6: "\x1b?f",- KeyF7: "\x1b?g",- KeyF8: "\x1b?h",- KeyF9: "\x1b?i",- })- AddTerminfo(&Terminfo{- Name: "vt52",- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1bH\x1bJ",- PadChar: "\x00",- AltChars: "ffgghhompoqqss.k",- EnterAcs: "\x1bF",- ExitAcs: "\x1bG",- SetCursor: "\x1bY%p1%' '%+%c%p2%' '%+%c",- CursorBack1: "\x1bD",- CursorUp1: "\x1bA",- KeyUp: "\x1bA",- KeyDown: "\x1bB",- KeyRight: "\x1bC",- KeyLeft: "\x1bD",- KeyBackspace: "\b",- })- AddTerminfo(&Terminfo{- Name: "vt100",- Aliases: []string{"vt100-am"},- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1b[H\x1b[J$<50>",- AttrOff: "\x1b[m\x0f$<2>",- Underline: "\x1b[4m$<2>",- Bold: "\x1b[1m$<2>",- Blink: "\x1b[5m$<2>",- Reverse: "\x1b[7m$<2>",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b(B\x1b)0",- SetCursor: "\x1b[%i%p1%d;%p2%dH$<5>",- CursorBack1: "\b",- CursorUp1: "\x1b[A$<2>",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyBackspace: "\b",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1bOt",- KeyF6: "\x1bOu",- KeyF7: "\x1bOv",- KeyF8: "\x1bOl",- KeyF9: "\x1bOw",- KeyF10: "\x1bOx",- })- AddTerminfo(&Terminfo{- Name: "vt102",- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1b[H\x1b[J$<50>",- AttrOff: "\x1b[m\x0f$<2>",- Underline: "\x1b[4m$<2>",- Bold: "\x1b[1m$<2>",- Blink: "\x1b[5m$<2>",- Reverse: "\x1b[7m$<2>",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b(B\x1b)0",- SetCursor: "\x1b[%i%p1%d;%p2%dH$<5>",- CursorBack1: "\b",- CursorUp1: "\x1b[A$<2>",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyBackspace: "\b",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1bOt",- KeyF6: "\x1bOu",- KeyF7: "\x1bOv",- KeyF8: "\x1bOl",- KeyF9: "\x1bOw",- KeyF10: "\x1bOx",- })- AddTerminfo(&Terminfo{- Name: "vt220",- Aliases: []string{"vt200"},- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1b[H\x1b[J",- AttrOff: "\x1b[m\x1b(B",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x1b(0$<2>",- ExitAcs: "\x1b(B$<4>",- EnableAcs: "\x1b)0",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyBackspace: "\b",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- KeyHelp: "\x1b[28~",- })- AddTerminfo(&Terminfo{- Name: "vt320",- Aliases: []string{"vt300"},- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x1b(B",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x1b(0",- ExitAcs: "\x1b(B",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\u007f",- KeyHome: "\x1b[1~",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[25~",- KeyF14: "\x1b[26~",- KeyF15: "\x1b[28~",- KeyF16: "\x1b[29~",- KeyF17: "\x1b[31~",- KeyF18: "\x1b[32~",- KeyF19: "\x1b[33~",- KeyF20: "\x1b[34~",- })- AddTerminfo(&Terminfo{- Name: "vt400",- Aliases: []string{"dec-vt400", "vt400-24"},- Columns: 80,- Lines: 24,- Clear: "\x1b[H\x1b[J$<10/>",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x1b(B",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x1b(0",- ExitAcs: "\x1b(B",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyBackspace: "\b",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- })- AddTerminfo(&Terminfo{- Name: "vt420",- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1b[H\x1b[2J$<50>",- AttrOff: "\x1b[m$<2>",- Underline: "\x1b[4m",- Bold: "\x1b[1m$<2>",- Blink: "\x1b[5m$<2>",- Reverse: "\x1b[7m$<2>",- EnterKeypad: "\x1b=",- ExitKeypad: "\x1b>",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x1b(0$<2>",- ExitAcs: "\x1b(B$<4>",- SetCursor: "\x1b[%i%p1%d;%p2%dH$<10>",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1b[A",- KeyDown: "\x1b[B",- KeyRight: "\x1b[C",- KeyLeft: "\x1b[D",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[17~",- KeyF6: "\x1b[18~",- KeyF7: "\x1b[19~",- KeyF8: "\x1b[20~",- KeyF9: "\x1b[21~",- KeyF10: "\x1b[29~",- })- AddTerminfo(&Terminfo{- Name: "wy50",- Aliases: []string{"wyse50"},- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1b+$<20>",- ShowCursor: "\x1b`1",- HideCursor: "\x1b`0",- AttrOff: "\x1b(\x1bH\x03",- Dim: "\x1b`7\x1b)",- Reverse: "\x1b`6\x1b)",- PadChar: "\x00",- AltChars: "0wa_h[jukslrmqnxqzttuyv]wpxv",- EnterAcs: "\x1bH\x02",- ExitAcs: "\x1bH\x03",- SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",- CursorBack1: "\b",- CursorUp1: "\v",- KeyUp: "\v",- KeyDown: "\n",- KeyRight: "\f",- KeyLeft: "\b",- KeyInsert: "\x1bQ",- KeyDelete: "\x1bW",- KeyBackspace: "\b",- KeyHome: "\x1e",- KeyPgUp: "\x1bJ",- KeyPgDn: "\x1bK",- KeyF1: "\x01@\r",- KeyF2: "\x01A\r",- KeyF3: "\x01B\r",- KeyF4: "\x01C\r",- KeyF5: "\x01D\r",- KeyF6: "\x01E\r",- KeyF7: "\x01F\r",- KeyF8: "\x01G\r",- KeyF9: "\x01H\r",- KeyF10: "\x01I\r",- KeyF11: "\x01J\r",- KeyF12: "\x01K\r",- KeyF13: "\x01L\r",- KeyF14: "\x01M\r",- KeyF15: "\x01N\r",- KeyF16: "\x01O\r",- KeyPrint: "\x1bP",- KeyBacktab: "\x1bI",- KeyShfHome: "\x1b{",- })- AddTerminfo(&Terminfo{- Name: "wy60",- Aliases: []string{"wyse60"},- Columns: 80,- Lines: 24,- Bell: "\a",- Clear: "\x1b+$<100>",- EnterCA: "\x1bw0",- ExitCA: "\x1bw1",- ShowCursor: "\x1b`1",- HideCursor: "\x1b`0",- AttrOff: "\x1b(\x1bH\x03\x1bG0\x1bcD",- Underline: "\x1bG8",- Dim: "\x1bGp",- Blink: "\x1bG2",- Reverse: "\x1bG4",- PadChar: "\x00",- AltChars: "+/,.0[iha2fxgqh1jYk?lZm@nEqDtCu4vAwBx3yszr{c~~",- EnterAcs: "\x1bcE",- ExitAcs: "\x1bcD",- SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",- CursorBack1: "\b",- CursorUp1: "\v",- KeyUp: "\v",- KeyDown: "\n",- KeyRight: "\f",- KeyLeft: "\b",- KeyInsert: "\x1bQ",- KeyDelete: "\x1bW",- KeyBackspace: "\b",- KeyHome: "\x1e",- KeyPgUp: "\x1bJ",- KeyPgDn: "\x1bK",- KeyF1: "\x01@\r",- KeyF2: "\x01A\r",- KeyF3: "\x01B\r",- KeyF4: "\x01C\r",- KeyF5: "\x01D\r",- KeyF6: "\x01E\r",- KeyF7: "\x01F\r",- KeyF8: "\x01G\r",- KeyF9: "\x01H\r",- KeyF10: "\x01I\r",- KeyF11: "\x01J\r",- KeyF12: "\x01K\r",- KeyF13: "\x01L\r",- KeyF14: "\x01M\r",- KeyF15: "\x01N\r",- KeyF16: "\x01O\r",- KeyPrint: "\x1bP",- KeyBacktab: "\x1bI",- KeyShfHome: "\x1b{",- })- AddTerminfo(&Terminfo{- Name: "wy99-ansi",- Columns: 80,- Lines: 25,- Bell: "\a",- Clear: "\x1b[H\x1b[J$<200>",- ShowCursor: "\x1b[34h\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x0f\x1b[\"q",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Dim: "\x1b[2m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h",- ExitKeypad: "\x1b[?1l",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b)0",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b$<1>",- CursorUp1: "\x1bM",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyBackspace: "\b",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[M",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF17: "\x1b[K",- KeyF18: "\x1b[31~",- KeyF19: "\x1b[32~",- KeyF20: "\x1b[33~",- KeyF21: "\x1b[34~",- KeyF22: "\x1b[35~",- KeyF23: "\x1b[1~",- KeyF24: "\x1b[2~",- KeyBacktab: "\x1b[z",- })- AddTerminfo(&Terminfo{- Name: "wy99a-ansi",- Columns: 80,- Lines: 25,- Bell: "\a",- Clear: "\x1b[H\x1b[J$<200>",- ShowCursor: "\x1b[34h\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[m\x0f\x1b[\"q",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Dim: "\x1b[2m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h",- ExitKeypad: "\x1b[?1l",- PadChar: "\x00",- AltChars: "``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b)0",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b$<1>",- CursorUp1: "\x1bM",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyBackspace: "\b",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[M",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF17: "\x1b[K",- KeyF18: "\x1b[31~",- KeyF19: "\x1b[32~",- KeyF20: "\x1b[33~",- KeyF21: "\x1b[34~",- KeyF22: "\x1b[35~",- KeyF23: "\x1b[1~",- KeyF24: "\x1b[2~",- KeyBacktab: "\x1b[z",- })- AddTerminfo(&Terminfo{- Name: "xfce",- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b7\x1b[?47h",- ExitCA: "\x1b[2J\x1b[?47l\x1b8",- ShowCursor: "\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b[0m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x0e",- ExitAcs: "\x0f",- EnableAcs: "\x1b)0",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\u007f",- KeyHome: "\x1bOH",- KeyEnd: "\x1bOF",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1bO1;2P",- KeyF14: "\x1bO1;2Q",- KeyF15: "\x1bO1;2R",- KeyF16: "\x1bO1;2S",- KeyF17: "\x1b[15;2~",- KeyF18: "\x1b[17;2~",- KeyF19: "\x1b[18;2~",- KeyF20: "\x1b[19;2~",- KeyF21: "\x1b[20;2~",- KeyF22: "\x1b[21;2~",- KeyF23: "\x1b[23;2~",- KeyF24: "\x1b[24;2~",- KeyF25: "\x1bO1;5P",- KeyF26: "\x1bO1;5Q",- KeyF27: "\x1bO1;5R",- KeyF28: "\x1bO1;5S",- KeyF29: "\x1b[15;5~",- KeyF30: "\x1b[17;5~",- KeyF31: "\x1b[18;5~",- KeyF32: "\x1b[19;5~",- KeyF33: "\x1b[20;5~",- KeyF34: "\x1b[21;5~",- KeyF35: "\x1b[23;5~",- KeyF36: "\x1b[24;5~",- KeyF37: "\x1bO1;6P",- KeyF38: "\x1bO1;6Q",- KeyF39: "\x1bO1;6R",- KeyF40: "\x1bO1;6S",- KeyF41: "\x1b[15;6~",- KeyF42: "\x1b[17;6~",- KeyF43: "\x1b[18;6~",- KeyF44: "\x1b[19;6~",- KeyF45: "\x1b[20;6~",- KeyF46: "\x1b[21;6~",- KeyF47: "\x1b[23;6~",- KeyF48: "\x1b[24;6~",- KeyF49: "\x1bO1;3P",- KeyF50: "\x1bO1;3Q",- KeyF51: "\x1bO1;3R",- KeyF52: "\x1bO1;3S",- KeyF53: "\x1b[15;3~",- KeyF54: "\x1b[17;3~",- KeyF55: "\x1b[18;3~",- KeyF56: "\x1b[19;3~",- KeyF57: "\x1b[20;3~",- KeyF58: "\x1b[21;3~",- KeyF59: "\x1b[23;3~",- KeyF60: "\x1b[24;3~",- KeyF61: "\x1bO1;4P",- KeyF62: "\x1bO1;4Q",- KeyF63: "\x1bO1;4R",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[1;2D",- KeyShfRight: "\x1b[1;2C",- KeyShfUp: "\x1b[1;2A",- KeyShfDown: "\x1b[1;2B",- KeyCtrlLeft: "\x1b[1;5D",- KeyCtrlRight: "\x1b[1;5C",- KeyCtrlUp: "\x1b[1;5A",- KeyCtrlDown: "\x1b[1;5B",- KeyMetaLeft: "\x1b[1;9D",- KeyMetaRight: "\x1b[1;9C",- KeyMetaUp: "\x1b[1;9A",- KeyMetaDown: "\x1b[1;9B",- KeyAltLeft: "\x1b[1;3D",- KeyAltRight: "\x1b[1;3C",- KeyAltUp: "\x1b[1;3A",- KeyAltDown: "\x1b[1;3B",- KeyAltShfLeft: "\x1b[1;4D",- KeyAltShfRight: "\x1b[1;4C",- KeyAltShfUp: "\x1b[1;4A",- KeyAltShfDown: "\x1b[1;4B",- KeyMetaShfLeft: "\x1b[1;10D",- KeyMetaShfRight: "\x1b[1;10C",- KeyMetaShfUp: "\x1b[1;10A",- KeyMetaShfDown: "\x1b[1;10B",- KeyCtrlShfLeft: "\x1b[1;6D",- KeyCtrlShfRight: "\x1b[1;6C",- KeyCtrlShfUp: "\x1b[1;6A",- KeyCtrlShfDown: "\x1b[1;6B",- KeyShfHome: "\x1b[1;2H",- KeyShfEnd: "\x1b[1;2F",- KeyCtrlHome: "\x1b[1;5H",- KeyCtrlEnd: "\x1b[1;5F",- KeyAltHome: "\x1b[1;9H",- KeyAltEnd: "\x1b[1;9F",- KeyCtrlShfHome: "\x1b[1;6H",- KeyCtrlShfEnd: "\x1b[1;6F",- KeyMetaShfHome: "\x1b[1;10H",- KeyMetaShfEnd: "\x1b[1;10F",- KeyAltShfHome: "\x1b[1;4H",- KeyAltShfEnd: "\x1b[1;4F",- })- AddTerminfo(&Terminfo{- Name: "xnuppc",- Columns: -1,- Lines: -1,- Colors: 8,- Clear: "\x1b[H\x1b[J",- AttrOff: "\x1b[m\x0f",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- PadChar: "\x00",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\x1b[D",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyBackspace: "\u007f",- })- AddTerminfo(&Terminfo{- Name: "xterm",- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b[?1049h",- ExitCA: "\x1b[?1049l",- ShowCursor: "\x1b[?12l\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b(B\x1b[m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x1b(0",- ExitAcs: "\x1b(B",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1bOH",- KeyEnd: "\x1bOF",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[1;2P",- KeyF14: "\x1b[1;2Q",- KeyF15: "\x1b[1;2R",- KeyF16: "\x1b[1;2S",- KeyF17: "\x1b[15;2~",- KeyF18: "\x1b[17;2~",- KeyF19: "\x1b[18;2~",- KeyF20: "\x1b[19;2~",- KeyF21: "\x1b[20;2~",- KeyF22: "\x1b[21;2~",- KeyF23: "\x1b[23;2~",- KeyF24: "\x1b[24;2~",- KeyF25: "\x1b[1;5P",- KeyF26: "\x1b[1;5Q",- KeyF27: "\x1b[1;5R",- KeyF28: "\x1b[1;5S",- KeyF29: "\x1b[15;5~",- KeyF30: "\x1b[17;5~",- KeyF31: "\x1b[18;5~",- KeyF32: "\x1b[19;5~",- KeyF33: "\x1b[20;5~",- KeyF34: "\x1b[21;5~",- KeyF35: "\x1b[23;5~",- KeyF36: "\x1b[24;5~",- KeyF37: "\x1b[1;6P",- KeyF38: "\x1b[1;6Q",- KeyF39: "\x1b[1;6R",- KeyF40: "\x1b[1;6S",- KeyF41: "\x1b[15;6~",- KeyF42: "\x1b[17;6~",- KeyF43: "\x1b[18;6~",- KeyF44: "\x1b[19;6~",- KeyF45: "\x1b[20;6~",- KeyF46: "\x1b[21;6~",- KeyF47: "\x1b[23;6~",- KeyF48: "\x1b[24;6~",- KeyF49: "\x1b[1;3P",- KeyF50: "\x1b[1;3Q",- KeyF51: "\x1b[1;3R",- KeyF52: "\x1b[1;3S",- KeyF53: "\x1b[15;3~",- KeyF54: "\x1b[17;3~",- KeyF55: "\x1b[18;3~",- KeyF56: "\x1b[19;3~",- KeyF57: "\x1b[20;3~",- KeyF58: "\x1b[21;3~",- KeyF59: "\x1b[23;3~",- KeyF60: "\x1b[24;3~",- KeyF61: "\x1b[1;4P",- KeyF62: "\x1b[1;4Q",- KeyF63: "\x1b[1;4R",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[1;2D",- KeyShfRight: "\x1b[1;2C",- KeyShfUp: "\x1b[1;2A",- KeyShfDown: "\x1b[1;2B",- KeyCtrlLeft: "\x1b[1;5D",- KeyCtrlRight: "\x1b[1;5C",- KeyCtrlUp: "\x1b[1;5A",- KeyCtrlDown: "\x1b[1;5B",- KeyMetaLeft: "\x1b[1;9D",- KeyMetaRight: "\x1b[1;9C",- KeyMetaUp: "\x1b[1;9A",- KeyMetaDown: "\x1b[1;9B",- KeyAltLeft: "\x1b[1;3D",- KeyAltRight: "\x1b[1;3C",- KeyAltUp: "\x1b[1;3A",- KeyAltDown: "\x1b[1;3B",- KeyAltShfLeft: "\x1b[1;4D",- KeyAltShfRight: "\x1b[1;4C",- KeyAltShfUp: "\x1b[1;4A",- KeyAltShfDown: "\x1b[1;4B",- KeyMetaShfLeft: "\x1b[1;10D",- KeyMetaShfRight: "\x1b[1;10C",- KeyMetaShfUp: "\x1b[1;10A",- KeyMetaShfDown: "\x1b[1;10B",- KeyCtrlShfLeft: "\x1b[1;6D",- KeyCtrlShfRight: "\x1b[1;6C",- KeyCtrlShfUp: "\x1b[1;6A",- KeyCtrlShfDown: "\x1b[1;6B",- KeyShfHome: "\x1b[1;2H",- KeyShfEnd: "\x1b[1;2F",- KeyCtrlHome: "\x1b[1;5H",- KeyCtrlEnd: "\x1b[1;5F",- KeyAltHome: "\x1b[1;9H",- KeyAltEnd: "\x1b[1;9F",- KeyCtrlShfHome: "\x1b[1;6H",- KeyCtrlShfEnd: "\x1b[1;6F",- KeyMetaShfHome: "\x1b[1;10H",- KeyMetaShfEnd: "\x1b[1;10F",- KeyAltShfHome: "\x1b[1;4H",- KeyAltShfEnd: "\x1b[1;4F",- })- AddTerminfo(&Terminfo{- Name: "xterm-256color",- Columns: 80,- Lines: 24,- Colors: 256,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b[?1049h",- ExitCA: "\x1b[?1049l",- ShowCursor: "\x1b[?12l\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b(B\x1b[m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",- SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",- SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",- AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x1b(0",- ExitAcs: "\x1b(B",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1bOH",- KeyEnd: "\x1bOF",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[1;2P",- KeyF14: "\x1b[1;2Q",- KeyF15: "\x1b[1;2R",- KeyF16: "\x1b[1;2S",- KeyF17: "\x1b[15;2~",- KeyF18: "\x1b[17;2~",- KeyF19: "\x1b[18;2~",- KeyF20: "\x1b[19;2~",- KeyF21: "\x1b[20;2~",- KeyF22: "\x1b[21;2~",- KeyF23: "\x1b[23;2~",- KeyF24: "\x1b[24;2~",- KeyF25: "\x1b[1;5P",- KeyF26: "\x1b[1;5Q",- KeyF27: "\x1b[1;5R",- KeyF28: "\x1b[1;5S",- KeyF29: "\x1b[15;5~",- KeyF30: "\x1b[17;5~",- KeyF31: "\x1b[18;5~",- KeyF32: "\x1b[19;5~",- KeyF33: "\x1b[20;5~",- KeyF34: "\x1b[21;5~",- KeyF35: "\x1b[23;5~",- KeyF36: "\x1b[24;5~",- KeyF37: "\x1b[1;6P",- KeyF38: "\x1b[1;6Q",- KeyF39: "\x1b[1;6R",- KeyF40: "\x1b[1;6S",- KeyF41: "\x1b[15;6~",- KeyF42: "\x1b[17;6~",- KeyF43: "\x1b[18;6~",- KeyF44: "\x1b[19;6~",- KeyF45: "\x1b[20;6~",- KeyF46: "\x1b[21;6~",- KeyF47: "\x1b[23;6~",- KeyF48: "\x1b[24;6~",- KeyF49: "\x1b[1;3P",- KeyF50: "\x1b[1;3Q",- KeyF51: "\x1b[1;3R",- KeyF52: "\x1b[1;3S",- KeyF53: "\x1b[15;3~",- KeyF54: "\x1b[17;3~",- KeyF55: "\x1b[18;3~",- KeyF56: "\x1b[19;3~",- KeyF57: "\x1b[20;3~",- KeyF58: "\x1b[21;3~",- KeyF59: "\x1b[23;3~",- KeyF60: "\x1b[24;3~",- KeyF61: "\x1b[1;4P",- KeyF62: "\x1b[1;4Q",- KeyF63: "\x1b[1;4R",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[1;2D",- KeyShfRight: "\x1b[1;2C",- KeyShfUp: "\x1b[1;2A",- KeyShfDown: "\x1b[1;2B",- KeyCtrlLeft: "\x1b[1;5D",- KeyCtrlRight: "\x1b[1;5C",- KeyCtrlUp: "\x1b[1;5A",- KeyCtrlDown: "\x1b[1;5B",- KeyMetaLeft: "\x1b[1;9D",- KeyMetaRight: "\x1b[1;9C",- KeyMetaUp: "\x1b[1;9A",- KeyMetaDown: "\x1b[1;9B",- KeyAltLeft: "\x1b[1;3D",- KeyAltRight: "\x1b[1;3C",- KeyAltUp: "\x1b[1;3A",- KeyAltDown: "\x1b[1;3B",- KeyAltShfLeft: "\x1b[1;4D",- KeyAltShfRight: "\x1b[1;4C",- KeyAltShfUp: "\x1b[1;4A",- KeyAltShfDown: "\x1b[1;4B",- KeyMetaShfLeft: "\x1b[1;10D",- KeyMetaShfRight: "\x1b[1;10C",- KeyMetaShfUp: "\x1b[1;10A",- KeyMetaShfDown: "\x1b[1;10B",- KeyCtrlShfLeft: "\x1b[1;6D",- KeyCtrlShfRight: "\x1b[1;6C",- KeyCtrlShfUp: "\x1b[1;6A",- KeyCtrlShfDown: "\x1b[1;6B",- KeyShfHome: "\x1b[1;2H",- KeyShfEnd: "\x1b[1;2F",- KeyCtrlHome: "\x1b[1;5H",- KeyCtrlEnd: "\x1b[1;5F",- KeyAltHome: "\x1b[1;9H",- KeyAltEnd: "\x1b[1;9F",- KeyCtrlShfHome: "\x1b[1;6H",- KeyCtrlShfEnd: "\x1b[1;6F",- KeyMetaShfHome: "\x1b[1;10H",- KeyMetaShfEnd: "\x1b[1;10F",- KeyAltShfHome: "\x1b[1;4H",- KeyAltShfEnd: "\x1b[1;4F",- })- AddTerminfo(&Terminfo{- Name: "xterm",- Columns: 80,- Lines: 24,- Colors: 8,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b[?1049h",- ExitCA: "\x1b[?1049l",- ShowCursor: "\x1b[?12l\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b(B\x1b[m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[3%p1%dm",- SetBg: "\x1b[4%p1%dm",- SetFgBg: "\x1b[3%p1%d;4%p2%dm",- AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x1b(0",- ExitAcs: "\x1b(B",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1bOH",- KeyEnd: "\x1bOF",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[1;2P",- KeyF14: "\x1b[1;2Q",- KeyF15: "\x1b[1;2R",- KeyF16: "\x1b[1;2S",- KeyF17: "\x1b[15;2~",- KeyF18: "\x1b[17;2~",- KeyF19: "\x1b[18;2~",- KeyF20: "\x1b[19;2~",- KeyF21: "\x1b[20;2~",- KeyF22: "\x1b[21;2~",- KeyF23: "\x1b[23;2~",- KeyF24: "\x1b[24;2~",- KeyF25: "\x1b[1;5P",- KeyF26: "\x1b[1;5Q",- KeyF27: "\x1b[1;5R",- KeyF28: "\x1b[1;5S",- KeyF29: "\x1b[15;5~",- KeyF30: "\x1b[17;5~",- KeyF31: "\x1b[18;5~",- KeyF32: "\x1b[19;5~",- KeyF33: "\x1b[20;5~",- KeyF34: "\x1b[21;5~",- KeyF35: "\x1b[23;5~",- KeyF36: "\x1b[24;5~",- KeyF37: "\x1b[1;6P",- KeyF38: "\x1b[1;6Q",- KeyF39: "\x1b[1;6R",- KeyF40: "\x1b[1;6S",- KeyF41: "\x1b[15;6~",- KeyF42: "\x1b[17;6~",- KeyF43: "\x1b[18;6~",- KeyF44: "\x1b[19;6~",- KeyF45: "\x1b[20;6~",- KeyF46: "\x1b[21;6~",- KeyF47: "\x1b[23;6~",- KeyF48: "\x1b[24;6~",- KeyF49: "\x1b[1;3P",- KeyF50: "\x1b[1;3Q",- KeyF51: "\x1b[1;3R",- KeyF52: "\x1b[1;3S",- KeyF53: "\x1b[15;3~",- KeyF54: "\x1b[17;3~",- KeyF55: "\x1b[18;3~",- KeyF56: "\x1b[19;3~",- KeyF57: "\x1b[20;3~",- KeyF58: "\x1b[21;3~",- KeyF59: "\x1b[23;3~",- KeyF60: "\x1b[24;3~",- KeyF61: "\x1b[1;4P",- KeyF62: "\x1b[1;4Q",- KeyF63: "\x1b[1;4R",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[1;2D",- KeyShfRight: "\x1b[1;2C",- KeyShfUp: "\x1b[1;2A",- KeyShfDown: "\x1b[1;2B",- KeyCtrlLeft: "\x1b[1;5D",- KeyCtrlRight: "\x1b[1;5C",- KeyCtrlUp: "\x1b[1;5A",- KeyCtrlDown: "\x1b[1;5B",- KeyMetaLeft: "\x1b[1;9D",- KeyMetaRight: "\x1b[1;9C",- KeyMetaUp: "\x1b[1;9A",- KeyMetaDown: "\x1b[1;9B",- KeyAltLeft: "\x1b[1;3D",- KeyAltRight: "\x1b[1;3C",- KeyAltUp: "\x1b[1;3A",- KeyAltDown: "\x1b[1;3B",- KeyAltShfLeft: "\x1b[1;4D",- KeyAltShfRight: "\x1b[1;4C",- KeyAltShfUp: "\x1b[1;4A",- KeyAltShfDown: "\x1b[1;4B",- KeyMetaShfLeft: "\x1b[1;10D",- KeyMetaShfRight: "\x1b[1;10C",- KeyMetaShfUp: "\x1b[1;10A",- KeyMetaShfDown: "\x1b[1;10B",- KeyCtrlShfLeft: "\x1b[1;6D",- KeyCtrlShfRight: "\x1b[1;6C",- KeyCtrlShfUp: "\x1b[1;6A",- KeyCtrlShfDown: "\x1b[1;6B",- KeyShfHome: "\x1b[1;2H",- KeyShfEnd: "\x1b[1;2F",- KeyCtrlHome: "\x1b[1;5H",- KeyCtrlEnd: "\x1b[1;5F",- KeyAltHome: "\x1b[1;9H",- KeyAltEnd: "\x1b[1;9F",- KeyCtrlShfHome: "\x1b[1;6H",- KeyCtrlShfEnd: "\x1b[1;6F",- KeyMetaShfHome: "\x1b[1;10H",- KeyMetaShfEnd: "\x1b[1;10F",- KeyAltShfHome: "\x1b[1;4H",- KeyAltShfEnd: "\x1b[1;4F",- })- AddTerminfo(&Terminfo{- Name: "xterm-256color",- Columns: 80,- Lines: 24,- Colors: 256,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b[?1049h",- ExitCA: "\x1b[?1049l",- ShowCursor: "\x1b[?12l\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b(B\x1b[m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",- SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",- SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",- AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x1b(0",- ExitAcs: "\x1b(B",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1bOH",- KeyEnd: "\x1bOF",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[1;2P",- KeyF14: "\x1b[1;2Q",- KeyF15: "\x1b[1;2R",- KeyF16: "\x1b[1;2S",- KeyF17: "\x1b[15;2~",- KeyF18: "\x1b[17;2~",- KeyF19: "\x1b[18;2~",- KeyF20: "\x1b[19;2~",- KeyF21: "\x1b[20;2~",- KeyF22: "\x1b[21;2~",- KeyF23: "\x1b[23;2~",- KeyF24: "\x1b[24;2~",- KeyF25: "\x1b[1;5P",- KeyF26: "\x1b[1;5Q",- KeyF27: "\x1b[1;5R",- KeyF28: "\x1b[1;5S",- KeyF29: "\x1b[15;5~",- KeyF30: "\x1b[17;5~",- KeyF31: "\x1b[18;5~",- KeyF32: "\x1b[19;5~",- KeyF33: "\x1b[20;5~",- KeyF34: "\x1b[21;5~",- KeyF35: "\x1b[23;5~",- KeyF36: "\x1b[24;5~",- KeyF37: "\x1b[1;6P",- KeyF38: "\x1b[1;6Q",- KeyF39: "\x1b[1;6R",- KeyF40: "\x1b[1;6S",- KeyF41: "\x1b[15;6~",- KeyF42: "\x1b[17;6~",- KeyF43: "\x1b[18;6~",- KeyF44: "\x1b[19;6~",- KeyF45: "\x1b[20;6~",- KeyF46: "\x1b[21;6~",- KeyF47: "\x1b[23;6~",- KeyF48: "\x1b[24;6~",- KeyF49: "\x1b[1;3P",- KeyF50: "\x1b[1;3Q",- KeyF51: "\x1b[1;3R",- KeyF52: "\x1b[1;3S",- KeyF53: "\x1b[15;3~",- KeyF54: "\x1b[17;3~",- KeyF55: "\x1b[18;3~",- KeyF56: "\x1b[19;3~",- KeyF57: "\x1b[20;3~",- KeyF58: "\x1b[21;3~",- KeyF59: "\x1b[23;3~",- KeyF60: "\x1b[24;3~",- KeyF61: "\x1b[1;4P",- KeyF62: "\x1b[1;4Q",- KeyF63: "\x1b[1;4R",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[1;2D",- KeyShfRight: "\x1b[1;2C",- KeyShfUp: "\x1b[1;2A",- KeyShfDown: "\x1b[1;2B",- KeyCtrlLeft: "\x1b[1;5D",- KeyCtrlRight: "\x1b[1;5C",- KeyCtrlUp: "\x1b[1;5A",- KeyCtrlDown: "\x1b[1;5B",- KeyMetaLeft: "\x1b[1;9D",- KeyMetaRight: "\x1b[1;9C",- KeyMetaUp: "\x1b[1;9A",- KeyMetaDown: "\x1b[1;9B",- KeyAltLeft: "\x1b[1;3D",- KeyAltRight: "\x1b[1;3C",- KeyAltUp: "\x1b[1;3A",- KeyAltDown: "\x1b[1;3B",- KeyAltShfLeft: "\x1b[1;4D",- KeyAltShfRight: "\x1b[1;4C",- KeyAltShfUp: "\x1b[1;4A",- KeyAltShfDown: "\x1b[1;4B",- KeyMetaShfLeft: "\x1b[1;10D",- KeyMetaShfRight: "\x1b[1;10C",- KeyMetaShfUp: "\x1b[1;10A",- KeyMetaShfDown: "\x1b[1;10B",- KeyCtrlShfLeft: "\x1b[1;6D",- KeyCtrlShfRight: "\x1b[1;6C",- KeyCtrlShfUp: "\x1b[1;6A",- KeyCtrlShfDown: "\x1b[1;6B",- KeyShfHome: "\x1b[1;2H",- KeyShfEnd: "\x1b[1;2F",- KeyCtrlHome: "\x1b[1;5H",- KeyCtrlEnd: "\x1b[1;5F",- KeyAltHome: "\x1b[1;9H",- KeyAltEnd: "\x1b[1;9F",- KeyCtrlShfHome: "\x1b[1;6H",- KeyCtrlShfEnd: "\x1b[1;6F",- KeyMetaShfHome: "\x1b[1;10H",- KeyMetaShfEnd: "\x1b[1;10F",- KeyAltShfHome: "\x1b[1;4H",- KeyAltShfEnd: "\x1b[1;4F",- })- AddTerminfo(&Terminfo{- Name: "xterm-truecolor",- Columns: 80,- Lines: 24,- Colors: 256,- Bell: "\a",- Clear: "\x1b[H\x1b[2J",- EnterCA: "\x1b[?1049h",- ExitCA: "\x1b[?1049l",- ShowCursor: "\x1b[?12l\x1b[?25h",- HideCursor: "\x1b[?25l",- AttrOff: "\x1b(B\x1b[m",- Underline: "\x1b[4m",- Bold: "\x1b[1m",- Blink: "\x1b[5m",- Reverse: "\x1b[7m",- EnterKeypad: "\x1b[?1h\x1b=",- ExitKeypad: "\x1b[?1l\x1b>",- SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",- SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",- SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",- AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- EnterAcs: "\x1b(0",- ExitAcs: "\x1b(B",- SetFgRGB: "\x1b[38;2;%p1%d;%p2%d;%p3%dm",- SetBgRGB: "\x1b[48;2;%p1%d;%p2%d;%p3%dm",- SetFgBgRGB: "\x1b[38;2;%p1%d;%p2%d;%p3%d;48;2;%p4%d;%p5%d;%p6%dm",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- CursorBack1: "\b",- CursorUp1: "\x1b[A",- KeyUp: "\x1bOA",- KeyDown: "\x1bOB",- KeyRight: "\x1bOC",- KeyLeft: "\x1bOD",- KeyInsert: "\x1b[2~",- KeyDelete: "\x1b[3~",- KeyBackspace: "\b",- KeyHome: "\x1bOH",- KeyEnd: "\x1bOF",- KeyPgUp: "\x1b[5~",- KeyPgDn: "\x1b[6~",- KeyF1: "\x1bOP",- KeyF2: "\x1bOQ",- KeyF3: "\x1bOR",- KeyF4: "\x1bOS",- KeyF5: "\x1b[15~",- KeyF6: "\x1b[17~",- KeyF7: "\x1b[18~",- KeyF8: "\x1b[19~",- KeyF9: "\x1b[20~",- KeyF10: "\x1b[21~",- KeyF11: "\x1b[23~",- KeyF12: "\x1b[24~",- KeyF13: "\x1b[1;2P",- KeyF14: "\x1b[1;2Q",- KeyF15: "\x1b[1;2R",- KeyF16: "\x1b[1;2S",- KeyF17: "\x1b[15;2~",- KeyF18: "\x1b[17;2~",- KeyF19: "\x1b[18;2~",- KeyF20: "\x1b[19;2~",- KeyF21: "\x1b[20;2~",- KeyF22: "\x1b[21;2~",- KeyF23: "\x1b[23;2~",- KeyF24: "\x1b[24;2~",- KeyF25: "\x1b[1;5P",- KeyF26: "\x1b[1;5Q",- KeyF27: "\x1b[1;5R",- KeyF28: "\x1b[1;5S",- KeyF29: "\x1b[15;5~",- KeyF30: "\x1b[17;5~",- KeyF31: "\x1b[18;5~",- KeyF32: "\x1b[19;5~",- KeyF33: "\x1b[20;5~",- KeyF34: "\x1b[21;5~",- KeyF35: "\x1b[23;5~",- KeyF36: "\x1b[24;5~",- KeyF37: "\x1b[1;6P",- KeyF38: "\x1b[1;6Q",- KeyF39: "\x1b[1;6R",- KeyF40: "\x1b[1;6S",- KeyF41: "\x1b[15;6~",- KeyF42: "\x1b[17;6~",- KeyF43: "\x1b[18;6~",- KeyF44: "\x1b[19;6~",- KeyF45: "\x1b[20;6~",- KeyF46: "\x1b[21;6~",- KeyF47: "\x1b[23;6~",- KeyF48: "\x1b[24;6~",- KeyF49: "\x1b[1;3P",- KeyF50: "\x1b[1;3Q",- KeyF51: "\x1b[1;3R",- KeyF52: "\x1b[1;3S",- KeyF53: "\x1b[15;3~",- KeyF54: "\x1b[17;3~",- KeyF55: "\x1b[18;3~",- KeyF56: "\x1b[19;3~",- KeyF57: "\x1b[20;3~",- KeyF58: "\x1b[21;3~",- KeyF59: "\x1b[23;3~",- KeyF60: "\x1b[24;3~",- KeyF61: "\x1b[1;4P",- KeyF62: "\x1b[1;4Q",- KeyF63: "\x1b[1;4R",- KeyBacktab: "\x1b[Z",- KeyShfLeft: "\x1b[1;2D",- KeyShfRight: "\x1b[1;2C",- KeyShfUp: "\x1b[1;2A",- KeyShfDown: "\x1b[1;2B",- KeyCtrlLeft: "\x1b[1;5D",- KeyCtrlRight: "\x1b[1;5C",- KeyCtrlUp: "\x1b[1;5A",- KeyCtrlDown: "\x1b[1;5B",- KeyMetaLeft: "\x1b[1;9D",- KeyMetaRight: "\x1b[1;9C",- KeyMetaUp: "\x1b[1;9A",- KeyMetaDown: "\x1b[1;9B",- KeyAltLeft: "\x1b[1;3D",- KeyAltRight: "\x1b[1;3C",- KeyAltUp: "\x1b[1;3A",- KeyAltDown: "\x1b[1;3B",- KeyAltShfLeft: "\x1b[1;4D",- KeyAltShfRight: "\x1b[1;4C",- KeyAltShfUp: "\x1b[1;4A",- KeyAltShfDown: "\x1b[1;4B",- KeyMetaShfLeft: "\x1b[1;10D",- KeyMetaShfRight: "\x1b[1;10C",- KeyMetaShfUp: "\x1b[1;10A",- KeyMetaShfDown: "\x1b[1;10B",- KeyCtrlShfLeft: "\x1b[1;6D",- KeyCtrlShfRight: "\x1b[1;6C",- KeyCtrlShfUp: "\x1b[1;6A",- KeyCtrlShfDown: "\x1b[1;6B",- KeyShfHome: "\x1b[1;2H",- KeyShfEnd: "\x1b[1;2F",- KeyCtrlHome: "\x1b[1;5H",- KeyCtrlEnd: "\x1b[1;5F",- KeyAltHome: "\x1b[1;9H",- KeyAltEnd: "\x1b[1;9F",- KeyCtrlShfHome: "\x1b[1;6H",- KeyCtrlShfEnd: "\x1b[1;6F",- KeyMetaShfHome: "\x1b[1;10H",- KeyMetaShfEnd: "\x1b[1;10F",- KeyAltShfHome: "\x1b[1;4H",- KeyAltShfEnd: "\x1b[1;4F",- })-}
@@ -17,6 +17,8 @@ package tcell import ( "errors" "time"++ "github.com/gdamore/tcell/terminfo" ) var (@@ -27,7 +29,7 @@ var ( // is required. For example, legacy "adm3" lacks this capability, // whereas the slightly newer "adm3a" supports it. This failure // occurs most often with "dumb".- ErrTermNotFound = errors.New("terminal entry not found")+ ErrTermNotFound = terminfo.ErrTermNotFound // ErrNoScreen indicates that no suitable screen could be found. // This may result from attempting to run on a platform where there
mkdatabase.sh
@@ -1,50 +0,0 @@-#!/bin/sh--# Copyright 2015 The TCell Authors-#-# Licensed under the Apache License, Version 2.0 (the "License");-# you may not use file except in compliance with the License.-# You may obtain a copy of the license at-#-# http://www.apache.org/licenses/LICENSE-2.0-#-# Unless required by applicable law or agreed to in writing, software-# distributed under the License is distributed on an "AS IS" BASIS,-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.-# See the License for the specific language governing permissions and-# limitations under the License.--#-# This shell script builds the Go database, which is somewhat minimal for-# size reasons (it only contains the most commonly used entries), and-# then builds the complete JSON database.-#--terms=/tmp/terms.$$--# This script is not very efficient, but there isn't really a better way without-# writing code to decode the terminfo binary format directly. Its not worth-# worrying about.--# now get the rest-all=`toe -a | cut -f1`-echo Scanning terminal definitions-echo > $terms-for f in $all; do- infocmp $f | awk -v FS="|" -v OFS=" " '/^[^# ]/ { print $1; for (i = 2; i < NF; i++) print $i "=" $1; }' |sort >> $terms- printf "."-done-echo--# make sure we have mkinfo-echo "Building mkinfo"-go build mkinfo.go--# first make the database.go file-echo "Building Go database"-./mkinfo -go database.go `cat models.txt aliases.txt`-go fmt database.go--echo "Building JSON database"--./mkinfo -nofatal -quiet -json database.json `cat $terms`
mkinfo.go
@@ -1,717 +0,0 @@-// +build ignore--// Copyright 2016 The TCell Authors-//-// Licensed under the Apache License, Version 2.0 (the "License");-// you may not use file except in compliance with the License.-// You may obtain a copy of the license at-//-// http://www.apache.org/licenses/LICENSE-2.0-//-// Unless required by applicable law or agreed to in writing, software-// distributed under the License is distributed on an "AS IS" BASIS,-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.-// See the License for the specific language governing permissions and-// limitations under the License.--// This command is used to generate suitable configuration files in either-// go syntax or in JSON. It defaults to JSON output on stdout. If no-// term values are specified on the command line, then $TERM is used.-//-// Usage is like this:-//-// mkinfo [-go file.go] [-json file.json] [-quiet] [-nofatal] [<term>...]-//-// -go specifiles Go output into the named file. Use - for stdout.-// -json specifies JSON output in the named file. Use - for stdout-// -nofatal indicates that errors loading definitions should not be fatal-//--package main--import (- "encoding/json"- "errors"- "flag"- "fmt"- "io"- "os"- "regexp"- "runtime"- "sort"- "strings"- "time"-- "github.com/gdamore/tcell"-)--// #include <curses.h>-// #include <term.h>-// #cgo LDFLAGS: -lcurses-//-// void noenv() {-// use_env(FALSE);-// }-//-// char *tigetstr_good(char *name) {-// char *r;-// r = tigetstr(name);-// if (r == (char *)-1) {-// r = NULL;-// }-// return (r);-// }-import "C"--func tigetnum(s string) int {- n := C.tigetnum(C.CString(s))- return int(n)-}--func tigetflag(s string) bool {- n := C.tigetflag(C.CString(s))- return n != 0-}--func tigetstr(s string) string {- // NB: If the string is invalid, we'll get back -1, which causes- // no end of grief. So make sure your capability strings are correct!- cs := C.tigetstr_good(C.CString(s))- if cs == nil {- return ""- }- return C.GoString(cs)-}--// setupterm wraps the Terminfo setupterm, searching for possible options in-// multiple directories, including the system directory and $HOME/.terminfo-func setupterm(name string) error {- oldpath := os.Getenv("TERMINFO")- plist := strings.Split(oldpath, ":")- if home := os.Getenv("HOME"); home != "" {- plist = append(plist, home+"/.terminfo")- }- plist = append(plist, "")- rsn := C.int(0)-- for _, p := range plist {- // Override environment- if p == "" {- os.Unsetenv("TERMINFO")- } else {- os.Setenv("TERMINFO", p)- }- rv, _ := C.setupterm(C.CString(name), 1, &rsn)-- // Restore environment- if oldpath == "" {- os.Unsetenv("TERMINFO")- } else {- os.Setenv("TERMINFO", oldpath)- }-- if rv != C.ERR {- return nil- }- }-- switch rsn {- case 1:- return errors.New("hardcopy terminal")- case 0:- return errors.New("terminal definition not found")- case -1:- return errors.New("terminfo database missing")- default:- return errors.New("setupterm failed (other)")- }-}--// This program is used to collect data from the system's terminfo library,-// and write it into Go source code. That is, we maintain our terminfo-// capabilities encoded in the program. It should never need to be run by-// an end user, but developers can use this to add codes for additional-// terminal types.-//-// If a terminal name ending with -truecolor is given, and we cannot find-// one, we will try to fabricte one from either the -256color (if present)-// or the unadorned base name, adding the XTerm specific 24-bit color-// escapes. We believe that all 24-bit capable terminals use the same-// escape sequences, and terminfo has yet to evolve to support this.-func getinfo(name string) (*tcell.Terminfo, error) {- C.noenv()- addTrueColor := false- if err := setupterm(name); err != nil {- if strings.HasSuffix(name, "-truecolor") {- base := name[:len(name)-len("-truecolor")]- // Probably -256color is closest to what we want- if err = setupterm(base + "-256color"); err != nil {- err = setupterm(base)- }- if err == nil {- addTrueColor = true- }- }- if err != nil {- return nil, err- }- }- t := &tcell.Terminfo{}- t.Name = name- t.Colors = tigetnum("colors")- t.Columns = tigetnum("cols")- t.Lines = tigetnum("lines")- t.Bell = tigetstr("bel")- t.Clear = tigetstr("clear")- t.EnterCA = tigetstr("smcup")- t.ExitCA = tigetstr("rmcup")- t.ShowCursor = tigetstr("cnorm")- t.HideCursor = tigetstr("civis")- t.AttrOff = tigetstr("sgr0")- t.Underline = tigetstr("smul")- t.Bold = tigetstr("bold")- t.Blink = tigetstr("blink")- t.Dim = tigetstr("dim")- t.Reverse = tigetstr("rev")- t.EnterKeypad = tigetstr("smkx")- t.ExitKeypad = tigetstr("rmkx")- t.SetFg = tigetstr("setaf")- t.SetBg = tigetstr("setab")- t.SetCursor = tigetstr("cup")- t.CursorBack1 = tigetstr("cub1")- t.CursorUp1 = tigetstr("cuu1")- t.KeyF1 = tigetstr("kf1")- t.KeyF2 = tigetstr("kf2")- t.KeyF3 = tigetstr("kf3")- t.KeyF4 = tigetstr("kf4")- t.KeyF5 = tigetstr("kf5")- t.KeyF6 = tigetstr("kf6")- t.KeyF7 = tigetstr("kf7")- t.KeyF8 = tigetstr("kf8")- t.KeyF9 = tigetstr("kf9")- t.KeyF10 = tigetstr("kf10")- t.KeyF11 = tigetstr("kf11")- t.KeyF12 = tigetstr("kf12")- t.KeyF13 = tigetstr("kf13")- t.KeyF14 = tigetstr("kf14")- t.KeyF15 = tigetstr("kf15")- t.KeyF16 = tigetstr("kf16")- t.KeyF17 = tigetstr("kf17")- t.KeyF18 = tigetstr("kf18")- t.KeyF19 = tigetstr("kf19")- t.KeyF20 = tigetstr("kf20")- t.KeyF21 = tigetstr("kf21")- t.KeyF22 = tigetstr("kf22")- t.KeyF23 = tigetstr("kf23")- t.KeyF24 = tigetstr("kf24")- t.KeyF25 = tigetstr("kf25")- t.KeyF26 = tigetstr("kf26")- t.KeyF27 = tigetstr("kf27")- t.KeyF28 = tigetstr("kf28")- t.KeyF29 = tigetstr("kf29")- t.KeyF30 = tigetstr("kf30")- t.KeyF31 = tigetstr("kf31")- t.KeyF32 = tigetstr("kf32")- t.KeyF33 = tigetstr("kf33")- t.KeyF34 = tigetstr("kf34")- t.KeyF35 = tigetstr("kf35")- t.KeyF36 = tigetstr("kf36")- t.KeyF37 = tigetstr("kf37")- t.KeyF38 = tigetstr("kf38")- t.KeyF39 = tigetstr("kf39")- t.KeyF40 = tigetstr("kf40")- t.KeyF41 = tigetstr("kf41")- t.KeyF42 = tigetstr("kf42")- t.KeyF43 = tigetstr("kf43")- t.KeyF44 = tigetstr("kf44")- t.KeyF45 = tigetstr("kf45")- t.KeyF46 = tigetstr("kf46")- t.KeyF47 = tigetstr("kf47")- t.KeyF48 = tigetstr("kf48")- t.KeyF49 = tigetstr("kf49")- t.KeyF50 = tigetstr("kf50")- t.KeyF51 = tigetstr("kf51")- t.KeyF52 = tigetstr("kf52")- t.KeyF53 = tigetstr("kf53")- t.KeyF54 = tigetstr("kf54")- t.KeyF55 = tigetstr("kf55")- t.KeyF56 = tigetstr("kf56")- t.KeyF57 = tigetstr("kf57")- t.KeyF58 = tigetstr("kf58")- t.KeyF59 = tigetstr("kf59")- t.KeyF60 = tigetstr("kf60")- t.KeyF61 = tigetstr("kf61")- t.KeyF62 = tigetstr("kf62")- t.KeyF63 = tigetstr("kf63")- t.KeyF64 = tigetstr("kf64")- t.KeyInsert = tigetstr("kich1")- t.KeyDelete = tigetstr("kdch1")- t.KeyBackspace = tigetstr("kbs")- t.KeyHome = tigetstr("khome")- t.KeyEnd = tigetstr("kend")- t.KeyUp = tigetstr("kcuu1")- t.KeyDown = tigetstr("kcud1")- t.KeyRight = tigetstr("kcuf1")- t.KeyLeft = tigetstr("kcub1")- t.KeyPgDn = tigetstr("knp")- t.KeyPgUp = tigetstr("kpp")- t.KeyBacktab = tigetstr("kcbt")- t.KeyExit = tigetstr("kext")- t.KeyCancel = tigetstr("kcan")- t.KeyPrint = tigetstr("kprt")- t.KeyHelp = tigetstr("khlp")- t.KeyClear = tigetstr("kclr")- t.AltChars = tigetstr("acsc")- t.EnterAcs = tigetstr("smacs")- t.ExitAcs = tigetstr("rmacs")- t.EnableAcs = tigetstr("enacs")- t.Mouse = tigetstr("kmous")- t.KeyShfRight = tigetstr("kRIT")- t.KeyShfLeft = tigetstr("kLFT")- t.KeyShfHome = tigetstr("kHOM")- t.KeyShfEnd = tigetstr("kEND")-- // Terminfo lacks descriptions for a bunch of modified keys,- // but modern XTerm and emulators often have them. Let's add them,- // if the shifted right and left arrows are defined.- if t.KeyShfRight == "\x1b[1;2C" && t.KeyShfLeft == "\x1b[1;2D" {- t.KeyShfUp = "\x1b[1;2A"- t.KeyShfDown = "\x1b[1;2B"- t.KeyMetaUp = "\x1b[1;9A"- t.KeyMetaDown = "\x1b[1;9B"- t.KeyMetaRight = "\x1b[1;9C"- t.KeyMetaLeft = "\x1b[1;9D"- t.KeyAltUp = "\x1b[1;3A"- t.KeyAltDown = "\x1b[1;3B"- t.KeyAltRight = "\x1b[1;3C"- t.KeyAltLeft = "\x1b[1;3D"- t.KeyCtrlUp = "\x1b[1;5A"- t.KeyCtrlDown = "\x1b[1;5B"- t.KeyCtrlRight = "\x1b[1;5C"- t.KeyCtrlLeft = "\x1b[1;5D"- t.KeyAltShfUp = "\x1b[1;4A"- t.KeyAltShfDown = "\x1b[1;4B"- t.KeyAltShfRight = "\x1b[1;4C"- t.KeyAltShfLeft = "\x1b[1;4D"-- t.KeyMetaShfUp = "\x1b[1;10A"- t.KeyMetaShfDown = "\x1b[1;10B"- t.KeyMetaShfRight = "\x1b[1;10C"- t.KeyMetaShfLeft = "\x1b[1;10D"-- t.KeyCtrlShfUp = "\x1b[1;6A"- t.KeyCtrlShfDown = "\x1b[1;6B"- t.KeyCtrlShfRight = "\x1b[1;6C"- t.KeyCtrlShfLeft = "\x1b[1;6D"- }- // And also for Home and End- if t.KeyShfHome == "\x1b[1;2H" && t.KeyShfEnd == "\x1b[1;2F" {- t.KeyCtrlHome = "\x1b[1;5H"- t.KeyCtrlEnd = "\x1b[1;5F"- t.KeyAltHome = "\x1b[1;9H"- t.KeyAltEnd = "\x1b[1;9F"- t.KeyCtrlShfHome = "\x1b[1;6H"- t.KeyCtrlShfEnd = "\x1b[1;6F"- t.KeyAltShfHome = "\x1b[1;4H"- t.KeyAltShfEnd = "\x1b[1;4F"- t.KeyMetaShfHome = "\x1b[1;10H"- t.KeyMetaShfEnd = "\x1b[1;10F"- }-- // And the same thing for rxvt and workalikes (Eterm, aterm, etc.)- // It seems that urxvt at least send ESC as ALT prefix for these,- // although some places seem to indicate a separate ALT key sesquence.- if t.KeyShfRight == "\x1b[c" && t.KeyShfLeft == "\x1b[d" {- t.KeyShfUp = "\x1b[a"- t.KeyShfDown = "\x1b[b"- t.KeyCtrlUp = "\x1b[Oa"- t.KeyCtrlDown = "\x1b[Ob"- t.KeyCtrlRight = "\x1b[Oc"- t.KeyCtrlLeft = "\x1b[Od"- }- if t.KeyShfHome == "\x1b[7$" && t.KeyShfEnd == "\x1b[8$" {- t.KeyCtrlHome = "\x1b[7^"- t.KeyCtrlEnd = "\x1b[8^"- }-- // If the kmous entry is present, then we need to record the- // the codes to enter and exit mouse mode. Sadly, this is not- // part of the terminfo databases anywhere that I've found, but- // is an extension. The escape codes are documented in the XTerm- // manual, and all terminals that have kmous are expected to- // use these same codes, unless explicitly configured otherwise- // vi XM. Note that in any event, we only known how to parse either- // x11 or SGR mouse events -- if your terminal doesn't support one- // of these two forms, you maybe out of luck.- t.MouseMode = tigetstr("XM")- if t.Mouse != "" && t.MouseMode == "" {- // we anticipate that all xterm mouse tracking compatible- // terminals understand mouse tracking (1000), but we hope- // that those that don't understand any-event tracking (1003)- // will at least ignore it. Likewise we hope that terminals- // that don't understand SGR reporting (1006) just ignore it.- t.MouseMode = "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;" +- "\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c"- }-- // We only support colors in ANSI 8 or 256 color mode.- if t.Colors < 8 || t.SetFg == "" {- t.Colors = 0- }- if t.SetCursor == "" {- return nil, errors.New("terminal not cursor addressable")- }-- // For padding, we lookup the pad char. If that isn't present,- // and npc is *not* set, then we assume a null byte.- t.PadChar = tigetstr("pad")- if t.PadChar == "" {- if !tigetflag("npc") {- t.PadChar = "\u0000"- }- }-- // For some terminals we fabricate a -truecolor entry, that may- // not exist in terminfo.- if addTrueColor {- t.SetFgRGB = "\x1b[38;2;%p1%d;%p2%d;%p3%dm"- t.SetBgRGB = "\x1b[48;2;%p1%d;%p2%d;%p3%dm"- t.SetFgBgRGB = "\x1b[38;2;%p1%d;%p2%d;%p3%d;" +- "48;2;%p4%d;%p5%d;%p6%dm"- }-- // For terminals that use "standard" SGR sequences, lets combine the- // foreground and background together.- if strings.HasPrefix(t.SetFg, "\x1b[") &&- strings.HasPrefix(t.SetBg, "\x1b[") &&- strings.HasSuffix(t.SetFg, "m") &&- strings.HasSuffix(t.SetBg, "m") {- fg := t.SetFg[:len(t.SetFg)-1]- r := regexp.MustCompile("%p1")- bg := r.ReplaceAllString(t.SetBg[2:], "%p2")- t.SetFgBg = fg + ";" + bg- }-- return t, nil-}--func dotGoAddInt(w io.Writer, n string, i int) {- if i == 0 {- // initialized to 0, ignore- return- }- fmt.Fprintf(w, " %-13s %d,\n", n+":", i)-}-func dotGoAddStr(w io.Writer, n string, s string) {- if s == "" {- return- }- fmt.Fprintf(w, " %-13s %q,\n", n+":", s)-}--func dotGoAddArr(w io.Writer, n string, a []string) {- if len(a) == 0 {- return- }- fmt.Fprintf(w, " %-13s []string{", n+":")- did := false- for _, b := range a {- if did {- fmt.Fprint(w, ", ")- }- did = true- fmt.Fprintf(w, "%q", b)- }- fmt.Fprintln(w, "},")-}--func dotGoHeader(w io.Writer) {- fmt.Fprintf(w, "// Generated by %s (%s/%s) on %s.\n",- os.Args[0],- runtime.GOOS, runtime.GOARCH,- time.Now().Format(time.UnixDate))- fmt.Fprintln(w, "// DO NOT HAND-EDIT")- fmt.Fprintln(w, "")- fmt.Fprintln(w, "package tcell")- fmt.Fprintln(w, "")- fmt.Fprintln(w, "func init() {")-}--func dotGoTrailer(w io.Writer) {- fmt.Fprintln(w, "}")-}--func dotGoInfo(w io.Writer, t *tcell.Terminfo) {- fmt.Fprintln(w, " AddTerminfo(&Terminfo{")- dotGoAddStr(w, "Name", t.Name)- dotGoAddArr(w, "Aliases", t.Aliases)- dotGoAddInt(w, "Columns", t.Columns)- dotGoAddInt(w, "Lines", t.Lines)- dotGoAddInt(w, "Colors", t.Colors)- dotGoAddStr(w, "Bell", t.Bell)- dotGoAddStr(w, "Clear", t.Clear)- dotGoAddStr(w, "EnterCA", t.EnterCA)- dotGoAddStr(w, "ExitCA", t.ExitCA)- dotGoAddStr(w, "ShowCursor", t.ShowCursor)- dotGoAddStr(w, "HideCursor", t.HideCursor)- dotGoAddStr(w, "AttrOff", t.AttrOff)- dotGoAddStr(w, "Underline", t.Underline)- dotGoAddStr(w, "Bold", t.Bold)- dotGoAddStr(w, "Dim", t.Dim)- dotGoAddStr(w, "Blink", t.Blink)- dotGoAddStr(w, "Reverse", t.Reverse)- dotGoAddStr(w, "EnterKeypad", t.EnterKeypad)- dotGoAddStr(w, "ExitKeypad", t.ExitKeypad)- dotGoAddStr(w, "SetFg", t.SetFg)- dotGoAddStr(w, "SetBg", t.SetBg)- dotGoAddStr(w, "SetFgBg", t.SetFgBg)- dotGoAddStr(w, "PadChar", t.PadChar)- dotGoAddStr(w, "AltChars", t.AltChars)- dotGoAddStr(w, "EnterAcs", t.EnterAcs)- dotGoAddStr(w, "ExitAcs", t.ExitAcs)- dotGoAddStr(w, "EnableAcs", t.EnableAcs)- dotGoAddStr(w, "SetFgRGB", t.SetFgRGB)- dotGoAddStr(w, "SetBgRGB", t.SetBgRGB)- dotGoAddStr(w, "SetFgBgRGB", t.SetFgBgRGB)- dotGoAddStr(w, "Mouse", t.Mouse)- dotGoAddStr(w, "MouseMode", t.MouseMode)- dotGoAddStr(w, "SetCursor", t.SetCursor)- dotGoAddStr(w, "CursorBack1", t.CursorBack1)- dotGoAddStr(w, "CursorUp1", t.CursorUp1)- dotGoAddStr(w, "KeyUp", t.KeyUp)- dotGoAddStr(w, "KeyDown", t.KeyDown)- dotGoAddStr(w, "KeyRight", t.KeyRight)- dotGoAddStr(w, "KeyLeft", t.KeyLeft)- dotGoAddStr(w, "KeyInsert", t.KeyInsert)- dotGoAddStr(w, "KeyDelete", t.KeyDelete)- dotGoAddStr(w, "KeyBackspace", t.KeyBackspace)- dotGoAddStr(w, "KeyHome", t.KeyHome)- dotGoAddStr(w, "KeyEnd", t.KeyEnd)- dotGoAddStr(w, "KeyPgUp", t.KeyPgUp)- dotGoAddStr(w, "KeyPgDn", t.KeyPgDn)- dotGoAddStr(w, "KeyF1", t.KeyF1)- dotGoAddStr(w, "KeyF2", t.KeyF2)- dotGoAddStr(w, "KeyF3", t.KeyF3)- dotGoAddStr(w, "KeyF4", t.KeyF4)- dotGoAddStr(w, "KeyF5", t.KeyF5)- dotGoAddStr(w, "KeyF6", t.KeyF6)- dotGoAddStr(w, "KeyF7", t.KeyF7)- dotGoAddStr(w, "KeyF8", t.KeyF8)- dotGoAddStr(w, "KeyF9", t.KeyF9)- dotGoAddStr(w, "KeyF10", t.KeyF10)- dotGoAddStr(w, "KeyF11", t.KeyF11)- dotGoAddStr(w, "KeyF12", t.KeyF12)- dotGoAddStr(w, "KeyF13", t.KeyF13)- dotGoAddStr(w, "KeyF14", t.KeyF14)- dotGoAddStr(w, "KeyF15", t.KeyF15)- dotGoAddStr(w, "KeyF16", t.KeyF16)- dotGoAddStr(w, "KeyF17", t.KeyF17)- dotGoAddStr(w, "KeyF18", t.KeyF18)- dotGoAddStr(w, "KeyF19", t.KeyF19)- dotGoAddStr(w, "KeyF20", t.KeyF20)- dotGoAddStr(w, "KeyF21", t.KeyF21)- dotGoAddStr(w, "KeyF22", t.KeyF22)- dotGoAddStr(w, "KeyF23", t.KeyF23)- dotGoAddStr(w, "KeyF24", t.KeyF24)- dotGoAddStr(w, "KeyF25", t.KeyF25)- dotGoAddStr(w, "KeyF26", t.KeyF26)- dotGoAddStr(w, "KeyF27", t.KeyF27)- dotGoAddStr(w, "KeyF28", t.KeyF28)- dotGoAddStr(w, "KeyF29", t.KeyF29)- dotGoAddStr(w, "KeyF30", t.KeyF30)- dotGoAddStr(w, "KeyF31", t.KeyF31)- dotGoAddStr(w, "KeyF32", t.KeyF32)- dotGoAddStr(w, "KeyF33", t.KeyF33)- dotGoAddStr(w, "KeyF34", t.KeyF34)- dotGoAddStr(w, "KeyF35", t.KeyF35)- dotGoAddStr(w, "KeyF36", t.KeyF36)- dotGoAddStr(w, "KeyF37", t.KeyF37)- dotGoAddStr(w, "KeyF38", t.KeyF38)- dotGoAddStr(w, "KeyF39", t.KeyF39)- dotGoAddStr(w, "KeyF40", t.KeyF40)- dotGoAddStr(w, "KeyF41", t.KeyF41)- dotGoAddStr(w, "KeyF42", t.KeyF42)- dotGoAddStr(w, "KeyF43", t.KeyF43)- dotGoAddStr(w, "KeyF44", t.KeyF44)- dotGoAddStr(w, "KeyF45", t.KeyF45)- dotGoAddStr(w, "KeyF46", t.KeyF46)- dotGoAddStr(w, "KeyF47", t.KeyF47)- dotGoAddStr(w, "KeyF48", t.KeyF48)- dotGoAddStr(w, "KeyF49", t.KeyF49)- dotGoAddStr(w, "KeyF50", t.KeyF50)- dotGoAddStr(w, "KeyF51", t.KeyF51)- dotGoAddStr(w, "KeyF52", t.KeyF52)- dotGoAddStr(w, "KeyF53", t.KeyF53)- dotGoAddStr(w, "KeyF54", t.KeyF54)- dotGoAddStr(w, "KeyF55", t.KeyF55)- dotGoAddStr(w, "KeyF56", t.KeyF56)- dotGoAddStr(w, "KeyF57", t.KeyF57)- dotGoAddStr(w, "KeyF58", t.KeyF58)- dotGoAddStr(w, "KeyF59", t.KeyF59)- dotGoAddStr(w, "KeyF60", t.KeyF60)- dotGoAddStr(w, "KeyF61", t.KeyF61)- dotGoAddStr(w, "KeyF62", t.KeyF62)- dotGoAddStr(w, "KeyF63", t.KeyF63)- dotGoAddStr(w, "KeyF64", t.KeyF64)- dotGoAddStr(w, "KeyCancel", t.KeyCancel)- dotGoAddStr(w, "KeyPrint", t.KeyPrint)- dotGoAddStr(w, "KeyExit", t.KeyExit)- dotGoAddStr(w, "KeyHelp", t.KeyHelp)- dotGoAddStr(w, "KeyClear", t.KeyClear)- dotGoAddStr(w, "KeyBacktab", t.KeyBacktab)- dotGoAddStr(w, "KeyShfLeft", t.KeyShfLeft)- dotGoAddStr(w, "KeyShfRight", t.KeyShfRight)- dotGoAddStr(w, "KeyShfUp", t.KeyShfUp)- dotGoAddStr(w, "KeyShfDown", t.KeyShfDown)- dotGoAddStr(w, "KeyCtrlLeft", t.KeyCtrlLeft)- dotGoAddStr(w, "KeyCtrlRight", t.KeyCtrlRight)- dotGoAddStr(w, "KeyCtrlUp", t.KeyCtrlUp)- dotGoAddStr(w, "KeyCtrlDown", t.KeyCtrlDown)- dotGoAddStr(w, "KeyMetaLeft", t.KeyMetaLeft)- dotGoAddStr(w, "KeyMetaRight", t.KeyMetaRight)- dotGoAddStr(w, "KeyMetaUp", t.KeyMetaUp)- dotGoAddStr(w, "KeyMetaDown", t.KeyMetaDown)- dotGoAddStr(w, "KeyAltLeft", t.KeyAltLeft)- dotGoAddStr(w, "KeyAltRight", t.KeyAltRight)- dotGoAddStr(w, "KeyAltUp", t.KeyAltUp)- dotGoAddStr(w, "KeyAltDown", t.KeyAltDown)- dotGoAddStr(w, "KeyAltShfLeft", t.KeyAltShfLeft)- dotGoAddStr(w, "KeyAltShfRight", t.KeyAltShfRight)- dotGoAddStr(w, "KeyAltShfUp", t.KeyAltShfUp)- dotGoAddStr(w, "KeyAltShfDown", t.KeyAltShfDown)- dotGoAddStr(w, "KeyMetaShfLeft", t.KeyMetaShfLeft)- dotGoAddStr(w, "KeyMetaShfRight", t.KeyMetaShfRight)- dotGoAddStr(w, "KeyMetaShfUp", t.KeyMetaShfUp)- dotGoAddStr(w, "KeyMetaShfDown", t.KeyMetaShfDown)- dotGoAddStr(w, "KeyCtrlShfLeft", t.KeyCtrlShfLeft)- dotGoAddStr(w, "KeyCtrlShfRight", t.KeyCtrlShfRight)- dotGoAddStr(w, "KeyCtrlShfUp", t.KeyCtrlShfUp)- dotGoAddStr(w, "KeyCtrlShfDown", t.KeyCtrlShfDown)- dotGoAddStr(w, "KeyShfHome", t.KeyShfHome)- dotGoAddStr(w, "KeyShfEnd", t.KeyShfEnd)- dotGoAddStr(w, "KeyCtrlHome", t.KeyCtrlHome)- dotGoAddStr(w, "KeyCtrlEnd", t.KeyCtrlEnd)- dotGoAddStr(w, "KeyMetaHome", t.KeyMetaHome)- dotGoAddStr(w, "KeyMetaEnd", t.KeyMetaEnd)- dotGoAddStr(w, "KeyAltHome", t.KeyAltHome)- dotGoAddStr(w, "KeyAltEnd", t.KeyAltEnd)- dotGoAddStr(w, "KeyCtrlShfHome", t.KeyCtrlShfHome)- dotGoAddStr(w, "KeyCtrlShfEnd", t.KeyCtrlShfEnd)- dotGoAddStr(w, "KeyMetaShfHome", t.KeyMetaShfHome)- dotGoAddStr(w, "KeyMetaShfEnd", t.KeyMetaShfEnd)- dotGoAddStr(w, "KeyAltShfHome", t.KeyAltShfHome)- dotGoAddStr(w, "KeyAltShfEnd", t.KeyAltShfEnd)- fmt.Fprintln(w, " })")-}--func main() {- gofile := ""- jsonfile := ""- nofatal := false- quiet := false-- flag.StringVar(&gofile, "go", "", "generate go source in named file")- flag.StringVar(&jsonfile, "json", "", "generate json in named file")- flag.BoolVar(&nofatal, "nofatal", false, "errors are not fatal")- flag.BoolVar(&quiet, "quiet", false, "suppress error messages")- flag.Parse()- var e error- js := []byte{}-- args := flag.Args()- if len(args) == 0 {- args = []string{os.Getenv("TERM")}- }-- tdata := make(map[string]*tcell.Terminfo)- adata := make(map[string]string)- for _, term := range args {- if arr := strings.SplitN(term, "=", 2); len(arr) == 2 {- adata[arr[0]] = arr[1]- } else if t, e := getinfo(term); e != nil {- if !quiet {- fmt.Fprintf(os.Stderr,- "Failed loading %s: %v\n", term, e)- }- if !nofatal {- os.Exit(1)- }- } else {- tdata[t.Name] = t- if t2, e := getinfo(term + "-256color"); e == nil {- tdata[t2.Name] = t2- }- }- }- for alias, canon := range adata {- if t, ok := tdata[canon]; ok {- t.Aliases = append(t.Aliases, alias)- // sort aliases to avoid extra diffs- sort.Strings(t.Aliases)- } else {- if !quiet {- fmt.Fprintf(os.Stderr,- "Alias %s missing canonical %s\n",- alias, canon)- }- if !nofatal {- os.Exit(1)- }- }- }-- if gofile != "" {- w := os.Stdout- if gofile != "-" {- if w, e = os.Create(gofile); e != nil {- fmt.Fprintf(os.Stderr, "Failed: %v", e)- os.Exit(1)- }- }- dotGoHeader(w)- for _, term := range args {- if t := tdata[term]; t != nil {- dotGoInfo(w, t)- }- if t := tdata[term+"-256color"]; t != nil {- dotGoInfo(w, t)- }- }- dotGoTrailer(w)- if w != os.Stdout {- w.Close()- }- } else if jsonfile != "" {- w := os.Stdout- if jsonfile != "-" {- if w, e = os.Create(jsonfile); e != nil {- fmt.Fprintf(os.Stderr, "Failed: %v", e)- }- }- for _, term := range args {- if t := tdata[term]; t != nil {- js, e = json.Marshal(t)- fmt.Fprintln(w, string(js))- }- // arguably if there is more than one term, this- // should be a javascript array, but that's not how- // we load it. We marshal objects one at a time from- // the file.- }- if e != nil {- fmt.Fprintf(os.Stderr, "Failed: %v", e)- os.Exit(1)- }- } else {- for _, term := range args {- if t := tdata[term]; t != nil {- js, e := json.Marshal(tdata[term])- if e != nil {- fmt.Fprintf(os.Stderr, "Failed: %v", e)- os.Exit(1)- }- fmt.Fprintln(os.Stdout, string(js))- }- }- }-}
models.txt
@@ -1,46 +0,0 @@-adm3a-aixterm-ansi-aterm-beterm-bsdos-pc-cygwin-d200-d210-dtterm-Eterm-eterm-gnome-hpterm-hz1500-konsole-kterm-linux-pcansi-rxvt-rxvt-unicode-screen-sun-sun-color-tvi910-tvi912-tvi921-tvi925-tvi950-tvi970-vt52-vt100-vt102-vt220-vt320-vt400-vt420-wy50-wy60-wy99-ansi-wy99a-ansi-xfce-xnuppc-xterm-xterm-xterm-truecolor
terminfo.go
@@ -1,773 +0,0 @@-// Copyright 2016 The TCell Authors-//-// Licensed under the Apache License, Version 2.0 (the "License");-// you may not use file except in compliance with the License.-// You may obtain a copy of the license at-//-// http://www.apache.org/licenses/LICENSE-2.0-//-// Unless required by applicable law or agreed to in writing, software-// distributed under the License is distributed on an "AS IS" BASIS,-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.-// See the License for the specific language governing permissions and-// limitations under the License.--package tcell--import (- "bytes"- "encoding/json"- "fmt"- "io"- "os"- "path"- "strconv"- "strings"- "sync"-)--// Terminfo represents a terminfo entry. Note that we use friendly names-// in Go, but when we write out JSON, we use the same names as terminfo.-// The name, aliases and smous, rmous fields do not come from terminfo directly.-type Terminfo struct {- Name string `json:"name"`- Aliases []string `json:"aliases,omitempty"`- Columns int `json:"cols,omitempty"` // cols- Lines int `json:"lines,omitempty"` // lines- Colors int `json:"colors,omitempty"` // colors- Bell string `json:"bell,omitempty"` // bell- Clear string `json:"clear,omitempty"` // clear- EnterCA string `json:"smcup,omitempty"` // smcup- ExitCA string `json:"rmcup,omitempty"` // rmcup- ShowCursor string `json:"cnorm,omitempty"` // cnorm- HideCursor string `json:"civis,omitempty"` // civis- AttrOff string `json:"sgr0,omitempty"` // sgr0- Underline string `json:"smul,omitempty"` // smul- Bold string `json:"bold,omitempty"` // bold- Blink string `json:"blink,omitempty"` // blink- Reverse string `json:"rev,omitempty"` // rev- Dim string `json:"dim,omitempty"` // dim- EnterKeypad string `json:"smkx,omitempty"` // smkx- ExitKeypad string `json:"rmkx,omitempty"` // rmkx- SetFg string `json:"setaf,omitempty"` // setaf- SetBg string `json:"setbg,omitempty"` // setab- SetCursor string `json:"cup,omitempty"` // cup- CursorBack1 string `json:"cub1,omitempty"` // cub1- CursorUp1 string `json:"cuu1,omitempty"` // cuu1- PadChar string `json:"pad,omitempty"` // pad- KeyBackspace string `json:"kbs,omitempty"` // kbs- KeyF1 string `json:"kf1,omitempty"` // kf1- KeyF2 string `json:"kf2,omitempty"` // kf2- KeyF3 string `json:"kf3,omitempty"` // kf3- KeyF4 string `json:"kf4,omitempty"` // kf4- KeyF5 string `json:"kf5,omitempty"` // kf5- KeyF6 string `json:"kf6,omitempty"` // kf6- KeyF7 string `json:"kf7,omitempty"` // kf7- KeyF8 string `json:"kf8,omitempty"` // kf8- KeyF9 string `json:"kf9,omitempty"` // kf9- KeyF10 string `json:"kf10,omitempty"` // kf10- KeyF11 string `json:"kf11,omitempty"` // kf11- KeyF12 string `json:"kf12,omitempty"` // kf12- KeyF13 string `json:"kf13,omitempty"` // kf13- KeyF14 string `json:"kf14,omitempty"` // kf14- KeyF15 string `json:"kf15,omitempty"` // kf15- KeyF16 string `json:"kf16,omitempty"` // kf16- KeyF17 string `json:"kf17,omitempty"` // kf17- KeyF18 string `json:"kf18,omitempty"` // kf18- KeyF19 string `json:"kf19,omitempty"` // kf19- KeyF20 string `json:"kf20,omitempty"` // kf20- KeyF21 string `json:"kf21,omitempty"` // kf21- KeyF22 string `json:"kf22,omitempty"` // kf22- KeyF23 string `json:"kf23,omitempty"` // kf23- KeyF24 string `json:"kf24,omitempty"` // kf24- KeyF25 string `json:"kf25,omitempty"` // kf25- KeyF26 string `json:"kf26,omitempty"` // kf26- KeyF27 string `json:"kf27,omitempty"` // kf27- KeyF28 string `json:"kf28,omitempty"` // kf28- KeyF29 string `json:"kf29,omitempty"` // kf29- KeyF30 string `json:"kf30,omitempty"` // kf30- KeyF31 string `json:"kf31,omitempty"` // kf31- KeyF32 string `json:"kf32,omitempty"` // kf32- KeyF33 string `json:"kf33,omitempty"` // kf33- KeyF34 string `json:"kf34,omitempty"` // kf34- KeyF35 string `json:"kf35,omitempty"` // kf35- KeyF36 string `json:"kf36,omitempty"` // kf36- KeyF37 string `json:"kf37,omitempty"` // kf37- KeyF38 string `json:"kf38,omitempty"` // kf38- KeyF39 string `json:"kf39,omitempty"` // kf39- KeyF40 string `json:"kf40,omitempty"` // kf40- KeyF41 string `json:"kf41,omitempty"` // kf41- KeyF42 string `json:"kf42,omitempty"` // kf42- KeyF43 string `json:"kf43,omitempty"` // kf43- KeyF44 string `json:"kf44,omitempty"` // kf44- KeyF45 string `json:"kf45,omitempty"` // kf45- KeyF46 string `json:"kf46,omitempty"` // kf46- KeyF47 string `json:"kf47,omitempty"` // kf47- KeyF48 string `json:"kf48,omitempty"` // kf48- KeyF49 string `json:"kf49,omitempty"` // kf49- KeyF50 string `json:"kf50,omitempty"` // kf50- KeyF51 string `json:"kf51,omitempty"` // kf51- KeyF52 string `json:"kf52,omitempty"` // kf52- KeyF53 string `json:"kf53,omitempty"` // kf53- KeyF54 string `json:"kf54,omitempty"` // kf54- KeyF55 string `json:"kf55,omitempty"` // kf55- KeyF56 string `json:"kf56,omitempty"` // kf56- KeyF57 string `json:"kf57,omitempty"` // kf57- KeyF58 string `json:"kf58,omitempty"` // kf58- KeyF59 string `json:"kf59,omitempty"` // kf59- KeyF60 string `json:"kf60,omitempty"` // kf60- KeyF61 string `json:"kf61,omitempty"` // kf61- KeyF62 string `json:"kf62,omitempty"` // kf62- KeyF63 string `json:"kf63,omitempty"` // kf63- KeyF64 string `json:"kf64,omitempty"` // kf64- KeyInsert string `json:"kich,omitempty"` // kich1- KeyDelete string `json:"kdch,omitempty"` // kdch1- KeyHome string `json:"khome,omitempty"` // khome- KeyEnd string `json:"kend,omitempty"` // kend- KeyHelp string `json:"khlp,omitempty"` // khlp- KeyPgUp string `json:"kpp,omitempty"` // kpp- KeyPgDn string `json:"knp,omitempty"` // knp- KeyUp string `json:"kcuu1,omitempty"` // kcuu1- KeyDown string `json:"kcud1,omitempty"` // kcud1- KeyLeft string `json:"kcub1,omitempty"` // kcub1- KeyRight string `json:"kcuf1,omitempty"` // kcuf1- KeyBacktab string `json:"kcbt,omitempty"` // kcbt- KeyExit string `json:"kext,omitempty"` // kext- KeyClear string `json:"kclr,omitempty"` // kclr- KeyPrint string `json:"kprt,omitempty"` // kprt- KeyCancel string `json:"kcan,omitempty"` // kcan- Mouse string `json:"kmous,omitempty"` // kmous- MouseMode string `json:"XM,omitempty"` // XM- AltChars string `json:"acsc,omitempty"` // acsc- EnterAcs string `json:"smacs,omitempty"` // smacs- ExitAcs string `json:"rmacs,omitempty"` // rmacs- EnableAcs string `json:"enacs,omitempty"` // enacs- KeyShfRight string `json:"kRIT,omitempty"` // kRIT- KeyShfLeft string `json:"kLFT,omitempty"` // kLFT- KeyShfHome string `json:"kHOM,omitempty"` // kHOM- KeyShfEnd string `json:"kEND,omitempty"` // kEND-- // These are non-standard extensions to terminfo. This includes- // true color support, and some additional keys. Its kind of bizarre- // that shifted variants of left and right exist, but not up and down.- // Terminal support for these are going to vary amongst XTerm- // emulations, so don't depend too much on them in your application.-- SetFgBg string `json:"_setfgbg,omitempty"` // setfgbg- SetFgBgRGB string `json:"_setfgbgrgb,omitempty"` // setfgbgrgb- SetFgRGB string `json:"_setfrgb,omitempty"` // setfrgb- SetBgRGB string `json:"_setbrgb,omitempty"` // setbrgb- KeyShfUp string `json:"_kscu1,omitempty"` // shift-up- KeyShfDown string `json:"_kscud1,omitempty"` // shift-down- KeyCtrlUp string `json:"_kccu1,omitempty"` // ctrl-up- KeyCtrlDown string `json:"_kccud1,omitempty"` // ctrl-left- KeyCtrlRight string `json:"_kccuf1,omitempty"` // ctrl-right- KeyCtrlLeft string `json:"_kccub1,omitempty"` // ctrl-left- KeyMetaUp string `json:"_kmcu1,omitempty"` // meta-up- KeyMetaDown string `json:"_kmcud1,omitempty"` // meta-left- KeyMetaRight string `json:"_kmcuf1,omitempty"` // meta-right- KeyMetaLeft string `json:"_kmcub1,omitempty"` // meta-left- KeyAltUp string `json:"_kacu1,omitempty"` // alt-up- KeyAltDown string `json:"_kacud1,omitempty"` // alt-left- KeyAltRight string `json:"_kacuf1,omitempty"` // alt-right- KeyAltLeft string `json:"_kacub1,omitempty"` // alt-left- KeyCtrlHome string `json:"_kchome,omitempty"`- KeyCtrlEnd string `json:"_kcend,omitempty"`- KeyMetaHome string `json:"_kmhome,omitempty"`- KeyMetaEnd string `json:"_kmend,omitempty"`- KeyAltHome string `json:"_kahome,omitempty"`- KeyAltEnd string `json:"_kaend,omitempty"`- KeyAltShfUp string `json:"_kascu1,omitempty"`- KeyAltShfDown string `json:"_kascud1,omitempty"`- KeyAltShfLeft string `json:"_kascub1,omitempty"`- KeyAltShfRight string `json:"_kascuf1,omitempty"`- KeyMetaShfUp string `json:"_kmscu1,omitempty"`- KeyMetaShfDown string `json:"_kmscud1,omitempty"`- KeyMetaShfLeft string `json:"_kmscub1,omitempty"`- KeyMetaShfRight string `json:"_kmscuf1,omitempty"`- KeyCtrlShfUp string `json:"_kcscu1,omitempty"`- KeyCtrlShfDown string `json:"_kcscud1,omitempty"`- KeyCtrlShfLeft string `json:"_kcscub1,omitempty"`- KeyCtrlShfRight string `json:"_kcscuf1,omitempty"`- KeyCtrlShfHome string `json:"_kcHOME,omitempty"`- KeyCtrlShfEnd string `json:"_kcEND,omitempty"`- KeyAltShfHome string `json:"_kaHOME,omitempty"`- KeyAltShfEnd string `json:"_kaEND,omitempty"`- KeyMetaShfHome string `json:"_kmHOME,omitempty"`- KeyMetaShfEnd string `json:"_kmEND,omitempty"`-}--type stackElem struct {- s string- i int- isStr bool- isInt bool-}--type stack []stackElem--func (st stack) Push(v string) stack {- e := stackElem{- s: v,- isStr: true,- }- return append(st, e)-}--func (st stack) Pop() (string, stack) {- v := ""- if len(st) > 0 {- e := st[len(st)-1]- st = st[:len(st)-1]- if e.isStr {- v = e.s- } else {- v = strconv.Itoa(e.i)- }- }- return v, st-}--func (st stack) PopInt() (int, stack) {- if len(st) > 0 {- e := st[len(st)-1]- st = st[:len(st)-1]- if e.isInt {- return e.i, st- } else if e.isStr {- i, _ := strconv.Atoi(e.s)- return i, st- }- }- return 0, st-}--func (st stack) PopBool() (bool, stack) {- if len(st) > 0 {- e := st[len(st)-1]- st = st[:len(st)-1]- if e.isStr {- if e.s == "1" {- return true, st- } else {- return false, st- }- } else if e.i == 1 {- return true, st- } else {- return false, st- }- }- return false, st-}--func (st stack) PushInt(i int) stack {- e := stackElem{- i: i,- isInt: true,- }- return append(st, e)-}--func (st stack) PushBool(i bool) stack {- if i {- return st.PushInt(1)- }- return st.PushInt(0)-}--func nextch(s string, index int) (byte, int) {- if index < len(s) {- return s[index], index + 1- }- return 0, index-}--// static vars-var svars [26]string--// paramsBuffer handles some persistent state for TParam. Technically we-// could probably dispense with this, but caching buffer arrays gives us-// a nice little performance boost. Furthermore, we know that TParam is-// rarely (never?) called re-entrantly, so we can just reuse the same-// buffers, making it thread-safe by stashing a lock.-type paramsBuffer struct {- out bytes.Buffer- buf bytes.Buffer- lk sync.Mutex-}--// Start initializes the params buffer with the initial string data.-// It also locks the paramsBuffer. The caller must call End() when-// finished.-func (pb *paramsBuffer) Start(s string) {- pb.lk.Lock()- pb.out.Reset()- pb.buf.Reset()- pb.buf.WriteString(s)-}--// End returns the final output from TParam, but it also releases the lock.-func (pb *paramsBuffer) End() string {- s := pb.out.String()- pb.lk.Unlock()- return s-}--// NextCh returns the next input character to the expander.-func (pb *paramsBuffer) NextCh() (byte, error) {- return pb.buf.ReadByte()-}--// PutCh "emits" (rather schedules for output) a single byte character.-func (pb *paramsBuffer) PutCh(ch byte) {- pb.out.WriteByte(ch)-}--// PutString schedules a string for output.-func (pb *paramsBuffer) PutString(s string) {- pb.out.WriteString(s)-}--var pb = ¶msBuffer{}--// TParm takes a terminfo parameterized string, such as setaf or cup, and-// evaluates the string, and returns the result with the parameter-// applied.-func (t *Terminfo) TParm(s string, p ...int) string {- var stk stack- var a, b string- var ai, bi int- var ab bool- var dvars [26]string- var params [9]int-- pb.Start(s)-- // make sure we always have 9 parameters -- makes it easier- // later to skip checks- for i := 0; i < len(params) && i < len(p); i++ {- params[i] = p[i]- }-- nest := 0-- for {-- ch, err := pb.NextCh()- if err != nil {- break- }-- if ch != '%' {- pb.PutCh(ch)- continue- }-- ch, err = pb.NextCh()- if err != nil {- // XXX Error- break- }-- switch ch {- case '%': // quoted %- pb.PutCh(ch)-- case 'i': // increment both parameters (ANSI cup support)- params[0]++- params[1]++-- case 'c', 's':- // NB: these, and 'd' below are special cased for- // efficiency. They could be handled by the richer- // format support below, less efficiently.- a, stk = stk.Pop()- pb.PutString(a)-- case 'd':- ai, stk = stk.PopInt()- pb.PutString(strconv.Itoa(ai))-- case '0', '1', '2', '3', '4', 'x', 'X', 'o', ':':- // This is pretty suboptimal, but this is rarely used.- // None of the mainstream terminals use any of this,- // and it would surprise me if this code is ever- // executed outside of test cases.- f := "%"- if ch == ':' {- ch, _ = pb.NextCh()- }- f += string(ch)- for ch == '+' || ch == '-' || ch == '#' || ch == ' ' {- ch, _ = pb.NextCh()- f += string(ch)- }- for (ch >= '0' && ch <= '9') || ch == '.' {- ch, _ = pb.NextCh()- f += string(ch)- }- switch ch {- case 'd', 'x', 'X', 'o':- ai, stk = stk.PopInt()- pb.PutString(fmt.Sprintf(f, ai))- case 'c', 's':- a, stk = stk.Pop()- pb.PutString(fmt.Sprintf(f, a))- }-- case 'p': // push parameter- ch, _ = pb.NextCh()- ai = int(ch - '1')- if ai >= 0 && ai < len(params) {- stk = stk.PushInt(params[ai])- } else {- stk = stk.PushInt(0)- }-- case 'P': // pop & store variable- ch, _ = pb.NextCh()- if ch >= 'A' && ch <= 'Z' {- svars[int(ch-'A')], stk = stk.Pop()- } else if ch >= 'a' && ch <= 'z' {- dvars[int(ch-'a')], stk = stk.Pop()- }-- case 'g': // recall & push variable- ch, _ = pb.NextCh()- if ch >= 'A' && ch <= 'Z' {- stk = stk.Push(svars[int(ch-'A')])- } else if ch >= 'a' && ch <= 'z' {- stk = stk.Push(dvars[int(ch-'a')])- }-- case '\'': // push(char)- ch, _ = pb.NextCh()- pb.NextCh() // must be ' but we don't check- stk = stk.Push(string(ch))-- case '{': // push(int)- ai = 0- ch, _ = pb.NextCh()- for ch >= '0' && ch <= '9' {- ai *= 10- ai += int(ch - '0')- ch, _ = pb.NextCh()- }- // ch must be '}' but no verification- stk = stk.PushInt(ai)-- case 'l': // push(strlen(pop))- a, stk = stk.Pop()- stk = stk.PushInt(len(a))-- case '+':- bi, stk = stk.PopInt()- ai, stk = stk.PopInt()- stk = stk.PushInt(ai + bi)-- case '-':- bi, stk = stk.PopInt()- ai, stk = stk.PopInt()- stk = stk.PushInt(ai - bi)-- case '*':- bi, stk = stk.PopInt()- ai, stk = stk.PopInt()- stk = stk.PushInt(ai * bi)-- case '/':- bi, stk = stk.PopInt()- ai, stk = stk.PopInt()- if bi != 0 {- stk = stk.PushInt(ai / bi)- } else {- stk = stk.PushInt(0)- }-- case 'm': // push(pop mod pop)- bi, stk = stk.PopInt()- ai, stk = stk.PopInt()- if bi != 0 {- stk = stk.PushInt(ai % bi)- } else {- stk = stk.PushInt(0)- }-- case '&': // AND- bi, stk = stk.PopInt()- ai, stk = stk.PopInt()- stk = stk.PushInt(ai & bi)-- case '|': // OR- bi, stk = stk.PopInt()- ai, stk = stk.PopInt()- stk = stk.PushInt(ai | bi)-- case '^': // XOR- bi, stk = stk.PopInt()- ai, stk = stk.PopInt()- stk = stk.PushInt(ai ^ bi)-- case '~': // bit complement- ai, stk = stk.PopInt()- stk = stk.PushInt(ai ^ -1)-- case '!': // logical NOT- ai, stk = stk.PopInt()- stk = stk.PushBool(ai != 0)-- case '=': // numeric compare or string compare- b, stk = stk.Pop()- a, stk = stk.Pop()- stk = stk.PushBool(a == b)-- case '>': // greater than, numeric- bi, stk = stk.PopInt()- ai, stk = stk.PopInt()- stk = stk.PushBool(ai > bi)-- case '<': // less than, numeric- bi, stk = stk.PopInt()- ai, stk = stk.PopInt()- stk = stk.PushBool(ai < bi)-- case '?': // start conditional-- case 't':- ab, stk = stk.PopBool()- if ab {- // just keep going- break- }- nest = 0- ifloop:- // this loop consumes everything until we hit our else,- // or the end of the conditional- for {- ch, err = pb.NextCh()- if err != nil {- break- }- if ch != '%' {- continue- }- ch, _ = pb.NextCh()- switch ch {- case ';':- if nest == 0 {- break ifloop- }- nest--- case '?':- nest++- case 'e':- if nest == 0 {- break ifloop- }- }- }-- case 'e':- // if we got here, it means we didn't use the else- // in the 't' case above, and we should skip until- // the end of the conditional- nest = 0- elloop:- for {- ch, err = pb.NextCh()- if err != nil {- break- }- if ch != '%' {- continue- }- ch, _ = pb.NextCh()- switch ch {- case ';':- if nest == 0 {- break elloop- }- nest--- case '?':- nest++- }- }-- case ';': // endif-- }- }-- return pb.End()-}--// TPuts emits the string to the writer, but expands inline padding-// indications (of the form $<[delay]> where [delay] is msec) to-// a suitable number of padding characters (usually null bytes) based-// upon the supplied baud. At high baud rates, more padding characters-// will be inserted. All Terminfo based strings should be emitted using-// this function.-func (t *Terminfo) TPuts(w io.Writer, s string, baud int) {- for {- beg := strings.Index(s, "$<")- if beg < 0 {- // Most strings don't need padding, which is good news!- io.WriteString(w, s)- return- }- io.WriteString(w, s[:beg])- s = s[beg+2:]- end := strings.Index(s, ">")- if end < 0 {- // unterminated.. just emit bytes unadulterated- io.WriteString(w, "$<"+s)- return- }- val := s[:end]- s = s[end+1:]- padus := 0- unit := 1000- dot := false- loop:- for i := range val {- switch val[i] {- case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9':- padus *= 10- padus += int(val[i] - '0')- if dot {- unit *= 10- }- case '.':- if !dot {- dot = true- } else {- break loop- }- default:- break loop- }- }- cnt := int(((baud / 8) * padus) / unit)- for cnt > 0 {- io.WriteString(w, t.PadChar)- cnt--- }- }-}--// TGoto returns a string suitable for addressing the cursor at the given-// row and column. The origin 0, 0 is in the upper left corner of the screen.-func (t *Terminfo) TGoto(col, row int) string {- return t.TParm(t.SetCursor, row, col)-}--// TColor returns a string corresponding to the given foreground and background-// colors. Either fg or bg can be set to -1 to elide.-func (t *Terminfo) TColor(fg, bg Color) string {- fi := int(fg)- bi := int(bg)- rv := ""- // As a special case, we map bright colors to lower versions if the- // color table only holds 8. For the remaining 240 colors, the user- // is out of luck. Someday we could create a mapping table, but its- // not worth it.- if t.Colors == 8 {- if fi > 7 && fi < 16 {- fi -= 8- }- if bi > 7 && bi < 16 {- bi -= 8- }- }- if t.Colors > fi && fi >= 0 {- rv += t.TParm(t.SetFg, fi)- }- if t.Colors > bi && bi >= 0 {- rv += t.TParm(t.SetBg, bi)- }- return rv-}--var (- dblock sync.Mutex- terminfos = make(map[string]*Terminfo)- aliases = make(map[string]string)-)--// AddTerminfo can be called to register a new Terminfo entry.-func AddTerminfo(t *Terminfo) {- dblock.Lock()- terminfos[t.Name] = t- for _, x := range t.Aliases {- terminfos[x] = t- }- dblock.Unlock()-}--func loadFromFile(fname string, term string) (*Terminfo, error) {- f, e := os.Open(fname)- if e != nil {- return nil, e- }- d := json.NewDecoder(f)- for {- t := &Terminfo{}- if e := d.Decode(t); e != nil {- if e == io.EOF {- return nil, ErrTermNotFound- }- return nil, e- }- if t.Name == term {- return t, nil- }- }-}--// LookupTerminfo attempts to find a definition for the named $TERM.-// It first looks in the builtin database, which should cover just about-// everyone. If it can't find one there, then it will attempt to read-// one from the JSON file located in either $TCELLDB, $HOME/.tcelldb-// or in this package's source directory as database.json).-func LookupTerminfo(name string) (*Terminfo, error) {- dblock.Lock()- t := terminfos[name]- dblock.Unlock()-- if t == nil {- // Load the database located here. Its expected that TCELLSDB- // points either to a single JSON file.- if pth := os.Getenv("TCELLDB"); pth != "" {- t, _ = loadFromFile(pth, name)- }- if t == nil {- if pth := os.Getenv("HOME"); pth != "" {- fname := path.Join(pth, ".tcelldb")- t, _ = loadFromFile(fname, name)- }- }- if t == nil {- gopath := strings.Split(os.Getenv("GOPATH"),- string(os.PathListSeparator))- fname := path.Join("src",- "github.com", "gdamore", "tcell",- "database.json")- for _, pth := range gopath {- t, _ = loadFromFile(path.Join(pth, fname), name)- if t != nil {- break- }- }- }- if t != nil {- dblock.Lock()- terminfos[name] = t- dblock.Unlock()- }- }- if t == nil {- return nil, ErrTermNotFound- }- return t, nil-}
terminfo/.gitignore
@@ -0,0 +1 @@+mkinfo
terminfo/TERMINALS.md
@@ -0,0 +1,7 @@+TERMINALS+=========++The best way to populate terminals on Debian is to install ncurses,+ncurses-term, screen, tmux, rxvt-unicode, and dvtm. This populates the+the terminfo database so that we can have a reasonable set of starting+terminals.
terminfo/database/1/1178
@@ -0,0 +1 @@+{"name":"adm1178"}
terminfo/database/2/2621
@@ -0,0 +1 @@+{"name":"hp2621"}
terminfo/database/2/2621-wl
@@ -0,0 +1 @@+{"name":"hp2621"}
terminfo/database/2/2621a
@@ -0,0 +1 @@+{"name":"hp2621"}
terminfo/database/3/386at
@@ -0,0 +1 @@+{"name":"att6386"}
terminfo/database/3/3b1
@@ -0,0 +1 @@+{"name":"att7300"}
terminfo/database/4/4410-w
@@ -0,0 +1 @@+{"name":"att5410-w"}
terminfo/database/5/5410-w
@@ -0,0 +1 @@+{"name":"att5410-w"}
terminfo/database/5/5620
@@ -0,0 +1 @@+{"name":"att5620"}
terminfo/database/5/5630-24
@@ -0,0 +1 @@+{"name":"att630-24"}
terminfo/database/5/5630DMD-24
@@ -0,0 +1 @@+{"name":"att630-24"}
terminfo/database/6/6053
@@ -0,0 +1 @@+{"name":"dg6053"}
terminfo/database/6/6053-dg
@@ -0,0 +1 @@+{"name":"dg6053"}
terminfo/database/6/605x
@@ -0,0 +1 @@+{"name":"dg6053"}
terminfo/database/6/605x-dg
@@ -0,0 +1 @@+{"name":"dg6053"}
terminfo/database/6/630MTG-24
@@ -0,0 +1 @@+{"name":"att630-24"}
terminfo/database/7/730MTG-24
@@ -0,0 +1 @@+{"name":"att730-24"}
terminfo/database/7/730MTG-41
@@ -0,0 +1 @@+{"name":"att730-41"}
terminfo/database/7/730MTG-41r
@@ -0,0 +1 @@+{"name":"att730r-41"}
terminfo/database/7/730MTGr
@@ -0,0 +1 @@+{"name":"att730r"}
terminfo/database/7/730MTGr-24
@@ -0,0 +1 @@+{"name":"att730r-24"}
terminfo/database/9/955-hb
@@ -0,0 +1 @@+{"name":"tvi955-hb"}
terminfo/database/9/955-w
@@ -0,0 +1 @@+{"name":"tvi955-w"}
terminfo/database/E/Eterm-256color.gz
terminfo/database/E/Eterm-88color.gz
terminfo/database/E/Eterm-color
@@ -0,0 +1 @@+{"name":"Eterm"}
terminfo/database/E/Eterm.gz
terminfo/database/E/elks-ansi.gz
terminfo/database/E/elks-vt52.gz
terminfo/database/E/elks.gz
terminfo/database/E/emots
@@ -0,0 +1 @@+{"name":"gs6300"}
terminfo/database/E/emu-220.gz
terminfo/database/E/emu.gz
terminfo/database/E/emx-base.gz
terminfo/database/E/env230.gz
terminfo/database/E/envision230
@@ -0,0 +1 @@+{"name":"env230"}
terminfo/database/E/ergo4000.gz
terminfo/database/E/esprit-am.gz
terminfo/database/E/esprit.gz
terminfo/database/E/ex155.gz
terminfo/database/E/excel62-rv.gz
terminfo/database/E/excel62-w.gz
terminfo/database/E/excel62.gz
terminfo/database/E/excel64
@@ -0,0 +1 @@+{"name":"excel62"}
terminfo/database/E/excel64-rv
@@ -0,0 +1 @@+{"name":"excel62-rv"}
terminfo/database/E/excel64-w
@@ -0,0 +1 @@+{"name":"excel62-w"}
terminfo/database/E/exec80
@@ -0,0 +1 @@+{"name":"hazel"}
terminfo/database/M/m2-nam.gz
terminfo/database/M/mac-w.gz
terminfo/database/M/mac.gz
terminfo/database/M/mach-bold.gz
terminfo/database/M/mach-color.gz
terminfo/database/M/mach.gz
terminfo/database/M/macintosh
@@ -0,0 +1 @@+{"name":"mac"}
terminfo/database/M/macterminal-w
@@ -0,0 +1 @@+{"name":"mac-w"}
terminfo/database/M/mai.gz
terminfo/database/M/masscomp.gz
terminfo/database/M/masscomp1.gz
terminfo/database/M/masscomp2.gz
terminfo/database/M/mdl110
@@ -0,0 +1 @@+{"name":"cyb110"}
terminfo/database/M/memhp.gz
terminfo/database/M/mgr-linux.gz
terminfo/database/M/mgr-sun.gz
terminfo/database/M/mgr.gz
terminfo/database/M/mgt.gz
terminfo/database/M/mgterm.gz
terminfo/database/M/microb.gz
terminfo/database/M/microbee
@@ -0,0 +1 @@+{"name":"microb"}
terminfo/database/M/microterm
@@ -0,0 +1 @@+{"name":"act4"}
terminfo/database/M/microterm5
@@ -0,0 +1 @@+{"name":"act5"}
terminfo/database/M/mime-3ax
@@ -0,0 +1 @@+{"name":"mime3ax"}
terminfo/database/M/mime-fb.gz
terminfo/database/M/mime-hb.gz
terminfo/database/M/mime.gz
terminfo/database/M/mime1
@@ -0,0 +1 @@+{"name":"mime"}
terminfo/database/M/mime2
@@ -0,0 +1 @@+{"name":"mime"}
terminfo/database/M/mime2a-s.gz
terminfo/database/M/mime2a-v
@@ -0,0 +1 @@+{"name":"mime2a"}
terminfo/database/M/mime2a.gz
terminfo/database/M/mime314.gz
terminfo/database/M/mime340
@@ -0,0 +1 @@+{"name":"mm340"}
terminfo/database/M/mime3a.gz
terminfo/database/M/mime3ax.gz
terminfo/database/M/mimei
@@ -0,0 +1 @@+{"name":"mime"}
terminfo/database/M/mimeii
@@ -0,0 +1 @@+{"name":"mime"}
terminfo/database/M/minitel
@@ -0,0 +1 @@+{"name":"m2-nam"}
terminfo/database/M/minitel-2
@@ -0,0 +1 @@+{"name":"m2-nam"}
terminfo/database/M/minitel-2-nam
@@ -0,0 +1 @@+{"name":"m2-nam"}
terminfo/database/M/minitel1.gz
terminfo/database/M/minitel1b-80.gz
terminfo/database/M/minitel1b.gz
terminfo/database/M/minix-old-am.gz
terminfo/database/M/minix-old.gz
terminfo/database/M/minix.gz
terminfo/database/M/mlterm.gz
terminfo/database/M/mm314
@@ -0,0 +1 @@+{"name":"mime314"}
terminfo/database/M/mm340.gz
terminfo/database/M/mod
@@ -0,0 +1 @@+{"name":"modgraph48"}
terminfo/database/M/mod24
@@ -0,0 +1 @@+{"name":"modgraph"}
terminfo/database/M/modgraph.gz
terminfo/database/M/modgraph2.gz
terminfo/database/M/modgraph48.gz
terminfo/database/M/mono-emx.gz
terminfo/database/M/morphos.gz
terminfo/database/M/mouse-sun
@@ -0,0 +1 @@+{"name":"mterm"}
terminfo/database/M/mrxvt.gz
terminfo/database/M/ms-vt-utf8.gz
terminfo/database/M/ms-vt100+.gz
terminfo/database/M/ms-vt100-color.gz
terminfo/database/M/ms-vt100.gz
terminfo/database/M/msk227.gz
terminfo/database/M/msk22714.gz
terminfo/database/M/msk227am.gz
terminfo/database/M/mskermit227
@@ -0,0 +1 @@+{"name":"msk227"}
terminfo/database/M/mskermit22714
@@ -0,0 +1 @@+{"name":"msk22714"}
terminfo/database/M/mskermit227am
@@ -0,0 +1 @@+{"name":"msk227am"}
terminfo/database/M/mt-70
@@ -0,0 +1 @@+{"name":"mt70"}
terminfo/database/M/mt4520-rv.gz
terminfo/database/M/mt70.gz
terminfo/database/M/mterm-ansi.gz
terminfo/database/M/mterm.gz
terminfo/database/M/mvterm.gz
terminfo/database/N/NCR260VT300WPP.gz
terminfo/database/N/NCRVT100WPP
@@ -0,0 +1 @@+{"name":"ncrvt100wan"}
terminfo/database/N/nansi.sys.gz
terminfo/database/N/nansi.sysk.gz
terminfo/database/N/nansisys
@@ -0,0 +1 @@+{"name":"nansi.sys"}
terminfo/database/N/nansisysk
@@ -0,0 +1 @@+{"name":"nansi.sysk"}
terminfo/database/N/ncr160vppp.gz
terminfo/database/N/ncr160vpwpp.gz
terminfo/database/N/ncr160vt100an.gz
terminfo/database/N/ncr160vt100pp.gz
terminfo/database/N/ncr160vt100wan.gz
terminfo/database/N/ncr160vt100wpp.gz
terminfo/database/N/ncr160vt200an.gz
terminfo/database/N/ncr160vt200pp.gz
terminfo/database/N/ncr160vt200wan.gz
terminfo/database/N/ncr160vt200wpp.gz
terminfo/database/N/ncr160vt300an.gz
terminfo/database/N/ncr160vt300pp.gz
terminfo/database/N/ncr160vt300wan.gz
terminfo/database/N/ncr160vt300wpp.gz
terminfo/database/N/ncr160wy50+pp.gz
terminfo/database/N/ncr160wy50+wpp.gz
terminfo/database/N/ncr160wy60pp.gz
terminfo/database/N/ncr160wy60wpp.gz
terminfo/database/N/ncr260intan.gz
terminfo/database/N/ncr260intpp.gz
terminfo/database/N/ncr260intwan.gz
terminfo/database/N/ncr260intwpp.gz
terminfo/database/N/ncr260vppp.gz
terminfo/database/N/ncr260vpwpp.gz
terminfo/database/N/ncr260vt100an.gz
terminfo/database/N/ncr260vt100pp.gz
terminfo/database/N/ncr260vt100wan.gz
terminfo/database/N/ncr260vt100wpp.gz
terminfo/database/N/ncr260vt200an.gz
terminfo/database/N/ncr260vt200pp.gz
terminfo/database/N/ncr260vt200wan.gz
terminfo/database/N/ncr260vt200wpp.gz
terminfo/database/N/ncr260vt300an.gz
terminfo/database/N/ncr260vt300pp.gz
terminfo/database/N/ncr260vt300wan.gz
terminfo/database/N/ncr260vt300wpp
@@ -0,0 +1 @@+{"name":"NCR260VT300WPP"}
terminfo/database/N/ncr260wy325pp.gz
terminfo/database/N/ncr260wy325wpp.gz
terminfo/database/N/ncr260wy350pp.gz
terminfo/database/N/ncr260wy350wpp.gz
terminfo/database/N/ncr260wy50+pp.gz
terminfo/database/N/ncr260wy50+wpp.gz
terminfo/database/N/ncr260wy60pp.gz
terminfo/database/N/ncr260wy60wpp.gz
terminfo/database/N/ncr7900
@@ -0,0 +1 @@+{"name":"ncr7900i"}
terminfo/database/N/ncr7900i.gz
terminfo/database/N/ncr7900iv.gz
terminfo/database/N/ncr7901.gz
terminfo/database/N/ncrvt100an.gz
terminfo/database/N/ncrvt100pp
@@ -0,0 +1 @@+{"name":"ncrvt100an"}
terminfo/database/N/ncrvt100wan.gz
terminfo/database/N/ncsa-m-ns.gz
terminfo/database/N/ncsa-m.gz
terminfo/database/N/ncsa-ns.gz
terminfo/database/N/ncsa-vt220-8
@@ -0,0 +1 @@+{"name":"ncsa-m"}
terminfo/database/N/ncsa-vt220.gz
terminfo/database/N/ncsa.gz
terminfo/database/N/nd9500
@@ -0,0 +1 @@+{"name":"ndr9500"}
terminfo/database/N/ndr9500-25-mc-nl.gz
terminfo/database/N/ndr9500-25-mc.gz
terminfo/database/N/ndr9500-25-nl.gz
terminfo/database/N/ndr9500-25.gz
terminfo/database/N/ndr9500-mc-nl.gz
terminfo/database/N/ndr9500-mc.gz
terminfo/database/N/ndr9500-nl.gz
terminfo/database/N/ndr9500.gz
terminfo/database/N/news
@@ -0,0 +1 @@+{"name":"nwp512"}
terminfo/database/N/news-29-euc.gz
terminfo/database/N/news-29-sjis.gz
terminfo/database/N/news-29.gz
terminfo/database/N/news-33-euc.gz
terminfo/database/N/news-33-sjis.gz
terminfo/database/N/news-33.gz
terminfo/database/N/news-42-euc.gz
terminfo/database/N/news-42-sjis.gz
terminfo/database/N/news-42.gz
terminfo/database/N/news-a
@@ -0,0 +1 @@+{"name":"nwp512-a"}
terminfo/database/N/news-o
@@ -0,0 +1 @@+{"name":"nwp512-o"}
terminfo/database/N/news-old-unk.gz
terminfo/database/N/news-unk.gz
terminfo/database/N/news28-a
@@ -0,0 +1 @@+{"name":"news29"}
terminfo/database/N/news28.gz
terminfo/database/N/news29.gz
terminfo/database/N/news31
@@ -0,0 +1 @@+{"name":"nwp513"}
terminfo/database/N/news31-a
@@ -0,0 +1 @@+{"name":"nwp513-a"}
terminfo/database/N/news31-o
@@ -0,0 +1 @@+{"name":"nwp513-o"}
terminfo/database/N/news33
@@ -0,0 +1 @@+{"name":"nwp513-a"}
terminfo/database/N/news40
@@ -0,0 +1 @@+{"name":"nwp512"}
terminfo/database/N/news40-a
@@ -0,0 +1 @@+{"name":"nwp512-a"}
terminfo/database/N/news40-o
@@ -0,0 +1 @@+{"name":"nwp512-o"}
terminfo/database/N/news42
@@ -0,0 +1 @@+{"name":"nwp512-a"}
terminfo/database/N/newscbm
@@ -0,0 +1 @@+{"name":"nwp513"}
terminfo/database/N/newscbm-a
@@ -0,0 +1 @@+{"name":"nwp513-a"}
terminfo/database/N/newscbm-o
@@ -0,0 +1 @@+{"name":"nwp513-o"}
terminfo/database/N/newscbm33
@@ -0,0 +1 @@+{"name":"nwp513-a"}
terminfo/database/N/next.gz
terminfo/database/N/northstar.gz
terminfo/database/N/nsterm+7.gz
terminfo/database/N/nsterm+acs.gz
terminfo/database/N/nsterm+mac.gz
terminfo/database/N/nsterm-16color.gz
terminfo/database/N/nsterm-7-c-s
@@ -0,0 +1 @@+{"name":"nsterm-c-s-7"}
terminfo/database/N/nsterm-7-c.gz
terminfo/database/N/nsterm-7-m
@@ -0,0 +1 @@+{"name":"nsterm-m-7"}
terminfo/database/N/nsterm-7-m-s
@@ -0,0 +1 @@+{"name":"nsterm-m-s-7"}
terminfo/database/N/nsterm-7-s
@@ -0,0 +1 @@+{"name":"nsterm-s-7"}
terminfo/database/N/nsterm-7.gz
terminfo/database/N/nsterm-acs-c
@@ -0,0 +1 @@+{"name":"nsterm-c-acs"}
terminfo/database/N/nsterm-acs-c-s
@@ -0,0 +1 @@+{"name":"nsterm-c-s-acs"}
terminfo/database/N/nsterm-acs-m
@@ -0,0 +1 @@+{"name":"nsterm-m-acs"}
terminfo/database/N/nsterm-acs-m-s
@@ -0,0 +1 @@+{"name":"nsterm-m-s-acs"}
terminfo/database/N/nsterm-acs-s
@@ -0,0 +1 @@+{"name":"nsterm-s-acs"}
terminfo/database/N/nsterm-acs.gz
terminfo/database/N/nsterm-c-7
@@ -0,0 +1 @@+{"name":"nsterm-7-c"}
terminfo/database/N/nsterm-c-acs.gz
terminfo/database/N/nsterm-c-s-7.gz
terminfo/database/N/nsterm-c-s-acs.gz
terminfo/database/N/nsterm-c-s.gz
terminfo/database/N/nsterm-c.gz
terminfo/database/N/nsterm-m-7.gz
terminfo/database/N/nsterm-m-acs.gz
terminfo/database/N/nsterm-m-s-7.gz
terminfo/database/N/nsterm-m-s-acs.gz
terminfo/database/N/nsterm-m-s.gz
terminfo/database/N/nsterm-m.gz
terminfo/database/N/nsterm-s-7.gz
terminfo/database/N/nsterm-s-acs.gz
terminfo/database/N/nsterm-s.gz
terminfo/database/N/nsterm.gz
terminfo/database/N/ntconsole
@@ -0,0 +1 @@+{"name":"interix"}
terminfo/database/N/ntconsole-100
@@ -0,0 +1 @@+{"name":"opennt-100"}
terminfo/database/N/ntconsole-100-nti
@@ -0,0 +1 @@+{"name":"opennt-100-nti"}
terminfo/database/N/ntconsole-25
@@ -0,0 +1 @@+{"name":"interix"}
terminfo/database/N/ntconsole-25-nti
@@ -0,0 +1 @@+{"name":"interix-nti"}
terminfo/database/N/ntconsole-25-w
@@ -0,0 +1 @@+{"name":"opennt-w"}
terminfo/database/N/ntconsole-25-w-vt
@@ -0,0 +1 @@+{"name":"opennt-w-vt"}
terminfo/database/N/ntconsole-35
@@ -0,0 +1 @@+{"name":"opennt-35"}
terminfo/database/N/ntconsole-35-nti
@@ -0,0 +1 @@+{"name":"opennt-35-nti"}
terminfo/database/N/ntconsole-35-w
@@ -0,0 +1 @@+{"name":"opennt-35-w"}
terminfo/database/N/ntconsole-50
@@ -0,0 +1 @@+{"name":"opennt-50"}
terminfo/database/N/ntconsole-50-nti
@@ -0,0 +1 @@+{"name":"opennt-50-nti"}
terminfo/database/N/ntconsole-50-w
@@ -0,0 +1 @@+{"name":"opennt-50-w"}
terminfo/database/N/ntconsole-60
@@ -0,0 +1 @@+{"name":"opennt-60"}
terminfo/database/N/ntconsole-60-nti
@@ -0,0 +1 @@+{"name":"opennt-60-nti"}
terminfo/database/N/ntconsole-60-w
@@ -0,0 +1 @@+{"name":"opennt-60-w"}
terminfo/database/N/ntconsole-w
@@ -0,0 +1 @@+{"name":"opennt-w"}
terminfo/database/N/ntconsole-w-vt
@@ -0,0 +1 @@+{"name":"opennt-w-vt"}
terminfo/database/N/nwe501
@@ -0,0 +1 @@+{"name":"nwp513"}
terminfo/database/N/nwe501-a
@@ -0,0 +1 @@+{"name":"nwp513-a"}
terminfo/database/N/nwe501-o
@@ -0,0 +1 @@+{"name":"nwp513-o"}
terminfo/database/N/nwp-511
@@ -0,0 +1 @@+{"name":"nwp511"}
terminfo/database/N/nwp-517
@@ -0,0 +1 @@+{"name":"nwp517"}
terminfo/database/N/nwp-517-w
@@ -0,0 +1 @@+{"name":"nwp517-w"}
terminfo/database/N/nwp251-a
@@ -0,0 +1 @@+{"name":"nwp513-a"}
terminfo/database/N/nwp251-o
@@ -0,0 +1 @@+{"name":"nwp513-o"}
terminfo/database/N/nwp511.gz
terminfo/database/N/nwp512-a.gz
terminfo/database/N/nwp512-o.gz
terminfo/database/N/nwp512.gz
terminfo/database/N/nwp513-a.gz
terminfo/database/N/nwp513-o.gz
terminfo/database/N/nwp513.gz
terminfo/database/N/nwp514
@@ -0,0 +1 @@+{"name":"nwp512"}
terminfo/database/N/nwp514-a
@@ -0,0 +1 @@+{"name":"nwp512-a"}
terminfo/database/N/nwp514-o
@@ -0,0 +1 @@+{"name":"nwp512-o"}
terminfo/database/N/nwp517-w.gz
terminfo/database/N/nwp517.gz
terminfo/database/N/nwp518
@@ -0,0 +1 @@+{"name":"nwp513"}
terminfo/database/N/nwp518-a
@@ -0,0 +1 @@+{"name":"nwp513-a"}
terminfo/database/N/nwp518-o
@@ -0,0 +1 @@+{"name":"nwp513-o"}
terminfo/database/N/nxterm
@@ -0,0 +1 @@+{"name":"xterm-color"}
terminfo/database/a/Apple_Terminal
@@ -0,0 +1 @@+{"name":"nsterm"}
terminfo/database/a/a210
@@ -0,0 +1 @@+{"name":"ampex210"}
terminfo/database/a/a80
@@ -0,0 +1 @@+{"name":"ampex80"}
terminfo/database/a/a980
@@ -0,0 +1 @@+{"name":"adds980"}
terminfo/database/a/aa4080
@@ -0,0 +1 @@+{"name":"annarbor4080"}
terminfo/database/a/aaa+unk.gz
terminfo/database/a/aaa-18-rv.gz
terminfo/database/a/aaa-18.gz
terminfo/database/a/aaa-20.gz
terminfo/database/a/aaa-22.gz
terminfo/database/a/aaa-24-rv.gz
terminfo/database/a/aaa-24.gz
terminfo/database/a/aaa-26.gz
terminfo/database/a/aaa-28.gz
terminfo/database/a/aaa-30
@@ -0,0 +1 @@+{"name":"aaa"}
terminfo/database/a/aaa-30-ctxt.gz
terminfo/database/a/aaa-30-rv-ctxt.gz
terminfo/database/a/aaa-30-rv.gz
terminfo/database/a/aaa-30-s-ctxt
@@ -0,0 +1 @@+{"name":"aaa-s-ctxt"}
terminfo/database/a/aaa-30-s-rv-ct
@@ -0,0 +1 @@+{"name":"aaa-s-rv-ctxt"}
terminfo/database/a/aaa-30-s-rv.gz
terminfo/database/a/aaa-30-s.gz
terminfo/database/a/aaa-36-rv.gz
terminfo/database/a/aaa-36.gz
terminfo/database/a/aaa-40-rv.gz
terminfo/database/a/aaa-40.gz
terminfo/database/a/aaa-48-rv.gz
terminfo/database/a/aaa-48.gz
terminfo/database/a/aaa-60-dec-rv.gz
terminfo/database/a/aaa-60-rv.gz
terminfo/database/a/aaa-60-s-rv.gz
terminfo/database/a/aaa-60-s.gz
terminfo/database/a/aaa-60.gz
terminfo/database/a/aaa-ctxt
@@ -0,0 +1 @@+{"name":"aaa-30-ctxt"}
terminfo/database/a/aaa-db.gz
terminfo/database/a/aaa-rv
@@ -0,0 +1 @@+{"name":"aaa-30-rv"}
terminfo/database/a/aaa-rv-ctxt
@@ -0,0 +1 @@+{"name":"aaa-30-rv-ctxt"}
terminfo/database/a/aaa-s
@@ -0,0 +1 @@+{"name":"aaa-30-s"}
terminfo/database/a/aaa-s-ctxt.gz
terminfo/database/a/aaa-s-rv
@@ -0,0 +1 @@+{"name":"aaa-30-s-rv"}
terminfo/database/a/aaa-s-rv-ctxt.gz
terminfo/database/a/aaa-unk
@@ -0,0 +1 @@+{"name":"aaa+unk"}
terminfo/database/a/aaa.gz
terminfo/database/a/abm80.gz
terminfo/database/a/abm85.gz
terminfo/database/a/abm85e.gz
terminfo/database/a/abm85h-old.gz
terminfo/database/a/abm85h.gz
terminfo/database/a/act4.gz
terminfo/database/a/act5.gz
terminfo/database/a/addrinfo.gz
terminfo/database/a/adds980.gz
terminfo/database/a/addsviewpoint
@@ -0,0 +1 @@+{"name":"viewpoint"}
terminfo/database/a/addsvp60
@@ -0,0 +1 @@+{"name":"vp60"}
terminfo/database/a/adm1
@@ -0,0 +1 @@+{"name":"adm1a"}
terminfo/database/a/adm11.gz
terminfo/database/a/adm1178.gz
terminfo/database/a/adm12.gz
terminfo/database/a/adm1a.gz
terminfo/database/a/adm2.gz
terminfo/database/a/adm20.gz
terminfo/database/a/adm21.gz
terminfo/database/a/adm22.gz
terminfo/database/a/adm31-old.gz
terminfo/database/a/adm31.gz
terminfo/database/a/adm36.gz
terminfo/database/a/adm3a+.gz
terminfo/database/a/adm3a.gz
terminfo/database/a/adm42-ns.gz
terminfo/database/a/adm42.gz
terminfo/database/a/adm5.gz
terminfo/database/a/aepro.gz
terminfo/database/a/aixterm-16color.gz
terminfo/database/a/aixterm-m-old.gz
terminfo/database/a/aixterm-m.gz
terminfo/database/a/aixterm.gz
terminfo/database/a/aj510.gz
terminfo/database/a/alt2
@@ -0,0 +1 @@+{"name":"altos2"}
terminfo/database/a/alt3
@@ -0,0 +1 @@+{"name":"altos3"}
terminfo/database/a/alt4
@@ -0,0 +1 @@+{"name":"altos4"}
terminfo/database/a/alt5
@@ -0,0 +1 @@+{"name":"altos3"}
terminfo/database/a/alt7
@@ -0,0 +1 @@+{"name":"altos7"}
terminfo/database/a/alt7pc
@@ -0,0 +1 @@+{"name":"altos7pc"}
terminfo/database/a/alto-h19.gz
terminfo/database/a/alto-heath
@@ -0,0 +1 @@+{"name":"alto-h19"}
terminfo/database/a/altoh19
@@ -0,0 +1 @@+{"name":"alto-h19"}
terminfo/database/a/altoheath
@@ -0,0 +1 @@+{"name":"alto-h19"}
terminfo/database/a/altos-2
@@ -0,0 +1 @@+{"name":"altos2"}
terminfo/database/a/altos-3
@@ -0,0 +1 @@+{"name":"altos3"}
terminfo/database/a/altos-4
@@ -0,0 +1 @@+{"name":"altos4"}
terminfo/database/a/altos-5
@@ -0,0 +1 @@+{"name":"altos3"}
terminfo/database/a/altos2.gz
terminfo/database/a/altos3.gz
terminfo/database/a/altos4.gz
terminfo/database/a/altos5
@@ -0,0 +1 @@+{"name":"altos3"}
terminfo/database/a/altos7.gz
terminfo/database/a/altos7pc.gz
terminfo/database/a/ambas
@@ -0,0 +1 @@+{"name":"aaa"}
terminfo/database/a/ambassador
@@ -0,0 +1 @@+{"name":"aaa"}
terminfo/database/a/amiga-8bit.gz
terminfo/database/a/amiga-h.gz
terminfo/database/a/amiga-vnc.gz
terminfo/database/a/amiga.gz
terminfo/database/a/amp219
@@ -0,0 +1 @@+{"name":"ampex219"}
terminfo/database/a/amp219w
@@ -0,0 +1 @@+{"name":"ampex219w"}
terminfo/database/a/ampex-219
@@ -0,0 +1 @@+{"name":"ampex219"}
terminfo/database/a/ampex-219w
@@ -0,0 +1 @@+{"name":"ampex219w"}
terminfo/database/a/ampex-232
@@ -0,0 +1 @@+{"name":"ampex232"}
terminfo/database/a/ampex175-b.gz
terminfo/database/a/ampex175.gz
terminfo/database/a/ampex210.gz
terminfo/database/a/ampex219.gz
terminfo/database/a/ampex219w.gz
terminfo/database/a/ampex232.gz
terminfo/database/a/ampex232w.gz
terminfo/database/a/ampex80.gz
terminfo/database/a/annarbor4080.gz
terminfo/database/a/ansi+cup.gz
terminfo/database/a/ansi-color-2-emx.gz
terminfo/database/a/ansi-color-3-emx.gz
terminfo/database/a/ansi-emx.gz
terminfo/database/a/ansi-generic.gz
terminfo/database/a/ansi-m.gz
terminfo/database/a/ansi-mini.gz
terminfo/database/a/ansi-mono
@@ -0,0 +1 @@+{"name":"ansi-m"}
terminfo/database/a/ansi-mtabs.gz
terminfo/database/a/ansi-nt.gz
terminfo/database/a/ansi.gz
terminfo/database/a/ansi.sys-old.gz
terminfo/database/a/ansi.sys.gz
terminfo/database/a/ansi.sysk.gz
terminfo/database/a/ansi43m
@@ -0,0 +1 @@+{"name":"pcansi-43-m"}
terminfo/database/a/ansi77.gz
terminfo/database/a/ansi80x25
@@ -0,0 +1 @@+{"name":"cons25"}
terminfo/database/a/ansi80x25-mono
@@ -0,0 +1 @@+{"name":"cons25-m"}
terminfo/database/a/ansi80x25-raw
@@ -0,0 +1 @@+{"name":"cons25w"}
terminfo/database/a/ansi80x30
@@ -0,0 +1 @@+{"name":"cons30"}
terminfo/database/a/ansi80x30-mono
@@ -0,0 +1 @@+{"name":"cons30-m"}
terminfo/database/a/ansi80x43
@@ -0,0 +1 @@+{"name":"cons43"}
terminfo/database/a/ansi80x43-mono
@@ -0,0 +1 @@+{"name":"cons43-m"}
terminfo/database/a/ansi80x50
@@ -0,0 +1 @@+{"name":"cons50"}
terminfo/database/a/ansi80x50-mono
@@ -0,0 +1 @@+{"name":"cons50-m"}
terminfo/database/a/ansi80x60
@@ -0,0 +1 @@+{"name":"cons60"}
terminfo/database/a/ansi80x60-mono
@@ -0,0 +1 @@+{"name":"cons60-m"}
terminfo/database/a/ansil
@@ -0,0 +1 @@+{"name":"cons50"}
terminfo/database/a/ansil-mono
@@ -0,0 +1 @@+{"name":"cons50-m"}
terminfo/database/a/ansis
@@ -0,0 +1 @@+{"name":"cons25"}
terminfo/database/a/ansis-mono
@@ -0,0 +1 @@+{"name":"cons25-m"}
terminfo/database/a/ansisysk
@@ -0,0 +1 @@+{"name":"ansi.sysk"}
terminfo/database/a/ansiw
@@ -0,0 +1 @@+{"name":"cons25w"}
terminfo/database/a/ap-vm80
@@ -0,0 +1 @@+{"name":"apple-vm80"}
terminfo/database/a/apl
@@ -0,0 +1 @@+{"name":"ibm-apl"}
terminfo/database/a/apollo.gz
terminfo/database/a/apollo_15P.gz
terminfo/database/a/apollo_19L.gz
terminfo/database/a/apollo_color.gz
terminfo/database/a/apple-80.gz
terminfo/database/a/apple-ae.gz
terminfo/database/a/apple-soroc.gz
terminfo/database/a/apple-uterm-vb.gz
terminfo/database/a/apple-uterm.gz
terminfo/database/a/apple-videx.gz
terminfo/database/a/apple-videx2.gz
terminfo/database/a/apple-videx3.gz
terminfo/database/a/apple-vm80.gz
terminfo/database/a/apple2e-p.gz
terminfo/database/a/apple80p.gz
terminfo/database/a/appleII.gz
terminfo/database/a/appleIIc
@@ -0,0 +1 @@+{"name":"appleIIgs"}
terminfo/database/a/appleIIe
@@ -0,0 +1 @@+{"name":"appleIIgs"}
terminfo/database/a/appleIIgs.gz
terminfo/database/a/arm100-am
@@ -0,0 +1 @@+{"name":"arm100"}
terminfo/database/a/arm100-w.gz
terminfo/database/a/arm100-wam
@@ -0,0 +1 @@+{"name":"arm100-w"}
terminfo/database/a/arm100.gz
terminfo/database/a/at386
@@ -0,0 +1 @@+{"name":"att6386"}
terminfo/database/a/atari.gz
terminfo/database/a/aterm.gz
terminfo/database/a/att2300.gz
terminfo/database/a/att2350.gz
terminfo/database/a/att4410-w
@@ -0,0 +1 @@+{"name":"att5410-w"}
terminfo/database/a/att4410.gz
terminfo/database/a/att4410v1
@@ -0,0 +1 @@+{"name":"att5410v1"}
terminfo/database/a/att4410v1-w.gz
terminfo/database/a/att4415-nl.gz
terminfo/database/a/att4415-rv-nl.gz
terminfo/database/a/att4415-rv.gz
terminfo/database/a/att4415-w-nl.gz
terminfo/database/a/att4415-w-rv-n.gz
terminfo/database/a/att4415-w-rv.gz
terminfo/database/a/att4415-w.gz
terminfo/database/a/att4415.gz
terminfo/database/a/att4418-w.gz
terminfo/database/a/att4418.gz
terminfo/database/a/att4420.gz
terminfo/database/a/att4424-1.gz
terminfo/database/a/att4424.gz
terminfo/database/a/att4424m.gz
terminfo/database/a/att4425
@@ -0,0 +1 @@+{"name":"att5425"}
terminfo/database/a/att4425-nl
@@ -0,0 +1 @@+{"name":"att5425-nl"}
terminfo/database/a/att4425-w
@@ -0,0 +1 @@+{"name":"att5425-w"}
terminfo/database/a/att4426.gz
terminfo/database/a/att500.gz
terminfo/database/a/att505-24.gz
terminfo/database/a/att505.gz
terminfo/database/a/att510a.gz
terminfo/database/a/att510d.gz
terminfo/database/a/att513
@@ -0,0 +1 @@+{"name":"att500"}
terminfo/database/a/att5410
@@ -0,0 +1 @@+{"name":"att4410"}
terminfo/database/a/att5410-w.gz
terminfo/database/a/att5410v1-w
@@ -0,0 +1 @@+{"name":"att4410v1-w"}
terminfo/database/a/att5410v1.gz
terminfo/database/a/att5418
@@ -0,0 +1 @@+{"name":"att4418"}
terminfo/database/a/att5418-w
@@ -0,0 +1 @@+{"name":"att4418-w"}
terminfo/database/a/att5420
@@ -0,0 +1 @@+{"name":"att4415"}
terminfo/database/a/att5420-nl
@@ -0,0 +1 @@+{"name":"att4415-nl"}
terminfo/database/a/att5420-rv
@@ -0,0 +1 @@+{"name":"att4415-rv"}
terminfo/database/a/att5420-rv-nl
@@ -0,0 +1 @@+{"name":"att4415-rv-nl"}
terminfo/database/a/att5420-w
@@ -0,0 +1 @@+{"name":"att4415-w"}
terminfo/database/a/att5420-w-nl
@@ -0,0 +1 @@+{"name":"att4415-w-nl"}
terminfo/database/a/att5420-w-rv
@@ -0,0 +1 @@+{"name":"att4415-w-rv"}
terminfo/database/a/att5420-w-rv-n
@@ -0,0 +1 @@+{"name":"att4415-w-rv-n"}
terminfo/database/a/att5420_2-w.gz
terminfo/database/a/att5420_2.gz
terminfo/database/a/att5425-nl.gz
terminfo/database/a/att5425-w.gz
terminfo/database/a/att5425.gz
terminfo/database/a/att5430
@@ -0,0 +1 @@+{"name":"att505"}
terminfo/database/a/att5620-1.gz
terminfo/database/a/att5620-24.gz
terminfo/database/a/att5620-34.gz
terminfo/database/a/att5620-s.gz
terminfo/database/a/att5620.gz
terminfo/database/a/att605-pc.gz
terminfo/database/a/att605-w.gz
terminfo/database/a/att605.gz
terminfo/database/a/att610-103k-w.gz
terminfo/database/a/att610-103k.gz
terminfo/database/a/att610-w.gz
terminfo/database/a/att610.gz
terminfo/database/a/att615-103k-w.gz
terminfo/database/a/att615-103k.gz
terminfo/database/a/att615-w.gz
terminfo/database/a/att615.gz
terminfo/database/a/att620-103k-w.gz
terminfo/database/a/att620-103k.gz
terminfo/database/a/att620-w.gz
terminfo/database/a/att620.gz
terminfo/database/a/att630-24.gz
terminfo/database/a/att630.gz
terminfo/database/a/att6386.gz
terminfo/database/a/att700.gz
terminfo/database/a/att730-24.gz
terminfo/database/a/att730-41.gz
terminfo/database/a/att730.gz
terminfo/database/a/att7300.gz
terminfo/database/a/att730r-24.gz
terminfo/database/a/att730r-41.gz
terminfo/database/a/att730r.gz
terminfo/database/a/avatar.gz
terminfo/database/a/avatar0+.gz
terminfo/database/a/avatar0.gz
terminfo/database/a/avatar1
@@ -0,0 +1 @@+{"name":"avatar"}
terminfo/database/a/avt-ns.gz
terminfo/database/a/avt-rv-ns.gz
terminfo/database/a/avt-rv-s
@@ -0,0 +1 @@+{"name":"avt-rv"}
terminfo/database/a/avt-rv.gz
terminfo/database/a/avt-s
@@ -0,0 +1 @@+{"name":"avt"}
terminfo/database/a/avt-w-ns.gz
terminfo/database/a/avt-w-rv-ns.gz
terminfo/database/a/avt-w-rv-s
@@ -0,0 +1 @@+{"name":"avt-w-rv"}
terminfo/database/a/avt-w-rv.gz
terminfo/database/a/avt-w-s
@@ -0,0 +1 @@+{"name":"avt-w"}
terminfo/database/a/avt-w.gz
terminfo/database/a/avt.gz
terminfo/database/a/aws.gz
terminfo/database/a/awsc.gz
terminfo/database/b/b-128
@@ -0,0 +1 @@+{"name":"commodore"}
terminfo/database/b/bantam.gz
terminfo/database/b/basic4
@@ -0,0 +1 @@+{"name":"mai"}
terminfo/database/b/basis.gz
terminfo/database/b/bct510a
@@ -0,0 +1 @@+{"name":"att510a"}
terminfo/database/b/bct510d
@@ -0,0 +1 @@+{"name":"att510d"}
terminfo/database/b/beacon.gz
terminfo/database/b/bee
@@ -0,0 +1 @@+{"name":"beehive"}
terminfo/database/b/beehive.gz
terminfo/database/b/beterm.gz
terminfo/database/b/bg1.25.gz
terminfo/database/b/bg1.25nv.gz
terminfo/database/b/bg1.25rv.gz
terminfo/database/b/bg2.0.gz
terminfo/database/b/bg2.0nv
@@ -0,0 +1 @@+{"name":"bitgraph"}
terminfo/database/b/bg2.0rv.gz
terminfo/database/b/bg3.10
@@ -0,0 +1 @@+{"name":"bg2.0"}
terminfo/database/b/bg3.10nv
@@ -0,0 +1 @@+{"name":"bitgraph"}
terminfo/database/b/bg3.10rv
@@ -0,0 +1 @@+{"name":"bg2.0rv"}
terminfo/database/b/bitgraph.gz
terminfo/database/b/blit.gz
terminfo/database/b/bobcat.gz
terminfo/database/b/bq300-8-pc-rv.gz
terminfo/database/b/bq300-8-pc-w-rv.gz
terminfo/database/b/bq300-8-pc-w.gz
terminfo/database/b/bq300-8-pc.gz
terminfo/database/b/bq300-8.gz
terminfo/database/b/bq300-8rv.gz
terminfo/database/b/bq300-8w.gz
terminfo/database/b/bq300-pc-rv.gz
terminfo/database/b/bq300-pc-w-rv.gz
terminfo/database/b/bq300-pc-w.gz
terminfo/database/b/bq300-pc.gz
terminfo/database/b/bq300-rv.gz
terminfo/database/b/bq300-w-8rv.gz
terminfo/database/b/bq300-w-rv.gz
terminfo/database/b/bq300-w.gz
terminfo/database/b/bq300.gz
terminfo/database/b/bsdos-pc-m.gz
terminfo/database/b/bsdos-pc-mono
@@ -0,0 +1 @@+{"name":"bsdos-pc-m"}
terminfo/database/b/bsdos-pc-nobold.gz
terminfo/database/b/bsdos-pc.gz
terminfo/database/b/bsdos-ppc.gz
terminfo/database/b/bsdos-sparc.gz
terminfo/database/c/c100-1p
@@ -0,0 +1 @@+{"name":"oc100"}
terminfo/database/c/c100-4p
@@ -0,0 +1 @@+{"name":"c100"}
terminfo/database/c/c100-rv-4p
@@ -0,0 +1 @@+{"name":"c100-rv"}
terminfo/database/c/c100-rv.gz
terminfo/database/c/c100.gz
terminfo/database/c/c104
@@ -0,0 +1 @@+{"name":"c100"}
terminfo/database/c/c108-4p.gz
terminfo/database/c/c108-8p
@@ -0,0 +1 @@+{"name":"c108"}
terminfo/database/c/c108-rv-4p.gz
terminfo/database/c/c108-rv-8p
@@ -0,0 +1 @@+{"name":"c108-rv"}
terminfo/database/c/c108-rv.gz
terminfo/database/c/c108-w-8p
@@ -0,0 +1 @@+{"name":"c108-w"}
terminfo/database/c/c108-w.gz
terminfo/database/c/c108.gz
terminfo/database/c/c300
@@ -0,0 +1 @@+{"name":"contel300"}
terminfo/database/c/c301
@@ -0,0 +1 @@+{"name":"contel301"}
terminfo/database/c/c321
@@ -0,0 +1 @@+{"name":"contel301"}
terminfo/database/c/ca22851.gz
terminfo/database/c/cbblit.gz
terminfo/database/c/cbunix.gz
terminfo/database/c/cci.gz
terminfo/database/c/cci1
@@ -0,0 +1 @@+{"name":"cci"}
terminfo/database/c/cdc456.gz
terminfo/database/c/cdc721-esc.gz
terminfo/database/c/cdc721.gz
terminfo/database/c/cdc721ll.gz
terminfo/database/c/cdc752.gz
terminfo/database/c/cdc756.gz
terminfo/database/c/cg7900.gz
terminfo/database/c/chromatics
@@ -0,0 +1 @@+{"name":"cg7900"}
terminfo/database/c/cit-80
@@ -0,0 +1 @@+{"name":"cit80"}
terminfo/database/c/cit101.gz
terminfo/database/c/cit101e-132.gz
terminfo/database/c/cit101e-n.gz
terminfo/database/c/cit101e-n132.gz
terminfo/database/c/cit101e-rv.gz
terminfo/database/c/cit101e.gz
terminfo/database/c/cit500.gz
terminfo/database/c/cit80.gz
terminfo/database/c/citc
@@ -0,0 +1 @@+{"name":"cit101"}
terminfo/database/c/coco3.gz
terminfo/database/c/coherent
@@ -0,0 +1 @@+{"name":"pc-coherent"}
terminfo/database/c/color_xterm.gz
terminfo/database/c/colorscan
@@ -0,0 +1 @@+{"name":"cs10"}
terminfo/database/c/commodore.gz
terminfo/database/c/concept
@@ -0,0 +1 @@+{"name":"c100"}
terminfo/database/c/concept-avt
@@ -0,0 +1 @@+{"name":"avt"}
terminfo/database/c/concept100
@@ -0,0 +1 @@+{"name":"c100"}
terminfo/database/c/concept100-rv
@@ -0,0 +1 @@+{"name":"c100-rv"}
terminfo/database/c/concept108
@@ -0,0 +1 @@+{"name":"c108"}
terminfo/database/c/concept108-4p
@@ -0,0 +1 @@+{"name":"c108-4p"}
terminfo/database/c/concept108-8p
@@ -0,0 +1 @@+{"name":"c108"}
terminfo/database/c/concept108-w-8
@@ -0,0 +1 @@+{"name":"c108-w"}
terminfo/database/c/concept108-w8p
@@ -0,0 +1 @@+{"name":"c108-w"}
terminfo/database/c/concept108rv4p
@@ -0,0 +1 @@+{"name":"c108-rv-4p"}
terminfo/database/c/cons25-iso-m
@@ -0,0 +1 @@+{"name":"cons25l1-m"}
terminfo/database/c/cons25-iso8859
@@ -0,0 +1 @@+{"name":"cons25l1"}
terminfo/database/c/cons25-koi8-r
@@ -0,0 +1 @@+{"name":"cons25r"}
terminfo/database/c/cons25-koi8r-m
@@ -0,0 +1 @@+{"name":"cons25r-m"}
terminfo/database/c/cons25-m.gz
terminfo/database/c/cons25.gz
terminfo/database/c/cons25l1-m.gz
terminfo/database/c/cons25l1.gz
terminfo/database/c/cons25r-m.gz
terminfo/database/c/cons25r.gz
terminfo/database/c/cons25w.gz
terminfo/database/c/cons30-m.gz
terminfo/database/c/cons30.gz
terminfo/database/c/cons43-m.gz
terminfo/database/c/cons43.gz
terminfo/database/c/cons50-iso-m
@@ -0,0 +1 @@+{"name":"cons50l1-m"}
terminfo/database/c/cons50-iso8859
@@ -0,0 +1 @@+{"name":"cons50l1"}
terminfo/database/c/cons50-koi8r
@@ -0,0 +1 @@+{"name":"cons50r"}
terminfo/database/c/cons50-koi8r-m
@@ -0,0 +1 @@+{"name":"cons50r-m"}
terminfo/database/c/cons50-m.gz
terminfo/database/c/cons50.gz
terminfo/database/c/cons50l1-m.gz
terminfo/database/c/cons50l1.gz
terminfo/database/c/cons50r-m.gz
terminfo/database/c/cons50r.gz
terminfo/database/c/cons60-iso
@@ -0,0 +1 @@+{"name":"cons60l1"}
terminfo/database/c/cons60-iso-m
@@ -0,0 +1 @@+{"name":"cons60l1-m"}
terminfo/database/c/cons60-koi8r
@@ -0,0 +1 @@+{"name":"cons60r"}
terminfo/database/c/cons60-koi8r-m
@@ -0,0 +1 @@+{"name":"cons60r-m"}
terminfo/database/c/cons60-m.gz
terminfo/database/c/cons60.gz
terminfo/database/c/cons60l1-m.gz
terminfo/database/c/cons60l1.gz
terminfo/database/c/cons60r-m.gz
terminfo/database/c/cons60r.gz
terminfo/database/c/contel300.gz
terminfo/database/c/contel301.gz
terminfo/database/c/contel320
@@ -0,0 +1 @@+{"name":"contel300"}
terminfo/database/c/contel321
@@ -0,0 +1 @@+{"name":"contel301"}
terminfo/database/c/cops
@@ -0,0 +1 @@+{"name":"cops10"}
terminfo/database/c/cops-10
@@ -0,0 +1 @@+{"name":"cops10"}
terminfo/database/c/cops10.gz
terminfo/database/c/crt-vt220
@@ -0,0 +1 @@+{"name":"crt"}
terminfo/database/c/crt.gz
terminfo/database/c/cs10-w.gz
terminfo/database/c/cs10.gz
terminfo/database/c/ct82
@@ -0,0 +1 @@+{"name":"swtp"}
terminfo/database/c/ct8500.gz
terminfo/database/c/ctrm.gz
terminfo/database/c/cx
@@ -0,0 +1 @@+{"name":"color_xterm"}
terminfo/database/c/cx100
@@ -0,0 +1 @@+{"name":"color_xterm"}
terminfo/database/c/cyb110.gz
terminfo/database/c/cyb83.gz
terminfo/database/c/cygwin.gz
terminfo/database/c/cygwinB19.gz
terminfo/database/c/cygwinDBG.gz
terminfo/database/d/d132.gz
terminfo/database/d/d2
@@ -0,0 +1 @@+{"name":"dg6053"}
terminfo/database/d/d2-dg
@@ -0,0 +1 @@+{"name":"dg6053"}
terminfo/database/d/d200-dg
@@ -0,0 +1 @@+{"name":"d200"}
terminfo/database/d/d200.gz
terminfo/database/d/d210-dg.gz
terminfo/database/d/d210.gz
terminfo/database/d/d211-7b.gz
terminfo/database/d/d211-dg.gz
terminfo/database/d/d211.gz
terminfo/database/d/d214
@@ -0,0 +1 @@+{"name":"d210"}
terminfo/database/d/d214-dg
@@ -0,0 +1 @@+{"name":"d210-dg"}
terminfo/database/d/d215
@@ -0,0 +1 @@+{"name":"d211"}
terminfo/database/d/d215-7b
@@ -0,0 +1 @@+{"name":"d211-7b"}
terminfo/database/d/d215-dg
@@ -0,0 +1 @@+{"name":"d211-dg"}
terminfo/database/d/d216+
@@ -0,0 +1 @@+{"name":"d216-unix"}
terminfo/database/d/d216+25
@@ -0,0 +1 @@+{"name":"d216-unix-25"}
terminfo/database/d/d216+dg
@@ -0,0 +1 @@+{"name":"d216-dg"}
terminfo/database/d/d216-dg.gz
terminfo/database/d/d216-unix-25.gz
terminfo/database/d/d216-unix.gz
terminfo/database/d/d216e+
@@ -0,0 +1 @@+{"name":"d216-unix"}
terminfo/database/d/d216e+dg
@@ -0,0 +1 @@+{"name":"d216-dg"}
terminfo/database/d/d216e-dg
@@ -0,0 +1 @@+{"name":"d216-dg"}
terminfo/database/d/d216e-unix
@@ -0,0 +1 @@+{"name":"d216-unix"}
terminfo/database/d/d217-dg
@@ -0,0 +1 @@+{"name":"d216-dg"}
terminfo/database/d/d217-unix-25.gz
terminfo/database/d/d217-unix.gz
terminfo/database/d/d220-7b.gz
terminfo/database/d/d220-dg.gz
terminfo/database/d/d220.gz
terminfo/database/d/d230
@@ -0,0 +1 @@+{"name":"d230c"}
terminfo/database/d/d230-dg
@@ -0,0 +1 @@+{"name":"d230c-dg"}
terminfo/database/d/d230c-dg.gz
terminfo/database/d/d230c.gz
terminfo/database/d/d400-dg
@@ -0,0 +1 @@+{"name":"d400"}
terminfo/database/d/d400.gz
terminfo/database/d/d410-7b-w.gz
terminfo/database/d/d410-7b.gz
terminfo/database/d/d410-dg.gz
terminfo/database/d/d410-w.gz
terminfo/database/d/d410.gz
terminfo/database/d/d411
@@ -0,0 +1 @@+{"name":"d410"}
terminfo/database/d/d411-7b
@@ -0,0 +1 @@+{"name":"d410-7b"}
terminfo/database/d/d411-7b-w
@@ -0,0 +1 @@+{"name":"d410-7b-w"}
terminfo/database/d/d411-dg
@@ -0,0 +1 @@+{"name":"d410-dg"}
terminfo/database/d/d411-w
@@ -0,0 +1 @@+{"name":"d410-w"}
terminfo/database/d/d412+
@@ -0,0 +1 @@+{"name":"d412-unix"}
terminfo/database/d/d412+25
@@ -0,0 +1 @@+{"name":"d412-unix-25"}
terminfo/database/d/d412+dg
@@ -0,0 +1 @@+{"name":"d412-dg"}
terminfo/database/d/d412+s
@@ -0,0 +1 @@+{"name":"d412-unix-s"}
terminfo/database/d/d412+sr
@@ -0,0 +1 @@+{"name":"d412-unix-sr"}
terminfo/database/d/d412+w
@@ -0,0 +1 @@+{"name":"d412-unix-w"}
terminfo/database/d/d412-dg.gz
terminfo/database/d/d412-unix-25.gz
terminfo/database/d/d412-unix-s.gz
terminfo/database/d/d412-unix-sr.gz
terminfo/database/d/d412-unix-w.gz
terminfo/database/d/d412-unix.gz
terminfo/database/d/d413-dg
@@ -0,0 +1 @@+{"name":"d412-dg"}
terminfo/database/d/d413-unix-25.gz
terminfo/database/d/d413-unix-s.gz
terminfo/database/d/d413-unix-sr.gz
terminfo/database/d/d413-unix-w.gz
terminfo/database/d/d413-unix.gz
terminfo/database/d/d414-unix-25.gz
terminfo/database/d/d414-unix-s.gz
terminfo/database/d/d414-unix-sr.gz
terminfo/database/d/d414-unix-w.gz
terminfo/database/d/d414-unix.gz
terminfo/database/d/d430-dg
@@ -0,0 +1 @@+{"name":"d430c-dg"}
terminfo/database/d/d430-dg-ccc
@@ -0,0 +1 @@+{"name":"d430c-dg-ccc"}
terminfo/database/d/d430-unix
@@ -0,0 +1 @@+{"name":"d430c-unix"}
terminfo/database/d/d430-unix-25
@@ -0,0 +1 @@+{"name":"d430c-unix-25"}
terminfo/database/d/d430-unix-25-ccc
@@ -0,0 +1 @@+{"name":"d430c-unix-25-ccc"}
terminfo/database/d/d430-unix-ccc
@@ -0,0 +1 @@+{"name":"d430c-unix-ccc"}
terminfo/database/d/d430-unix-s
@@ -0,0 +1 @@+{"name":"d430c-unix-s"}
terminfo/database/d/d430-unix-s-ccc
@@ -0,0 +1 @@+{"name":"d430c-unix-s-ccc"}
terminfo/database/d/d430-unix-sr
@@ -0,0 +1 @@+{"name":"d430c-unix-sr"}
terminfo/database/d/d430-unix-sr-ccc
@@ -0,0 +1 @@+{"name":"d430c-unix-sr-ccc"}
terminfo/database/d/d430-unix-w
@@ -0,0 +1 @@+{"name":"d430c-unix-w"}
terminfo/database/d/d430-unix-w-ccc
@@ -0,0 +1 @@+{"name":"d430c-unix-w-ccc"}
terminfo/database/d/d430c-dg-ccc.gz
terminfo/database/d/d430c-dg.gz
terminfo/database/d/d430c-unix-25-ccc.gz
terminfo/database/d/d430c-unix-25.gz
terminfo/database/d/d430c-unix-ccc.gz
terminfo/database/d/d430c-unix-s-ccc.gz
terminfo/database/d/d430c-unix-s.gz
terminfo/database/d/d430c-unix-sr-ccc.gz
terminfo/database/d/d430c-unix-sr.gz
terminfo/database/d/d430c-unix-w-ccc.gz
terminfo/database/d/d430c-unix-w.gz
terminfo/database/d/d430c-unix.gz
terminfo/database/d/d450
@@ -0,0 +1 @@+{"name":"d400"}
terminfo/database/d/d450-dg
@@ -0,0 +1 @@+{"name":"d400"}
terminfo/database/d/d460
@@ -0,0 +1 @@+{"name":"d410"}
terminfo/database/d/d460-7b
@@ -0,0 +1 @@+{"name":"d410-7b"}
terminfo/database/d/d460-7b-w
@@ -0,0 +1 @@+{"name":"d410-7b-w"}
terminfo/database/d/d460-dg
@@ -0,0 +1 @@+{"name":"d410-dg"}
terminfo/database/d/d460-w
@@ -0,0 +1 @@+{"name":"d410-w"}
terminfo/database/d/d461
@@ -0,0 +1 @@+{"name":"d410"}
terminfo/database/d/d461-7b
@@ -0,0 +1 @@+{"name":"d410-7b"}
terminfo/database/d/d461-7b-w
@@ -0,0 +1 @@+{"name":"d410-7b-w"}
terminfo/database/d/d461-dg
@@ -0,0 +1 @@+{"name":"d410-dg"}
terminfo/database/d/d461-w
@@ -0,0 +1 @@+{"name":"d410-w"}
terminfo/database/d/d462+
@@ -0,0 +1 @@+{"name":"d412-unix"}
terminfo/database/d/d462+25
@@ -0,0 +1 @@+{"name":"d412-unix-25"}
terminfo/database/d/d462+dg
@@ -0,0 +1 @@+{"name":"d412-dg"}
terminfo/database/d/d462+s
@@ -0,0 +1 @@+{"name":"d412-unix-s"}
terminfo/database/d/d462+sr
@@ -0,0 +1 @@+{"name":"d412-unix-sr"}
terminfo/database/d/d462+w
@@ -0,0 +1 @@+{"name":"d412-unix-w"}
terminfo/database/d/d462-dg
@@ -0,0 +1 @@+{"name":"d412-dg"}
terminfo/database/d/d462-unix
@@ -0,0 +1 @@+{"name":"d412-unix"}
terminfo/database/d/d462-unix-25
@@ -0,0 +1 @@+{"name":"d412-unix-25"}
terminfo/database/d/d462-unix-s
@@ -0,0 +1 @@+{"name":"d412-unix-s"}
terminfo/database/d/d462-unix-sr
@@ -0,0 +1 @@+{"name":"d412-unix-sr"}
terminfo/database/d/d462-unix-w
@@ -0,0 +1 @@+{"name":"d412-unix-w"}
terminfo/database/d/d462e-dg
@@ -0,0 +1 @@+{"name":"d412-dg"}
terminfo/database/d/d463-dg
@@ -0,0 +1 @@+{"name":"d412-dg"}
terminfo/database/d/d463-unix
@@ -0,0 +1 @@+{"name":"d413-unix"}
terminfo/database/d/d463-unix-25
@@ -0,0 +1 @@+{"name":"d413-unix-25"}
terminfo/database/d/d463-unix-s
@@ -0,0 +1 @@+{"name":"d413-unix-s"}
terminfo/database/d/d463-unix-sr
@@ -0,0 +1 @@+{"name":"d413-unix-sr"}
terminfo/database/d/d463-unix-w
@@ -0,0 +1 @@+{"name":"d413-unix-w"}
terminfo/database/d/d464-unix
@@ -0,0 +1 @@+{"name":"d414-unix"}
terminfo/database/d/d464-unix-25
@@ -0,0 +1 @@+{"name":"d414-unix-25"}
terminfo/database/d/d464-unix-s
@@ -0,0 +1 @@+{"name":"d414-unix-s"}
terminfo/database/d/d464-unix-sr
@@ -0,0 +1 @@+{"name":"d414-unix-sr"}
terminfo/database/d/d464-unix-w
@@ -0,0 +1 @@+{"name":"d414-unix-w"}
terminfo/database/d/d470
@@ -0,0 +1 @@+{"name":"d470c"}
terminfo/database/d/d470-7b
@@ -0,0 +1 @@+{"name":"d470c-7b"}
terminfo/database/d/d470-dg
@@ -0,0 +1 @@+{"name":"d470c-dg"}
terminfo/database/d/d470c-7b.gz
terminfo/database/d/d470c-dg.gz
terminfo/database/d/d470c.gz
terminfo/database/d/d555-7b-w.gz
terminfo/database/d/d555-7b.gz
terminfo/database/d/d555-dg.gz
terminfo/database/d/d555-w.gz
terminfo/database/d/d555.gz
terminfo/database/d/d577-7b-w.gz
terminfo/database/d/d577-7b.gz
terminfo/database/d/d577-dg.gz
terminfo/database/d/d577-w.gz
terminfo/database/d/d577.gz
terminfo/database/d/d578-7b.gz
terminfo/database/d/d578-dg
@@ -0,0 +1 @@+{"name":"d577-dg"}
terminfo/database/d/d578.gz
terminfo/database/d/d80
@@ -0,0 +1 @@+{"name":"ampex80"}
terminfo/database/d/d800.gz
terminfo/database/d/darwin
@@ -0,0 +1 @@+{"name":"xnuppc"}
terminfo/database/d/darwin-100x37
@@ -0,0 +1 @@+{"name":"xnuppc-100x37"}
terminfo/database/d/darwin-100x37-m
@@ -0,0 +1 @@+{"name":"xnuppc-100x37-m"}
terminfo/database/d/darwin-112x37
@@ -0,0 +1 @@+{"name":"xnuppc-112x37"}
terminfo/database/d/darwin-112x37-m
@@ -0,0 +1 @@+{"name":"xnuppc-112x37-m"}
terminfo/database/d/darwin-128x40
@@ -0,0 +1 @@+{"name":"xnuppc-128x40"}
terminfo/database/d/darwin-128x40-m
@@ -0,0 +1 @@+{"name":"xnuppc-128x40-m"}
terminfo/database/d/darwin-128x48
@@ -0,0 +1 @@+{"name":"xnuppc-128x48"}
terminfo/database/d/darwin-128x48-m
@@ -0,0 +1 @@+{"name":"xnuppc-128x48-m"}
terminfo/database/d/darwin-144x48
@@ -0,0 +1 @@+{"name":"xnuppc-144x48"}
terminfo/database/d/darwin-144x48-m
@@ -0,0 +1 @@+{"name":"xnuppc-144x48-m"}
terminfo/database/d/darwin-160x64
@@ -0,0 +1 @@+{"name":"xnuppc-160x64"}
terminfo/database/d/darwin-160x64-m
@@ -0,0 +1 @@+{"name":"xnuppc-160x64-m"}
terminfo/database/d/darwin-200x64
@@ -0,0 +1 @@+{"name":"xnuppc-200x64"}
terminfo/database/d/darwin-200x64-m
@@ -0,0 +1 @@+{"name":"xnuppc-200x64-m"}
terminfo/database/d/darwin-200x75
@@ -0,0 +1 @@+{"name":"xnuppc-200x75"}
terminfo/database/d/darwin-200x75-m
@@ -0,0 +1 @@+{"name":"xnuppc-200x75-m"}
terminfo/database/d/darwin-256x96
@@ -0,0 +1 @@+{"name":"xnuppc-256x96"}
terminfo/database/d/darwin-256x96-m
@@ -0,0 +1 @@+{"name":"xnuppc-256x96-m"}
terminfo/database/d/darwin-80x25
@@ -0,0 +1 @@+{"name":"xnuppc-80x25"}
terminfo/database/d/darwin-80x25-m
@@ -0,0 +1 @@+{"name":"xnuppc-80x25-m"}
terminfo/database/d/darwin-80x30
@@ -0,0 +1 @@+{"name":"xnuppc-80x30"}
terminfo/database/d/darwin-80x30-m
@@ -0,0 +1 @@+{"name":"xnuppc-80x30-m"}
terminfo/database/d/darwin-90x30
@@ -0,0 +1 @@+{"name":"xnuppc-90x30"}
terminfo/database/d/darwin-90x30-m
@@ -0,0 +1 @@+{"name":"xnuppc-90x30-m"}
terminfo/database/d/darwin-b
@@ -0,0 +1 @@+{"name":"xnuppc-b"}
terminfo/database/d/darwin-f
@@ -0,0 +1 @@+{"name":"xnuppc-f"}
terminfo/database/d/darwin-f2
@@ -0,0 +1 @@+{"name":"xnuppc-f2"}
terminfo/database/d/darwin-m
@@ -0,0 +1 @@+{"name":"xnuppc-m"}
terminfo/database/d/darwin-m-b
@@ -0,0 +1 @@+{"name":"xnuppc-m-b"}
terminfo/database/d/darwin-m-f
@@ -0,0 +1 @@+{"name":"xnuppc-m-f"}
terminfo/database/d/darwin-m-f2
@@ -0,0 +1 @@+{"name":"xnuppc-m-f2"}
terminfo/database/d/datagraphix
@@ -0,0 +1 @@+{"name":"d132"}
terminfo/database/d/datamedia2500
@@ -0,0 +1 @@+{"name":"dm2500"}
terminfo/database/d/dd5000
@@ -0,0 +1 @@+{"name":"delta"}
terminfo/database/d/ddr.gz
terminfo/database/d/ddr3180
@@ -0,0 +1 @@+{"name":"ddr"}
terminfo/database/d/dec-vt100.gz
terminfo/database/d/dec-vt220.gz
terminfo/database/d/dec-vt330
@@ -0,0 +1 @@+{"name":"vt340"}
terminfo/database/d/dec-vt340
@@ -0,0 +1 @@+{"name":"vt340"}
terminfo/database/d/dec-vt400
@@ -0,0 +1 @@+{"name":"vt400"}
terminfo/database/d/decansi.gz
terminfo/database/d/decpro
@@ -0,0 +1 @@+{"name":"pro350"}
terminfo/database/d/delta.gz
terminfo/database/d/dg-ansi
@@ -0,0 +1 @@+{"name":"dg210"}
terminfo/database/d/dg-generic.gz
terminfo/database/d/dg100
@@ -0,0 +1 @@+{"name":"dg6053-old"}
terminfo/database/d/dg200.gz
terminfo/database/d/dg210.gz
terminfo/database/d/dg211.gz
terminfo/database/d/dg450.gz
terminfo/database/d/dg460-ansi.gz
terminfo/database/d/dg6053-old.gz
terminfo/database/d/dg6053.gz
terminfo/database/d/dg605x
@@ -0,0 +1 @@+{"name":"dg6053"}
terminfo/database/d/dg6134
@@ -0,0 +1 @@+{"name":"dg450"}
terminfo/database/d/dialogue
@@ -0,0 +1 @@+{"name":"ampex80"}
terminfo/database/d/dialogue80
@@ -0,0 +1 @@+{"name":"ampex80"}
terminfo/database/d/djgpp.gz
terminfo/database/d/djgpp204.gz
terminfo/database/d/dku7003-dumb.gz
terminfo/database/d/dku7003.gz
terminfo/database/d/dku7102
@@ -0,0 +1 @@+{"name":"tws-generic"}
terminfo/database/d/dku7102-sna
@@ -0,0 +1 @@+{"name":"tws2102-sna"}
terminfo/database/d/dku7103-sna
@@ -0,0 +1 @@+{"name":"tws2103-sna"}
terminfo/database/d/dku7202.gz
terminfo/database/d/dm1520.gz
terminfo/database/d/dm1521
@@ -0,0 +1 @@+{"name":"dm1520"}
terminfo/database/d/dm2500.gz
terminfo/database/d/dm3025.gz
terminfo/database/d/dm3045.gz
terminfo/database/d/dm80.gz
terminfo/database/d/dm80w.gz
terminfo/database/d/dmchat.gz
terminfo/database/d/dmd
@@ -0,0 +1 @@+{"name":"att5620"}
terminfo/database/d/dmd-24
@@ -0,0 +1 @@+{"name":"att5620-24"}
terminfo/database/d/dmd-34
@@ -0,0 +1 @@+{"name":"att5620-34"}
terminfo/database/d/dmd1
@@ -0,0 +1 @@+{"name":"att5620-1"}
terminfo/database/d/dmdt80
@@ -0,0 +1 @@+{"name":"dm80"}
terminfo/database/d/dmdt80w
@@ -0,0 +1 @@+{"name":"dm80w"}
terminfo/database/d/dmterm.gz
terminfo/database/d/dp8242.gz
terminfo/database/d/dt-100
@@ -0,0 +1 @@+{"name":"dt100"}
terminfo/database/d/dt-100w
@@ -0,0 +1 @@+{"name":"dt100w"}
terminfo/database/d/dt100.gz
terminfo/database/d/dt100w.gz
terminfo/database/d/dt110.gz
terminfo/database/d/dt80
@@ -0,0 +1 @@+{"name":"dm80"}
terminfo/database/d/dt80-sas.gz
terminfo/database/d/dt80w
@@ -0,0 +1 @@+{"name":"dm80w"}
terminfo/database/d/dtc382.gz
terminfo/database/d/dtterm.gz
terminfo/database/d/dwk-vt
@@ -0,0 +1 @@+{"name":"dwk"}
terminfo/database/d/dwk.gz
terminfo/database/f/f100-rv.gz
terminfo/database/f/f100.gz
terminfo/database/f/f110-14.gz
terminfo/database/f/f110-14w.gz
terminfo/database/f/f110-w.gz
terminfo/database/f/f110.gz
terminfo/database/f/f1720.gz
terminfo/database/f/f1720a
@@ -0,0 +1 @@+{"name":"f1720"}
terminfo/database/f/f200-w.gz
terminfo/database/f/f200.gz
terminfo/database/f/f200vi-w.gz
terminfo/database/f/f200vi.gz
terminfo/database/f/falco-p.gz
terminfo/database/f/falco.gz
terminfo/database/f/fenix
@@ -0,0 +1 @@+{"name":"pt100"}
terminfo/database/f/fenixw
@@ -0,0 +1 @@+{"name":"pt100w"}
terminfo/database/f/fixterm
@@ -0,0 +1 @@+{"name":"cbblit"}
terminfo/database/f/fortune
@@ -0,0 +1 @@+{"name":"fos"}
terminfo/database/f/fos.gz
terminfo/database/f/fox.gz
terminfo/database/f/freedom
@@ -0,0 +1 @@+{"name":"f100"}
terminfo/database/f/freedom-rv
@@ -0,0 +1 @@+{"name":"f100-rv"}
terminfo/database/f/freedom100
@@ -0,0 +1 @@+{"name":"f100"}
terminfo/database/f/freedom110
@@ -0,0 +1 @@+{"name":"f110"}
terminfo/database/f/freedom200
@@ -0,0 +1 @@+{"name":"f200"}
terminfo/database/g/gator-52.gz
terminfo/database/g/gator-52t.gz
terminfo/database/g/gator-t.gz
terminfo/database/g/gator.gz
terminfo/database/g/gigi.gz
terminfo/database/g/gnome-2007.gz
terminfo/database/g/gnome-2008.gz
terminfo/database/g/gnome-256color.gz
terminfo/database/g/gnome-fc5.gz
terminfo/database/g/gnome-rh62.gz
terminfo/database/g/gnome-rh72.gz
terminfo/database/g/gnome-rh80.gz
terminfo/database/g/gnome-rh90.gz
terminfo/database/g/gnome.gz
terminfo/database/g/go-225
@@ -0,0 +1 @@+{"name":"go225"}
terminfo/database/g/go140.gz
terminfo/database/g/go140w.gz
terminfo/database/g/go225.gz
terminfo/database/g/graphos-30.gz
terminfo/database/g/graphos.gz
terminfo/database/g/gs5430
@@ -0,0 +1 @@+{"name":"att505"}
terminfo/database/g/gs5430-22
@@ -0,0 +1 @@+{"name":"tt505-22"}
terminfo/database/g/gs5430-24
@@ -0,0 +1 @@+{"name":"att505-24"}
terminfo/database/g/gs6300.gz
terminfo/database/g/gt100
@@ -0,0 +1 @@+{"name":"i100"}
terminfo/database/g/gt100a
@@ -0,0 +1 @@+{"name":"i100"}
terminfo/database/g/guru+unk
@@ -0,0 +1 @@+{"name":"guru"}
terminfo/database/g/guru-24.gz
terminfo/database/g/guru-33
@@ -0,0 +1 @@+{"name":"guru"}
terminfo/database/g/guru-33-rv
@@ -0,0 +1 @@+{"name":"guru-rv"}
terminfo/database/g/guru-33-s
@@ -0,0 +1 @@+{"name":"guru-s"}
terminfo/database/g/guru-44-s.gz
terminfo/database/g/guru-44.gz
terminfo/database/g/guru-76-lp.gz
terminfo/database/g/guru-76-s.gz
terminfo/database/g/guru-76-w-s.gz
terminfo/database/g/guru-76-w.gz
terminfo/database/g/guru-76-wm.gz
terminfo/database/g/guru-76.gz
terminfo/database/g/guru-lp
@@ -0,0 +1 @@+{"name":"guru-76-lp"}
terminfo/database/g/guru-nctxt.gz
terminfo/database/g/guru-rv.gz
terminfo/database/g/guru-s.gz
terminfo/database/g/guru.gz
terminfo/database/h/h-100
@@ -0,0 +1 @@+{"name":"z100"}
terminfo/database/h/h-100bw
@@ -0,0 +1 @@+{"name":"z100bw"}
terminfo/database/h/h100
@@ -0,0 +1 @@+{"name":"z100"}
terminfo/database/h/h100bw
@@ -0,0 +1 @@+{"name":"z100bw"}
terminfo/database/h/h19-a.gz
terminfo/database/h/h19-b
@@ -0,0 +1 @@+{"name":"h19"}
terminfo/database/h/h19-bs.gz
terminfo/database/h/h19-g.gz
terminfo/database/h/h19-smul
@@ -0,0 +1 @@+{"name":"h19-us"}
terminfo/database/h/h19-u.gz
terminfo/database/h/h19-us.gz
terminfo/database/h/h19.gz
terminfo/database/h/h19a
@@ -0,0 +1 @@+{"name":"h19-a"}
terminfo/database/h/h19g
@@ -0,0 +1 @@+{"name":"h19-g"}
terminfo/database/h/h19k.gz
terminfo/database/h/h19kermit
@@ -0,0 +1 @@+{"name":"h19k"}
terminfo/database/h/h19us
@@ -0,0 +1 @@+{"name":"h19-us"}
terminfo/database/h/h29a-kc-bc
@@ -0,0 +1 @@+{"name":"z29a"}
terminfo/database/h/h29a-kc-uc
@@ -0,0 +1 @@+{"name":"z29a-kc-uc"}
terminfo/database/h/h29a-nkc-bc
@@ -0,0 +1 @@+{"name":"z29a-nkc-bc"}
terminfo/database/h/h29a-nkc-uc
@@ -0,0 +1 @@+{"name":"z29a-nkc-uc"}
terminfo/database/h/h80
@@ -0,0 +1 @@+{"name":"hazel"}
terminfo/database/h/ha8675.gz
terminfo/database/h/ha8686.gz
terminfo/database/h/hazel.gz
terminfo/database/h/hds200.gz
terminfo/database/h/he80
@@ -0,0 +1 @@+{"name":"hazel"}
terminfo/database/h/heath
@@ -0,0 +1 @@+{"name":"h19"}
terminfo/database/h/heath-19
@@ -0,0 +1 @@+{"name":"h19"}
terminfo/database/h/heath-ansi
@@ -0,0 +1 @@+{"name":"h19-a"}
terminfo/database/h/heathkit
@@ -0,0 +1 @@+{"name":"h19"}
terminfo/database/h/heathkit-a
@@ -0,0 +1 @@+{"name":"h19-a"}
terminfo/database/h/hft
@@ -0,0 +1 @@+{"name":"ibm5081"}
terminfo/database/h/hft-c-old.gz
terminfo/database/h/hft-c.gz
terminfo/database/h/hft-old.gz
terminfo/database/h/hirez100-w.gz
terminfo/database/h/hirez100.gz
terminfo/database/h/hmod1.gz
terminfo/database/h/hp
@@ -0,0 +1 @@+{"name":"hpgeneric"}
terminfo/database/h/hp110.gz
terminfo/database/h/hp150.gz
terminfo/database/h/hp2.gz
terminfo/database/h/hp236.gz
terminfo/database/h/hp2382
@@ -0,0 +1 @@+{"name":"hp2382a"}
terminfo/database/h/hp2382a.gz
terminfo/database/h/hp2392.gz
terminfo/database/h/hp2397
@@ -0,0 +1 @@+{"name":"hp2397a"}
terminfo/database/h/hp2397a.gz
terminfo/database/h/hp2621-48.gz
terminfo/database/h/hp2621-a.gz
terminfo/database/h/hp2621-ba.gz
terminfo/database/h/hp2621-fl.gz
terminfo/database/h/hp2621-k45.gz
terminfo/database/h/hp2621-nl.gz
terminfo/database/h/hp2621-nt.gz
terminfo/database/h/hp2621-wl
@@ -0,0 +1 @@+{"name":"hp2621"}
terminfo/database/h/hp2621.gz
terminfo/database/h/hp2621a
@@ -0,0 +1 @@+{"name":"hp2621"}
terminfo/database/h/hp2621a-a
@@ -0,0 +1 @@+{"name":"hp2621-a"}
terminfo/database/h/hp2621b-kx-p.gz
terminfo/database/h/hp2621b-kx.gz
terminfo/database/h/hp2621b-p.gz
terminfo/database/h/hp2621b.gz
terminfo/database/h/hp2621k45
@@ -0,0 +1 @@+{"name":"hp2621-k45"}
terminfo/database/h/hp2621p-a.gz
terminfo/database/h/hp2621p.gz
terminfo/database/h/hp2622.gz
terminfo/database/h/hp2622a
@@ -0,0 +1 @@+{"name":"hp2622"}
terminfo/database/h/hp2623.gz
terminfo/database/h/hp2623a
@@ -0,0 +1 @@+{"name":"hp2623"}
terminfo/database/h/hp2624-10p.gz
terminfo/database/h/hp2624.gz
terminfo/database/h/hp2624a
@@ -0,0 +1 @@+{"name":"hp2624"}
terminfo/database/h/hp2624a-10p
@@ -0,0 +1 @@+{"name":"hp2624-10p"}
terminfo/database/h/hp2624b
@@ -0,0 +1 @@+{"name":"hp2624"}
terminfo/database/h/hp2624b-10p
@@ -0,0 +1 @@+{"name":"hp2624-10p"}
terminfo/database/h/hp2624b-10p-p.gz
terminfo/database/h/hp2624b-4p
@@ -0,0 +1 @@+{"name":"hp2624"}
terminfo/database/h/hp2624b-4p-p
@@ -0,0 +1 @@+{"name":"hp2624b-p"}
terminfo/database/h/hp2624b-p.gz
terminfo/database/h/hp2626-12-s.gz
terminfo/database/h/hp2626-12.gz
terminfo/database/h/hp2626-12x40.gz
terminfo/database/h/hp2626-ns.gz
terminfo/database/h/hp2626-s.gz
terminfo/database/h/hp2626-x40.gz
terminfo/database/h/hp2626.gz
terminfo/database/h/hp2626a
@@ -0,0 +1 @@+{"name":"hp2626"}
terminfo/database/h/hp2626p
@@ -0,0 +1 @@+{"name":"hp2626"}
terminfo/database/h/hp2627a-rev.gz
terminfo/database/h/hp2627a.gz
terminfo/database/h/hp2627c.gz
terminfo/database/h/hp2640b.gz
terminfo/database/h/hp2641a.gz
terminfo/database/h/hp2644a
@@ -0,0 +1 @@+{"name":"hp2640b"}
terminfo/database/h/hp2645.gz
terminfo/database/h/hp2645a
@@ -0,0 +1 @@+{"name":"hp2641a"}
terminfo/database/h/hp2647a
@@ -0,0 +1 @@+{"name":"hp2641a"}
terminfo/database/h/hp2648.gz
terminfo/database/h/hp2648a
@@ -0,0 +1 @@+{"name":"hp2648"}
terminfo/database/h/hp300h.gz
terminfo/database/h/hp45
@@ -0,0 +1 @@+{"name":"hp2645"}
terminfo/database/h/hp700
@@ -0,0 +1 @@+{"name":"hpansi"}
terminfo/database/h/hp700-wy.gz
terminfo/database/h/hp70092.gz
terminfo/database/h/hp70092a
@@ -0,0 +1 @@+{"name":"hp70092"}
terminfo/database/h/hp9837.gz
terminfo/database/h/hp9845.gz
terminfo/database/h/hp98550.gz
terminfo/database/h/hp98550a
@@ -0,0 +1 @@+{"name":"hp98550"}
terminfo/database/h/hp98720
@@ -0,0 +1 @@+{"name":"hp9837"}
terminfo/database/h/hp98721
@@ -0,0 +1 @@+{"name":"hp9837"}
terminfo/database/h/hpansi.gz
terminfo/database/h/hpex.gz
terminfo/database/h/hpex2
@@ -0,0 +1 @@+{"name":"hp2"}
terminfo/database/h/hpgeneric.gz
terminfo/database/h/hpterm-color.gz
terminfo/database/h/hpterm.gz
terminfo/database/h/htx11
@@ -0,0 +1 @@+{"name":"ztx"}
terminfo/database/h/hurd.gz
terminfo/database/h/hz1420.gz
terminfo/database/h/hz1500.gz
terminfo/database/h/hz1510.gz
terminfo/database/h/hz1520-noesc.gz
terminfo/database/h/hz1520.gz
terminfo/database/h/hz1552-rv.gz
terminfo/database/h/hz1552.gz
terminfo/database/h/hz2000.gz
terminfo/database/i/i100.gz
terminfo/database/i/i3101
@@ -0,0 +1 @@+{"name":"ibm3101"}
terminfo/database/i/i3164
@@ -0,0 +1 @@+{"name":"ibm3164"}
terminfo/database/i/i400.gz
terminfo/database/i/ibcs2.gz
terminfo/database/i/ibm-apl.gz
terminfo/database/i/ibm-system1.gz
terminfo/database/i/ibm3101.gz
terminfo/database/i/ibm3151.gz
terminfo/database/i/ibm3161-C.gz
terminfo/database/i/ibm3161.gz
terminfo/database/i/ibm3162.gz
terminfo/database/i/ibm3163
@@ -0,0 +1 @@+{"name":"ibm3161"}
terminfo/database/i/ibm3164.gz
terminfo/database/i/ibm5081-c.gz
terminfo/database/i/ibm5081.gz
terminfo/database/i/ibm5151.gz
terminfo/database/i/ibm5154-c
@@ -0,0 +1 @@+{"name":"ibmega-c"}
terminfo/database/i/ibm5154.gz
terminfo/database/i/ibm6153-40.gz
terminfo/database/i/ibm6153-90.gz
terminfo/database/i/ibm6153.gz
terminfo/database/i/ibm6154-c
@@ -0,0 +1 @@+{"name":"ibmapa8c-c"}
terminfo/database/i/ibm6154.gz
terminfo/database/i/ibm6155.gz
terminfo/database/i/ibm8503.gz
terminfo/database/i/ibm8507
@@ -0,0 +1 @@+{"name":"ibm8503"}
terminfo/database/i/ibm8512.gz
terminfo/database/i/ibm8513
@@ -0,0 +1 @@+{"name":"ibm8512"}
terminfo/database/i/ibm8514-c.gz
terminfo/database/i/ibm8514.gz
terminfo/database/i/ibm8604
@@ -0,0 +1 @@+{"name":"ibm8503"}
terminfo/database/i/ibmaed.gz
terminfo/database/i/ibmapa16
@@ -0,0 +1 @@+{"name":"rtpc"}
terminfo/database/i/ibmapa8
@@ -0,0 +1 @@+{"name":"ibmapa8c"}
terminfo/database/i/ibmapa8c-c.gz
terminfo/database/i/ibmapa8c.gz
terminfo/database/i/ibmega-c.gz
terminfo/database/i/ibmega.gz
terminfo/database/i/ibmmono.gz
terminfo/database/i/ibmmpel-c
@@ -0,0 +1 @@+{"name":"ibm5081-c"}
terminfo/database/i/ibmpc.gz
terminfo/database/i/ibmpc3.gz
terminfo/database/i/ibmpc3r
@@ -0,0 +1 @@+{"name":"cons25r"}
terminfo/database/i/ibmpc3r-mono
@@ -0,0 +1 @@+{"name":"cons25r-m"}
terminfo/database/i/ibmpcx.gz
terminfo/database/i/ibmvga-c.gz
terminfo/database/i/ibmvga.gz
terminfo/database/i/ibmx
@@ -0,0 +1 @@+{"name":"ibmpcx"}
terminfo/database/i/icl6402
@@ -0,0 +1 @@+{"name":"icl6404"}
terminfo/database/i/icl6404-w.gz
terminfo/database/i/icl6404.gz
terminfo/database/i/ifmr.gz
terminfo/database/i/ims-ansi.gz
terminfo/database/i/ims950-b.gz
terminfo/database/i/ims950-rv.gz
terminfo/database/i/ims950.gz
terminfo/database/i/interix-nti.gz
terminfo/database/i/interix.gz
terminfo/database/i/intertec
@@ -0,0 +1 @@+{"name":"intertube"}
terminfo/database/i/intertube.gz
terminfo/database/i/intertube2.gz
terminfo/database/i/intext.gz
terminfo/database/i/intext2.gz
terminfo/database/i/intextii
@@ -0,0 +1 @@+{"name":"intext2"}
terminfo/database/i/iq120
@@ -0,0 +1 @@+{"name":"soroc120"}
terminfo/database/i/iq140
@@ -0,0 +1 @@+{"name":"soroc140"}
terminfo/database/i/iris-ansi-ap.gz
terminfo/database/i/iris-ansi-net
@@ -0,0 +1 @@+{"name":"iris-ansi"}
terminfo/database/i/iris-ansi.gz
terminfo/database/i/iris-color.gz
terminfo/database/i/iris40
@@ -0,0 +1 @@+{"name":"wsiris"}
terminfo/database/j/jaixterm-m.gz
terminfo/database/j/jaixterm.gz
terminfo/database/j/jerq
@@ -0,0 +1 @@+{"name":"blit"}
terminfo/database/j/jfbterm
@@ -0,0 +1 @@+{"name":"kon"}
terminfo/database/k/k45
@@ -0,0 +1 @@+{"name":"hp2621-k45"}
terminfo/database/k/kaypro.gz
terminfo/database/k/kaypro2
@@ -0,0 +1 @@+{"name":"kaypro"}
terminfo/database/k/kds6402
@@ -0,0 +1 @@+{"name":"icl6404"}
terminfo/database/k/kds7372
@@ -0,0 +1 @@+{"name":"icl6404"}
terminfo/database/k/kds7372-w
@@ -0,0 +1 @@+{"name":"icl6404-w"}
terminfo/database/k/kermit-am.gz
terminfo/database/k/kermit.gz
terminfo/database/k/kon.gz
terminfo/database/k/kon2
@@ -0,0 +1 @@+{"name":"kon"}
terminfo/database/k/konsole-16color.gz
terminfo/database/k/konsole-256color.gz
terminfo/database/k/konsole-base.gz
terminfo/database/k/konsole-linux.gz
terminfo/database/k/konsole-solaris.gz
terminfo/database/k/konsole-vt100.gz
terminfo/database/k/konsole-vt420pc.gz
terminfo/database/k/konsole-xf3x.gz
terminfo/database/k/konsole-xf4x.gz
terminfo/database/k/konsole.gz
terminfo/database/k/kt7.gz
terminfo/database/k/kt7ix.gz
terminfo/database/k/kterm-co
@@ -0,0 +1 @@+{"name":"kterm-color"}
terminfo/database/k/kterm-color.gz
terminfo/database/k/kterm.gz
terminfo/database/k/ktm
@@ -0,0 +1 @@+{"name":"synertek"}
terminfo/database/k/kvt.gz
terminfo/database/l/layer
@@ -0,0 +1 @@+{"name":"att5620-s"}
terminfo/database/l/lft-pc850
@@ -0,0 +1 @@+{"name":"lft"}
terminfo/database/l/lft.gz
terminfo/database/l/linux-basic.gz
terminfo/database/l/linux-c-nc.gz
terminfo/database/l/linux-c.gz
terminfo/database/l/linux-koi8.gz
terminfo/database/l/linux-koi8r.gz
terminfo/database/l/linux-lat.gz
terminfo/database/l/linux-m.gz
terminfo/database/l/linux-nic.gz
terminfo/database/l/linux-vt.gz
terminfo/database/l/linux.gz
terminfo/database/l/linux2.6.26.gz
terminfo/database/l/lisa.gz
terminfo/database/l/lisaterm-w.gz
terminfo/database/l/lisaterm.gz
terminfo/database/l/liswb.gz
terminfo/database/l/luna.gz
terminfo/database/l/luna68k
@@ -0,0 +1 @@+{"name":"luna"}
terminfo/database/o/o31
@@ -0,0 +1 @@+{"name":"adm31-old"}
terminfo/database/o/o85h
@@ -0,0 +1 @@+{"name":"abm85h-old"}
terminfo/database/o/oabm85h
@@ -0,0 +1 @@+{"name":"abm85h-old"}
terminfo/database/o/oblit.gz
terminfo/database/o/oc100.gz
terminfo/database/o/oconcept
@@ -0,0 +1 @@+{"name":"oc100"}
terminfo/database/o/ofcons.gz
terminfo/database/o/ojerq
@@ -0,0 +1 @@+{"name":"oblit"}
terminfo/database/o/oldsun.gz
terminfo/database/o/opennt
@@ -0,0 +1 @@+{"name":"interix"}
terminfo/database/o/opennt-100-nti.gz
terminfo/database/o/opennt-100.gz
terminfo/database/o/opennt-25
@@ -0,0 +1 @@+{"name":"interix"}
terminfo/database/o/opennt-25-nti
@@ -0,0 +1 @@+{"name":"interix-nti"}
terminfo/database/o/opennt-25-w
@@ -0,0 +1 @@+{"name":"opennt-w"}
terminfo/database/o/opennt-25-w-vt
@@ -0,0 +1 @@+{"name":"opennt-w-vt"}
terminfo/database/o/opennt-35-nti.gz
terminfo/database/o/opennt-35-w.gz
terminfo/database/o/opennt-35.gz
terminfo/database/o/opennt-50-nti.gz
terminfo/database/o/opennt-50-w.gz
terminfo/database/o/opennt-50.gz
terminfo/database/o/opennt-60-nti.gz
terminfo/database/o/opennt-60-w.gz
terminfo/database/o/opennt-60.gz
terminfo/database/o/opennt-nti
@@ -0,0 +1 @@+{"name":"interix-nti"}
terminfo/database/o/opennt-w-vt.gz
terminfo/database/o/opennt-w.gz
terminfo/database/o/opus3n1+.gz
terminfo/database/o/origibmpc3
@@ -0,0 +1 @@+{"name":"origpc3"}
terminfo/database/o/origpc3.gz
terminfo/database/o/os9LII
@@ -0,0 +1 @@+{"name":"coco3"}
terminfo/database/o/osborne-w.gz
terminfo/database/o/osborne.gz
terminfo/database/o/osborne1
@@ -0,0 +1 @@+{"name":"osborne"}
terminfo/database/o/osborne1-w
@@ -0,0 +1 @@+{"name":"osborne-w"}
terminfo/database/o/osexec.gz
terminfo/database/o/otek4115.gz
terminfo/database/o/owl.gz
terminfo/database/p/p12
@@ -0,0 +1 @@+{"name":"prism12"}
terminfo/database/p/p12-m
@@ -0,0 +1 @@+{"name":"prism12-m"}
terminfo/database/p/p12-m-w
@@ -0,0 +1 @@+{"name":"prism12-m-w"}
terminfo/database/p/p12-w
@@ -0,0 +1 @@+{"name":"prism12-w"}
terminfo/database/p/p14
@@ -0,0 +1 @@+{"name":"prism14"}
terminfo/database/p/p14-m
@@ -0,0 +1 @@+{"name":"prism14-m"}
terminfo/database/p/p14-m-w
@@ -0,0 +1 @@+{"name":"prism14-m-w"}
terminfo/database/p/p14-w
@@ -0,0 +1 @@+{"name":"prism14-w"}
terminfo/database/p/p19.gz
terminfo/database/p/p4
@@ -0,0 +1 @@+{"name":"prism4"}
terminfo/database/p/p5
@@ -0,0 +1 @@+{"name":"prism5"}
terminfo/database/p/p7
@@ -0,0 +1 @@+{"name":"prism7"}
terminfo/database/p/p8
@@ -0,0 +1 @@+{"name":"prism8"}
terminfo/database/p/p8-w
@@ -0,0 +1 @@+{"name":"prism8-w"}
terminfo/database/p/p8gl.gz
terminfo/database/p/p9
@@ -0,0 +1 @@+{"name":"prism9"}
terminfo/database/p/p9-8
@@ -0,0 +1 @@+{"name":"prism9-8"}
terminfo/database/p/p9-8-w
@@ -0,0 +1 @@+{"name":"prism9-8-w"}
terminfo/database/p/p9-w
@@ -0,0 +1 @@+{"name":"prism9-w"}
terminfo/database/p/pc-coherent.gz
terminfo/database/p/pc-minix.gz
terminfo/database/p/pc-venix.gz
terminfo/database/p/pc3-bold
@@ -0,0 +1 @@+{"name":"ibmpc3"}
terminfo/database/p/pc3.gz
terminfo/database/p/pc3r
@@ -0,0 +1 @@+{"name":"cons25r"}
terminfo/database/p/pc3r-m
@@ -0,0 +1 @@+{"name":"cons25r-m"}
terminfo/database/p/pc6300plus.gz
terminfo/database/p/pc7300
@@ -0,0 +1 @@+{"name":"att7300"}
terminfo/database/p/pcansi-25-m.gz
terminfo/database/p/pcansi-25.gz
terminfo/database/p/pcansi-33-m.gz
terminfo/database/p/pcansi-33.gz
terminfo/database/p/pcansi-43-m.gz
terminfo/database/p/pcansi-43.gz
terminfo/database/p/pcansi-m.gz
terminfo/database/p/pcansi-mono
@@ -0,0 +1 @@+{"name":"pcansi-m"}
terminfo/database/p/pcansi.gz
terminfo/database/p/pcansi25
@@ -0,0 +1 @@+{"name":"pcansi-25"}
terminfo/database/p/pcansi25m
@@ -0,0 +1 @@+{"name":"pcansi-25-m"}
terminfo/database/p/pcansi33
@@ -0,0 +1 @@+{"name":"pcansi-33"}
terminfo/database/p/pcansi33m
@@ -0,0 +1 @@+{"name":"pcansi-33-m"}
terminfo/database/p/pcansi43
@@ -0,0 +1 @@+{"name":"pcansi-43"}
terminfo/database/p/pccons.gz
terminfo/database/p/pcconsole
@@ -0,0 +1 @@+{"name":"pccons"}
terminfo/database/p/pcix.gz
terminfo/database/p/pckermit.gz
terminfo/database/p/pckermit12
@@ -0,0 +1 @@+{"name":"pckermit"}
terminfo/database/p/pckermit120.gz
terminfo/database/p/pcmw.gz
terminfo/database/p/pcplot.gz
terminfo/database/p/pcvt25-color.gz
terminfo/database/p/pcvt25.gz
terminfo/database/p/pcvt25w.gz
terminfo/database/p/pcvt28.gz
terminfo/database/p/pcvt28w.gz
terminfo/database/p/pcvt35.gz
terminfo/database/p/pcvt35w.gz
terminfo/database/p/pcvt40.gz
terminfo/database/p/pcvt40w.gz
terminfo/database/p/pcvt43.gz
terminfo/database/p/pcvt43w.gz
terminfo/database/p/pcvt50.gz
terminfo/database/p/pcvt50w.gz
terminfo/database/p/pcvtXX.gz
terminfo/database/p/pcz19
@@ -0,0 +1 @@+{"name":"pc-coherent"}
terminfo/database/p/pe1100
@@ -0,0 +1 @@+{"name":"fox"}
terminfo/database/p/pe1200
@@ -0,0 +1 @@+{"name":"owl"}
terminfo/database/p/pe1251.gz
terminfo/database/p/pe550
@@ -0,0 +1 @@+{"name":"bantam"}
terminfo/database/p/pe6100
@@ -0,0 +1 @@+{"name":"bantam"}
terminfo/database/p/pe6300
@@ -0,0 +1 @@+{"name":"pe1251"}
terminfo/database/p/pe6312
@@ -0,0 +1 @@+{"name":"pe1251"}
terminfo/database/p/pe7000c.gz
terminfo/database/p/pe7000m.gz
terminfo/database/p/pilot.gz
terminfo/database/p/prism12-m-w.gz
terminfo/database/p/prism12-m.gz
terminfo/database/p/prism12-w.gz
terminfo/database/p/prism12.gz
terminfo/database/p/prism14-m-w.gz
terminfo/database/p/prism14-m.gz
terminfo/database/p/prism14-w.gz
terminfo/database/p/prism14.gz
terminfo/database/p/prism2.gz
terminfo/database/p/prism4.gz
terminfo/database/p/prism5.gz
terminfo/database/p/prism7.gz
terminfo/database/p/prism8-w.gz
terminfo/database/p/prism8.gz
terminfo/database/p/prism8gl
@@ -0,0 +1 @@+{"name":"p8gl"}
terminfo/database/p/prism9-8-w.gz
terminfo/database/p/prism9-8.gz
terminfo/database/p/prism9-w.gz
terminfo/database/p/prism9.gz
terminfo/database/p/pro350.gz
terminfo/database/p/ps300.gz
terminfo/database/p/psterm-80x24.gz
terminfo/database/p/psterm-90x28.gz
terminfo/database/p/psterm-96x48.gz
terminfo/database/p/psterm-basic
@@ -0,0 +1 @@+{"name":"psterm"}
terminfo/database/p/psterm-fast.gz
terminfo/database/p/psterm.gz
terminfo/database/p/psx_ansi
@@ -0,0 +1 @@+{"name":"ansi-nt"}
terminfo/database/p/pt100.gz
terminfo/database/p/pt100w.gz
terminfo/database/p/pt200
@@ -0,0 +1 @@+{"name":"pt100"}
terminfo/database/p/pt200w
@@ -0,0 +1 @@+{"name":"pt100w"}
terminfo/database/p/pt250.gz
terminfo/database/p/pt250w.gz
terminfo/database/p/pt505
@@ -0,0 +1 @@+{"name":"att505"}
terminfo/database/p/pt505-22
@@ -0,0 +1 @@+{"name":"tt505-22"}
terminfo/database/p/pt505-24
@@ -0,0 +1 @@+{"name":"att505-24"}
terminfo/database/p/pty.gz
terminfo/database/p/putty-256color.gz
terminfo/database/p/putty-vt100.gz
terminfo/database/p/putty.gz
terminfo/database/q/Q306-8-pc
@@ -0,0 +1 @@+{"name":"bq300-8-pc"}
terminfo/database/q/Q310-vip-H
@@ -0,0 +1 @@+{"name":"vip-H"}
terminfo/database/q/Q310-vip-H-am
@@ -0,0 +1 @@+{"name":"vip-H"}
terminfo/database/q/Q310-vip-Hw
@@ -0,0 +1 @@+{"name":"vip-Hw"}
terminfo/database/q/Q310-vip-w
@@ -0,0 +1 @@+{"name":"vip-w"}
terminfo/database/q/Q310-vip-w-am
@@ -0,0 +1 @@+{"name":"vip-w"}
terminfo/database/q/qansi-g.gz
terminfo/database/q/qansi-m.gz
terminfo/database/q/qansi-t.gz
terminfo/database/q/qansi-w.gz
terminfo/database/q/qansi.gz
terminfo/database/q/qdcons
@@ -0,0 +1 @@+{"name":"qdss"}
terminfo/database/q/qdss.gz
terminfo/database/q/qnx.gz
terminfo/database/q/qnx4
@@ -0,0 +1 @@+{"name":"qnx"}
terminfo/database/q/qnxm.gz
terminfo/database/q/qnxt.gz
terminfo/database/q/qnxt2.gz
terminfo/database/q/qnxt4
@@ -0,0 +1 @@+{"name":"qnxt"}
terminfo/database/q/qnxtmono.gz
terminfo/database/q/qnxw.gz
terminfo/database/q/qvt101+.gz
terminfo/database/q/qvt101.gz
terminfo/database/q/qvt101p
@@ -0,0 +1 @@+{"name":"qvt101+"}
terminfo/database/q/qvt102.gz
terminfo/database/q/qvt103-w.gz
terminfo/database/q/qvt103.gz
terminfo/database/q/qvt108
@@ -0,0 +1 @@+{"name":"qvt101"}
terminfo/database/q/qvt119
@@ -0,0 +1 @@+{"name":"qvt119+"}
terminfo/database/q/qvt119+-25-w.gz
terminfo/database/q/qvt119+-25.gz
terminfo/database/q/qvt119+-w.gz
terminfo/database/q/qvt119+.gz
terminfo/database/q/qvt119-25-w
@@ -0,0 +1 @@+{"name":"qvt119+-25-w"}
terminfo/database/q/qvt119-w
@@ -0,0 +1 @@+{"name":"qvt119+-w"}
terminfo/database/q/qvt119p
@@ -0,0 +1 @@+{"name":"qvt119+"}
terminfo/database/q/qvt119p-25
@@ -0,0 +1 @@+{"name":"qvt119+-25"}
terminfo/database/q/qvt119p-25-w
@@ -0,0 +1 @@+{"name":"qvt119+-25-w"}
terminfo/database/q/qvt119p-w
@@ -0,0 +1 @@+{"name":"qvt119+-w"}
terminfo/database/q/qvt203+
@@ -0,0 +1 @@+{"name":"qvt203"}
terminfo/database/q/qvt203-25-w.gz
terminfo/database/q/qvt203-25.gz
terminfo/database/q/qvt203-w-am
@@ -0,0 +1 @@+{"name":"qvt203-w"}
terminfo/database/q/qvt203-w.gz
terminfo/database/q/qvt203.gz
terminfo/database/r/rbcomm-nam.gz
terminfo/database/r/rbcomm-w.gz
terminfo/database/r/rbcomm.gz
terminfo/database/r/rca.gz
terminfo/database/r/rcons-color.gz
terminfo/database/r/rcons.gz
terminfo/database/r/rebus3180
@@ -0,0 +1 @@+{"name":"ddr"}
terminfo/database/r/regent100.gz
terminfo/database/r/regent20.gz
terminfo/database/r/regent200
@@ -0,0 +1 @@+{"name":"regent60"}
terminfo/database/r/regent25.gz
terminfo/database/r/regent40+.gz
terminfo/database/r/regent40.gz
terminfo/database/r/regent60.gz
terminfo/database/r/rt6221-w.gz
terminfo/database/r/rt6221.gz
terminfo/database/r/rtpc.gz
terminfo/database/r/rxvt-16color.gz
terminfo/database/r/rxvt-256color.gz
terminfo/database/r/rxvt-88color.gz
terminfo/database/r/rxvt-basic.gz
terminfo/database/r/rxvt-color.gz
terminfo/database/r/rxvt-cygwin-native.gz
terminfo/database/r/rxvt-cygwin.gz
terminfo/database/r/rxvt-unicode-256color.gz
terminfo/database/r/rxvt-unicode.gz
terminfo/database/r/rxvt-xpm.gz
terminfo/database/r/rxvt.gz
terminfo/database/s/s4
@@ -0,0 +1 @@+{"name":"att7300"}
terminfo/database/s/sb1.gz
terminfo/database/s/sb2.gz
terminfo/database/s/sb3
@@ -0,0 +1 @@+{"name":"sb2"}
terminfo/database/s/sbi.gz
terminfo/database/s/sbobcat
@@ -0,0 +1 @@+{"name":"bobcat"}
terminfo/database/s/sc410
@@ -0,0 +1 @@+{"name":"scanset"}
terminfo/database/s/sc415
@@ -0,0 +1 @@+{"name":"scanset"}
terminfo/database/s/scanset.gz
terminfo/database/s/scoansi-new.gz
terminfo/database/s/scoansi-old.gz
terminfo/database/s/scoansi.gz
terminfo/database/s/screen-16color-bce-s.gz
terminfo/database/s/screen-16color-bce.gz
terminfo/database/s/screen-16color-s.gz
terminfo/database/s/screen-16color.gz
terminfo/database/s/screen-256color-bce-s.gz
terminfo/database/s/screen-256color-bce.gz
terminfo/database/s/screen-256color-s.gz
terminfo/database/s/screen-256color.gz
terminfo/database/s/screen-bce.gz
terminfo/database/s/screen-s.gz
terminfo/database/s/screen-w.gz
terminfo/database/s/screen.gz
terminfo/database/s/screen.linux.gz
terminfo/database/s/screen.mlterm.gz
terminfo/database/s/screen.rxvt.gz
terminfo/database/s/screen.teraterm.gz
terminfo/database/s/screen.xterm-new
@@ -0,0 +1 @@+{"name":"screen.xterm-xfree86"}
terminfo/database/s/screen.xterm-r6.gz
terminfo/database/s/screen.xterm-xfree86.gz
terminfo/database/s/screen2.gz
terminfo/database/s/screen3.gz
terminfo/database/s/screwpoint.gz
terminfo/database/s/scrhp.gz
terminfo/database/s/sibo.gz
terminfo/database/s/simterm.gz
terminfo/database/s/soroc
@@ -0,0 +1 @@+{"name":"soroc120"}
terminfo/database/s/soroc120.gz
terminfo/database/s/soroc140.gz
terminfo/database/s/st52.gz
terminfo/database/s/sun-1.gz
terminfo/database/s/sun-12.gz
terminfo/database/s/sun-17.gz
terminfo/database/s/sun-24.gz
terminfo/database/s/sun-34.gz
terminfo/database/s/sun-48.gz
terminfo/database/s/sun-c.gz
terminfo/database/s/sun-cgsix.gz
terminfo/database/s/sun-cmd
@@ -0,0 +1 @@+{"name":"sun-c"}
terminfo/database/s/sun-color.gz
terminfo/database/s/sun-e-s.gz
terminfo/database/s/sun-e.gz
terminfo/database/s/sun-il.gz
terminfo/database/s/sun-nic
@@ -0,0 +1 @@+{"name":"sun-e"}
terminfo/database/s/sun-s-e
@@ -0,0 +1 @@+{"name":"sun-e-s"}
terminfo/database/s/sun-s.gz
terminfo/database/s/sun-ss5
@@ -0,0 +1 @@+{"name":"sun-cgsix"}
terminfo/database/s/sun-type4.gz
terminfo/database/s/sun.gz
terminfo/database/s/sun1
@@ -0,0 +1 @@+{"name":"sun"}
terminfo/database/s/sun2
@@ -0,0 +1 @@+{"name":"sun"}
terminfo/database/s/sune
@@ -0,0 +1 @@+{"name":"sun-e"}
terminfo/database/s/superbee
@@ -0,0 +1 @@+{"name":"sbi"}
terminfo/database/s/superbee-xsb.gz
terminfo/database/s/superbeeic.gz
terminfo/database/s/superbrain.gz
terminfo/database/s/sv80
@@ -0,0 +1 @@+{"name":"att2300"}
terminfo/database/s/swtp.gz
terminfo/database/s/synertek.gz
terminfo/database/s/synertek380
@@ -0,0 +1 @@+{"name":"synertek"}
terminfo/database/s/system1
@@ -0,0 +1 @@+{"name":"ibm-system1"}
terminfo/database/t/t10.gz
terminfo/database/t/t1061.gz
terminfo/database/t/t1061f.gz
terminfo/database/t/t16.gz
terminfo/database/t/t3800.gz
terminfo/database/t/t653x
@@ -0,0 +1 @@+{"name":"tandem653"}
terminfo/database/t/tab
@@ -0,0 +1 @@+{"name":"tab132"}
terminfo/database/t/tab132-15
@@ -0,0 +1 @@+{"name":"tab132"}
terminfo/database/t/tab132-rv.gz
terminfo/database/t/tab132-w-rv.gz
terminfo/database/t/tab132-w.gz
terminfo/database/t/tab132.gz
terminfo/database/t/tandem6510.gz
terminfo/database/t/tandem653.gz
terminfo/database/t/tek4023.gz
terminfo/database/t/tek4025-cr.gz
terminfo/database/t/tek4105-30.gz
terminfo/database/t/tek4105.gz
terminfo/database/t/tek4105a.gz
terminfo/database/t/tek4106brl.gz
terminfo/database/t/tek4107.gz
terminfo/database/t/tek4107brl
@@ -0,0 +1 @@+{"name":"tek4106brl"}
terminfo/database/t/tek4109
@@ -0,0 +1 @@+{"name":"tek4107"}
terminfo/database/t/tek4109brl
@@ -0,0 +1 @@+{"name":"tek4106brl"}
terminfo/database/t/tek4112-5.gz
terminfo/database/t/tek4112-nd.gz
terminfo/database/t/tek4112.gz
terminfo/database/t/tek4114
@@ -0,0 +1 @@+{"name":"tek4112"}
terminfo/database/t/tek4115.gz
terminfo/database/t/tek4125.gz
terminfo/database/t/tek4205.gz
terminfo/database/t/tek4207-s.gz
terminfo/database/t/tek4207.gz
terminfo/database/t/tek4404.gz
terminfo/database/t/teleray
@@ -0,0 +1 @@+{"name":"t1061"}
terminfo/database/t/teraterm.gz
terminfo/database/t/teraterm2.3.gz
terminfo/database/t/teraterm4.59.gz
terminfo/database/t/tgtelnet
@@ -0,0 +1 @@+{"name":"pilot"}
terminfo/database/t/ti916-132.gz
terminfo/database/t/ti916-220-7
@@ -0,0 +1 @@+{"name":"ti916"}
terminfo/database/t/ti916-220-8
@@ -0,0 +1 @@+{"name":"ti916-8"}
terminfo/database/t/ti916-8-132.gz
terminfo/database/t/ti916-8.gz
terminfo/database/t/ti916.gz
terminfo/database/t/ti924-8.gz
terminfo/database/t/ti924-8w.gz
terminfo/database/t/ti924.gz
terminfo/database/t/ti924w.gz
terminfo/database/t/ti926-8.gz
terminfo/database/t/ti926.gz
terminfo/database/t/ti928-8.gz
terminfo/database/t/ti928.gz
terminfo/database/t/ti931.gz
terminfo/database/t/ti_ansi.gz
terminfo/database/t/tkterm
@@ -0,0 +1 @@+{"name":"tt"}
terminfo/database/t/trs16.gz
terminfo/database/t/trs2.gz
terminfo/database/t/trs80II
@@ -0,0 +1 @@+{"name":"trs2"}
terminfo/database/t/trsII
@@ -0,0 +1 @@+{"name":"trs2"}
terminfo/database/t/ts-1
@@ -0,0 +1 @@+{"name":"falco"}
terminfo/database/t/ts-1p
@@ -0,0 +1 @@+{"name":"falco-p"}
terminfo/database/t/ts1
@@ -0,0 +1 @@+{"name":"falco"}
terminfo/database/t/ts100-ctxt.gz
terminfo/database/t/ts100-sp
@@ -0,0 +1 @@+{"name":"ts100"}
terminfo/database/t/ts100.gz
terminfo/database/t/ts1p
@@ -0,0 +1 @@+{"name":"falco-p"}
terminfo/database/t/tt.gz
terminfo/database/t/tt505-22.gz
terminfo/database/t/tty4420
@@ -0,0 +1 @@+{"name":"att4420"}
terminfo/database/t/tty4424
@@ -0,0 +1 @@+{"name":"att4424"}
terminfo/database/t/tty4424-1
@@ -0,0 +1 @@+{"name":"att4424-1"}
terminfo/database/t/tty4424m
@@ -0,0 +1 @@+{"name":"att4424m"}
terminfo/database/t/tty4426
@@ -0,0 +1 @@+{"name":"att4426"}
terminfo/database/t/tty5410
@@ -0,0 +1 @@+{"name":"att4410"}
terminfo/database/t/tty5410-w
@@ -0,0 +1 @@+{"name":"att5410-w"}
terminfo/database/t/tty5410v1
@@ -0,0 +1 @@+{"name":"att5410v1"}
terminfo/database/t/tty5410v1-w
@@ -0,0 +1 @@+{"name":"att4410v1-w"}
terminfo/database/t/tty5420
@@ -0,0 +1 @@+{"name":"att4415"}
terminfo/database/t/tty5420-nl
@@ -0,0 +1 @@+{"name":"att4415-nl"}
terminfo/database/t/tty5420-rv
@@ -0,0 +1 @@+{"name":"att4415-rv"}
terminfo/database/t/tty5420-rv-nl
@@ -0,0 +1 @@+{"name":"att4415-rv-nl"}
terminfo/database/t/tty5420-w
@@ -0,0 +1 @@+{"name":"att4415-w"}
terminfo/database/t/tty5420-w-nl
@@ -0,0 +1 @@+{"name":"att4415-w-nl"}
terminfo/database/t/tty5420-w-rv
@@ -0,0 +1 @@+{"name":"att4415-w-rv"}
terminfo/database/t/tty5420-w-rv-n
@@ -0,0 +1 @@+{"name":"att4415-w-rv-n"}
terminfo/database/t/tty5425
@@ -0,0 +1 @@+{"name":"att5425"}
terminfo/database/t/tty5425-nl
@@ -0,0 +1 @@+{"name":"att5425-nl"}
terminfo/database/t/tty5425-w
@@ -0,0 +1 @@+{"name":"att5425-w"}
terminfo/database/t/tty5620
@@ -0,0 +1 @@+{"name":"att5620"}
terminfo/database/t/tty5620-1
@@ -0,0 +1 @@+{"name":"att5620-1"}
terminfo/database/t/tty5620-24
@@ -0,0 +1 @@+{"name":"att5620-24"}
terminfo/database/t/tty5620-34
@@ -0,0 +1 @@+{"name":"att5620-34"}
terminfo/database/t/tty5620-s
@@ -0,0 +1 @@+{"name":"att5620-s"}
terminfo/database/t/ttydmd
@@ -0,0 +1 @@+{"name":"att5620"}
terminfo/database/t/tvi803.gz
terminfo/database/t/tvi9065.gz
terminfo/database/t/tvi910+.gz
terminfo/database/t/tvi910.gz
terminfo/database/t/tvi912.gz
terminfo/database/t/tvi912b-2p-mc.gz
terminfo/database/t/tvi912b-2p-p.gz
terminfo/database/t/tvi912b-2p-unk.gz
terminfo/database/t/tvi912b-2p.gz
terminfo/database/t/tvi912b-mc-2p
@@ -0,0 +1 @@+{"name":"tvi912b-2p-mc"}
terminfo/database/t/tvi912b-mc-vb
@@ -0,0 +1 @@+{"name":"tvi912b-vb-mc"}
terminfo/database/t/tvi912b-mc.gz
terminfo/database/t/tvi912b-p-2p
@@ -0,0 +1 @@+{"name":"tvi912b-2p-p"}
terminfo/database/t/tvi912b-p-vb
@@ -0,0 +1 @@+{"name":"tvi912b-vb-p"}
terminfo/database/t/tvi912b-p.gz
terminfo/database/t/tvi912b-unk-2p
@@ -0,0 +1 @@+{"name":"tvi912b-2p-unk"}
terminfo/database/t/tvi912b-unk-vb
@@ -0,0 +1 @@+{"name":"tvi912b-vb-unk"}
terminfo/database/t/tvi912b-unk.gz
terminfo/database/t/tvi912b-vb-mc.gz
terminfo/database/t/tvi912b-vb-p.gz
terminfo/database/t/tvi912b-vb-unk.gz
terminfo/database/t/tvi912b-vb.gz
terminfo/database/t/tvi912b.gz
terminfo/database/t/tvi912c
@@ -0,0 +1 @@+{"name":"tvi912b"}
terminfo/database/t/tvi912c-2p
@@ -0,0 +1 @@+{"name":"tvi912b-2p"}
terminfo/database/t/tvi912c-2p-mc
@@ -0,0 +1 @@+{"name":"tvi912b-2p-mc"}
terminfo/database/t/tvi912c-2p-p
@@ -0,0 +1 @@+{"name":"tvi912b-2p-p"}
terminfo/database/t/tvi912c-2p-unk
@@ -0,0 +1 @@+{"name":"tvi912b-2p-unk"}
terminfo/database/t/tvi912c-mc
@@ -0,0 +1 @@+{"name":"tvi912b-mc"}
terminfo/database/t/tvi912c-mc-2p
@@ -0,0 +1 @@+{"name":"tvi912b-2p-mc"}
terminfo/database/t/tvi912c-mc-vb
@@ -0,0 +1 @@+{"name":"tvi912b-vb-mc"}
terminfo/database/t/tvi912c-p
@@ -0,0 +1 @@+{"name":"tvi912b-p"}
terminfo/database/t/tvi912c-p-2p
@@ -0,0 +1 @@+{"name":"tvi912b-2p-p"}
terminfo/database/t/tvi912c-p-vb
@@ -0,0 +1 @@+{"name":"tvi912b-vb-p"}
terminfo/database/t/tvi912c-unk
@@ -0,0 +1 @@+{"name":"tvi912b-unk"}
terminfo/database/t/tvi912c-unk-2p
@@ -0,0 +1 @@+{"name":"tvi912b-2p-unk"}
terminfo/database/t/tvi912c-unk-vb
@@ -0,0 +1 @@+{"name":"tvi912b-vb-unk"}
terminfo/database/t/tvi912c-vb
@@ -0,0 +1 @@+{"name":"tvi912b-vb"}
terminfo/database/t/tvi912c-vb-mc
@@ -0,0 +1 @@+{"name":"tvi912b-vb-mc"}
terminfo/database/t/tvi912c-vb-p
@@ -0,0 +1 @@+{"name":"tvi912b-vb-p"}
terminfo/database/t/tvi912c-vb-unk
@@ -0,0 +1 @@+{"name":"tvi912b-vb-unk"}
terminfo/database/t/tvi914
@@ -0,0 +1 @@+{"name":"tvi912"}
terminfo/database/t/tvi920
@@ -0,0 +1 @@+{"name":"tvi912"}
terminfo/database/t/tvi920b-2p-mc.gz
terminfo/database/t/tvi920b-2p-p.gz
terminfo/database/t/tvi920b-2p-unk.gz
terminfo/database/t/tvi920b-2p.gz
terminfo/database/t/tvi920b-mc-2p
@@ -0,0 +1 @@+{"name":"tvi920b-2p-mc"}
terminfo/database/t/tvi920b-mc-vb
@@ -0,0 +1 @@+{"name":"tvi920b-vb-mc"}
terminfo/database/t/tvi920b-mc.gz
terminfo/database/t/tvi920b-p-2p
@@ -0,0 +1 @@+{"name":"tvi920b-2p-p"}
terminfo/database/t/tvi920b-p-vb
@@ -0,0 +1 @@+{"name":"tvi920b-vb-p"}
terminfo/database/t/tvi920b-p.gz
terminfo/database/t/tvi920b-unk-2p
@@ -0,0 +1 @@+{"name":"tvi920b-2p-unk"}
terminfo/database/t/tvi920b-unk-vb
@@ -0,0 +1 @@+{"name":"tvi920b-vb-unk"}
terminfo/database/t/tvi920b-unk.gz
terminfo/database/t/tvi920b-vb-mc.gz
terminfo/database/t/tvi920b-vb-p.gz
terminfo/database/t/tvi920b-vb-unk.gz
terminfo/database/t/tvi920b-vb.gz
terminfo/database/t/tvi920b.gz
terminfo/database/t/tvi920c
@@ -0,0 +1 @@+{"name":"tvi920b"}
terminfo/database/t/tvi920c-2p
@@ -0,0 +1 @@+{"name":"tvi920b-2p"}
terminfo/database/t/tvi920c-2p-mc
@@ -0,0 +1 @@+{"name":"tvi920b-2p-mc"}
terminfo/database/t/tvi920c-2p-p
@@ -0,0 +1 @@+{"name":"tvi920b-2p-p"}
terminfo/database/t/tvi920c-2p-unk
@@ -0,0 +1 @@+{"name":"tvi920b-2p-unk"}
terminfo/database/t/tvi920c-mc
@@ -0,0 +1 @@+{"name":"tvi920b-mc"}
terminfo/database/t/tvi920c-mc-2p
@@ -0,0 +1 @@+{"name":"tvi920b-2p-mc"}
terminfo/database/t/tvi920c-mc-vb
@@ -0,0 +1 @@+{"name":"tvi920b-vb-mc"}
terminfo/database/t/tvi920c-p
@@ -0,0 +1 @@+{"name":"tvi920b-p"}
terminfo/database/t/tvi920c-p-2p
@@ -0,0 +1 @@+{"name":"tvi920b-2p-p"}
terminfo/database/t/tvi920c-p-vb
@@ -0,0 +1 @@+{"name":"tvi920b-vb-p"}
terminfo/database/t/tvi920c-unk
@@ -0,0 +1 @@+{"name":"tvi920b-unk"}
terminfo/database/t/tvi920c-unk-2p
@@ -0,0 +1 @@+{"name":"tvi920b-2p-unk"}
terminfo/database/t/tvi920c-unk-vb
@@ -0,0 +1 @@+{"name":"tvi920b-vb-unk"}
terminfo/database/t/tvi920c-vb
@@ -0,0 +1 @@+{"name":"tvi920b-vb"}
terminfo/database/t/tvi920c-vb-mc
@@ -0,0 +1 @@+{"name":"tvi920b-vb-mc"}
terminfo/database/t/tvi920c-vb-p
@@ -0,0 +1 @@+{"name":"tvi920b-vb-p"}
terminfo/database/t/tvi920c-vb-unk
@@ -0,0 +1 @@+{"name":"tvi920b-vb-unk"}
terminfo/database/t/tvi921.gz
terminfo/database/t/tvi924.gz
terminfo/database/t/tvi925-hi.gz
terminfo/database/t/tvi925.gz
terminfo/database/t/tvi92B.gz
terminfo/database/t/tvi92D.gz
terminfo/database/t/tvi950-2p.gz
terminfo/database/t/tvi950-4p.gz
terminfo/database/t/tvi950-rv-2p.gz
terminfo/database/t/tvi950-rv-4p.gz
terminfo/database/t/tvi950-rv.gz
terminfo/database/t/tvi950.gz
terminfo/database/t/tvi955-hb.gz
terminfo/database/t/tvi955-w.gz
terminfo/database/t/tvi955.gz
terminfo/database/t/tvi970-2p.gz
terminfo/database/t/tvi970-vb.gz
terminfo/database/t/tvi970.gz
terminfo/database/t/tvipt.gz
terminfo/database/t/tws-generic.gz
terminfo/database/t/tws2102-sna.gz
terminfo/database/t/tws2103-sna.gz
terminfo/database/t/tws2103.gz
terminfo/database/u/ultima2
@@ -0,0 +1 @@+{"name":"ims-ansi"}
terminfo/database/u/ultimaII
@@ -0,0 +1 @@+{"name":"ims-ansi"}
terminfo/database/u/uniterm.gz
terminfo/database/u/uniterm49
@@ -0,0 +1 @@+{"name":"uniterm"}
terminfo/database/u/unixpc
@@ -0,0 +1 @@+{"name":"att7300"}
terminfo/database/u/uts30.gz
terminfo/database/u/uwin.gz
terminfo/database/v/v200-nam
@@ -0,0 +1 @@+{"name":"vt220-nam"}
terminfo/database/v/v320n
@@ -0,0 +1 @@+{"name":"vt320nam"}
terminfo/database/v/v3220.gz
terminfo/database/v/v5410.gz
terminfo/database/v/vapple
@@ -0,0 +1 @@+{"name":"apple-videx3"}
terminfo/database/v/vc404-s.gz
terminfo/database/v/vc404.gz
terminfo/database/v/vc414.gz
terminfo/database/v/vc414h
@@ -0,0 +1 @@+{"name":"vc414"}
terminfo/database/v/vc415.gz
terminfo/database/v/venix
@@ -0,0 +1 @@+{"name":"pc-venix"}
terminfo/database/v/versaterm.gz
terminfo/database/v/vi200-f.gz
terminfo/database/v/vi200-rv.gz
terminfo/database/v/vi200.gz
terminfo/database/v/vi300-old.gz
terminfo/database/v/vi300.gz
terminfo/database/v/vi50.gz
terminfo/database/v/vi500.gz
terminfo/database/v/vi50adm.gz
terminfo/database/v/vi55.gz
terminfo/database/v/vi550.gz
terminfo/database/v/vi603.gz
terminfo/database/v/viewpoint.gz
terminfo/database/v/viewpoint3a+
@@ -0,0 +1 @@+{"name":"vp3a+"}
terminfo/database/v/viewpoint60
@@ -0,0 +1 @@+{"name":"vp60"}
terminfo/database/v/viewpoint90
@@ -0,0 +1 @@+{"name":"vp90"}
terminfo/database/v/vip-H.gz
terminfo/database/v/vip-Hw.gz
terminfo/database/v/vip-w.gz
terminfo/database/v/vip.gz
terminfo/database/v/vip7800-H
@@ -0,0 +1 @@+{"name":"vip-H"}
terminfo/database/v/vip7800-Hw
@@ -0,0 +1 @@+{"name":"vip-Hw"}
terminfo/database/v/vip7800-w
@@ -0,0 +1 @@+{"name":"vip-w"}
terminfo/database/v/visa50.gz
terminfo/database/v/visual603
@@ -0,0 +1 @@+{"name":"vi603"}
terminfo/database/v/vitty
@@ -0,0 +1 @@+{"name":"att5620-s"}
terminfo/database/v/vk100
@@ -0,0 +1 @@+{"name":"gigi"}
terminfo/database/v/vp3a+.gz
terminfo/database/v/vp60.gz
terminfo/database/v/vp90.gz
terminfo/database/v/vremote.gz
terminfo/database/v/vs100
@@ -0,0 +1 @@+{"name":"xterm-24"}
terminfo/database/v/vs100-x10
@@ -0,0 +1 @@+{"name":"x10term"}
terminfo/database/v/vsc.gz
terminfo/database/v/vt-61
@@ -0,0 +1 @@+{"name":"vt61"}
terminfo/database/v/vt-utf8
@@ -0,0 +1 @@+{"name":"ms-vt-utf8"}
terminfo/database/v/vt100+
@@ -0,0 +1 @@+{"name":"ms-vt100+"}
terminfo/database/v/vt100-am
@@ -0,0 +1 @@+{"name":"vt100"}
terminfo/database/v/vt100-bm
@@ -0,0 +1 @@+{"name":"nwp512"}
terminfo/database/v/vt100-bm-o
@@ -0,0 +1 @@+{"name":"nwp512-o"}
terminfo/database/v/vt100-bot-s
@@ -0,0 +1 @@+{"name":"vt100-s-bot"}
terminfo/database/v/vt100-nam
@@ -0,0 +1 @@+{"name":"vt100nam"}
terminfo/database/v/vt100-nam-w
@@ -0,0 +1 @@+{"name":"vt100-w-nam"}
terminfo/database/v/vt100-nav-w.gz
terminfo/database/v/vt100-nav.gz
terminfo/database/v/vt100-putty.gz
terminfo/database/v/vt100-s-bot.gz
terminfo/database/v/vt100-s-top
@@ -0,0 +1 @@+{"name":"vt100-s"}
terminfo/database/v/vt100-s.gz
terminfo/database/v/vt100-top-s
@@ -0,0 +1 @@+{"name":"vt100-s"}
terminfo/database/v/vt100-vb.gz
terminfo/database/v/vt100-w-am
@@ -0,0 +1 @@+{"name":"vt100-w"}
terminfo/database/v/vt100-w-nam.gz
terminfo/database/v/vt100-w-nav
@@ -0,0 +1 @@+{"name":"vt100-nav-w"}
terminfo/database/v/vt100-w.gz
terminfo/database/v/vt100.gz
terminfo/database/v/vt100nam.gz
terminfo/database/v/vt102-nsgr.gz
terminfo/database/v/vt102-w.gz
terminfo/database/v/vt102.gz
terminfo/database/v/vt125.gz
terminfo/database/v/vt131.gz
terminfo/database/v/vt132.gz
terminfo/database/v/vt200
@@ -0,0 +1 @@+{"name":"vt220"}
terminfo/database/v/vt200-8
@@ -0,0 +1 @@+{"name":"vt220-8bit"}
terminfo/database/v/vt200-8bit
@@ -0,0 +1 @@+{"name":"vt220-8bit"}
terminfo/database/v/vt200-js.gz
terminfo/database/v/vt200-old
@@ -0,0 +1 @@+{"name":"vt220-old"}
terminfo/database/v/vt200-w
@@ -0,0 +1 @@+{"name":"vt220-w"}
terminfo/database/v/vt220-8
@@ -0,0 +1 @@+{"name":"vt220-8bit"}
terminfo/database/v/vt220-8bit.gz
terminfo/database/v/vt220-js
@@ -0,0 +1 @@+{"name":"vt200-js"}
terminfo/database/v/vt220-nam.gz
terminfo/database/v/vt220-old.gz
terminfo/database/v/vt220-w.gz
terminfo/database/v/vt220.gz
terminfo/database/v/vt220d.gz
terminfo/database/v/vt300
@@ -0,0 +1 @@+{"name":"vt320"}
terminfo/database/v/vt300-nam
@@ -0,0 +1 @@+{"name":"vt320-nam"}
terminfo/database/v/vt300-w
@@ -0,0 +1 @@+{"name":"vt320-w"}
terminfo/database/v/vt300-w-nam
@@ -0,0 +1 @@+{"name":"vt320-w-nam"}
terminfo/database/v/vt320-k3.gz
terminfo/database/v/vt320-k311.gz
terminfo/database/v/vt320-nam.gz
terminfo/database/v/vt320-w-nam.gz
terminfo/database/v/vt320-w.gz
terminfo/database/v/vt320.gz
terminfo/database/v/vt320nam.gz
terminfo/database/v/vt330
@@ -0,0 +1 @@+{"name":"vt340"}
terminfo/database/v/vt340.gz
terminfo/database/v/vt400-24
@@ -0,0 +1 @@+{"name":"vt400"}
terminfo/database/v/vt400.gz
terminfo/database/v/vt420.gz
terminfo/database/v/vt420f.gz
terminfo/database/v/vt420pc.gz
terminfo/database/v/vt420pcdos.gz
terminfo/database/v/vt50h.gz
terminfo/database/v/vt510.gz
terminfo/database/v/vt510pc.gz
terminfo/database/v/vt510pcdos.gz
terminfo/database/v/vt52.gz
terminfo/database/v/vt520.gz
terminfo/database/v/vt525.gz
terminfo/database/v/vt61.5
@@ -0,0 +1 @@+{"name":"vt61"}
terminfo/database/v/vt61.gz
terminfo/database/v/vtnt
@@ -0,0 +1 @@+{"name":"ms-vt100-color"}
terminfo/database/v/vv100
@@ -0,0 +1 @@+{"name":"mvterm"}
terminfo/database/w/wren
@@ -0,0 +1 @@+{"name":"pt100"}
terminfo/database/w/wrenw
@@ -0,0 +1 @@+{"name":"pt100w"}
terminfo/database/w/wsiris.gz
terminfo/database/w/wsvt25.gz
terminfo/database/w/wsvt25m.gz
terminfo/database/w/wy-75ap
@@ -0,0 +1 @@+{"name":"wy75ap"}
terminfo/database/w/wy-99fgt
@@ -0,0 +1 @@+{"name":"wy99f"}
terminfo/database/w/wy-99fgta
@@ -0,0 +1 @@+{"name":"wy99fa"}
terminfo/database/w/wy100.gz
terminfo/database/w/wy100q.gz
terminfo/database/w/wy120-25-w.gz
terminfo/database/w/wy120-25.gz
terminfo/database/w/wy120-vb.gz
terminfo/database/w/wy120-w-vb.gz
terminfo/database/w/wy120-w.gz
terminfo/database/w/wy120-wvb
@@ -0,0 +1 @@+{"name":"wy120-w-vb"}
terminfo/database/w/wy120.gz
terminfo/database/w/wy150
@@ -0,0 +1 @@+{"name":"wy120"}
terminfo/database/w/wy150-25
@@ -0,0 +1 @@+{"name":"wy120-25"}
terminfo/database/w/wy150-25-w
@@ -0,0 +1 @@+{"name":"wy120-25-w"}
terminfo/database/w/wy150-vb
@@ -0,0 +1 @@+{"name":"wy120-vb"}
terminfo/database/w/wy150-w
@@ -0,0 +1 @@+{"name":"wy120-w"}
terminfo/database/w/wy150-w-vb
@@ -0,0 +1 @@+{"name":"wy120-w-vb"}
terminfo/database/w/wy160-25-w.gz
terminfo/database/w/wy160-25.gz
terminfo/database/w/wy160-42-w.gz
terminfo/database/w/wy160-42.gz
terminfo/database/w/wy160-43-w.gz
terminfo/database/w/wy160-43.gz
terminfo/database/w/wy160-tek.gz
terminfo/database/w/wy160-vb.gz
terminfo/database/w/wy160-w-vb.gz
terminfo/database/w/wy160-w.gz
terminfo/database/w/wy160-wvb
@@ -0,0 +1 @@+{"name":"wy160-w-vb"}
terminfo/database/w/wy160.gz
terminfo/database/w/wy185-24.gz
terminfo/database/w/wy185-vb.gz
terminfo/database/w/wy185-w.gz
terminfo/database/w/wy185-wvb.gz
terminfo/database/w/wy185.gz
terminfo/database/w/wy30-mc.gz
terminfo/database/w/wy30-vb.gz
terminfo/database/w/wy30.gz
terminfo/database/w/wy325-25.gz
terminfo/database/w/wy325-25w.gz
terminfo/database/w/wy325-42.gz
terminfo/database/w/wy325-42w-vb.gz
terminfo/database/w/wy325-42w.gz
terminfo/database/w/wy325-42wvb
@@ -0,0 +1 @@+{"name":"wy325-42w-vb"}
terminfo/database/w/wy325-43.gz
terminfo/database/w/wy325-43w-vb.gz
terminfo/database/w/wy325-43w.gz
terminfo/database/w/wy325-43wvb
@@ -0,0 +1 @@+{"name":"wy325-43w-vb"}
terminfo/database/w/wy325-80
@@ -0,0 +1 @@+{"name":"wy325-25"}
terminfo/database/w/wy325-vb.gz
terminfo/database/w/wy325-w-vb.gz
terminfo/database/w/wy325-w.gz
terminfo/database/w/wy325-wvb
@@ -0,0 +1 @@+{"name":"wy325-w-vb"}
terminfo/database/w/wy325.gz
terminfo/database/w/wy325w-24
@@ -0,0 +1 @@+{"name":"wy325-w"}
terminfo/database/w/wy350-vb.gz
terminfo/database/w/wy350-w.gz
terminfo/database/w/wy350-wvb.gz
terminfo/database/w/wy350.gz
terminfo/database/w/wy370-101k
@@ -0,0 +1 @@+{"name":"wy370"}
terminfo/database/w/wy370-105k.gz
terminfo/database/w/wy370-EPC.gz
terminfo/database/w/wy370-nk.gz
terminfo/database/w/wy370-rv.gz
terminfo/database/w/wy370-tek.gz
terminfo/database/w/wy370-vb.gz
terminfo/database/w/wy370-w.gz
terminfo/database/w/wy370-wvb.gz
terminfo/database/w/wy370.gz
terminfo/database/w/wy50-mc.gz
terminfo/database/w/wy50-vb.gz
terminfo/database/w/wy50-w.gz
terminfo/database/w/wy50-wvb.gz
terminfo/database/w/wy50.gz
terminfo/database/w/wy520-24.gz
terminfo/database/w/wy520-36.gz
terminfo/database/w/wy520-36pc.gz
terminfo/database/w/wy520-36w.gz
terminfo/database/w/wy520-36wpc.gz
terminfo/database/w/wy520-48.gz
terminfo/database/w/wy520-48pc.gz
terminfo/database/w/wy520-48w.gz
terminfo/database/w/wy520-48wpc.gz
terminfo/database/w/wy520-epc-24.gz
terminfo/database/w/wy520-epc-vb.gz
terminfo/database/w/wy520-epc-w.gz
terminfo/database/w/wy520-epc-wvb.gz
terminfo/database/w/wy520-epc.gz
terminfo/database/w/wy520-vb.gz
terminfo/database/w/wy520-w.gz
terminfo/database/w/wy520-wvb.gz
terminfo/database/w/wy520.gz
terminfo/database/w/wy60-25-w.gz
terminfo/database/w/wy60-25.gz
terminfo/database/w/wy60-316X
@@ -0,0 +1 @@+{"name":"ibm3161"}
terminfo/database/w/wy60-42-w.gz
terminfo/database/w/wy60-42.gz
terminfo/database/w/wy60-43-w.gz
terminfo/database/w/wy60-43.gz
terminfo/database/w/wy60-AT
@@ -0,0 +1 @@+{"name":"ibm5151"}
terminfo/database/w/wy60-PC
@@ -0,0 +1 @@+{"name":"ibmpc"}
terminfo/database/w/wy60-vb.gz
terminfo/database/w/wy60-w-vb.gz
terminfo/database/w/wy60-w.gz
terminfo/database/w/wy60-wvb
@@ -0,0 +1 @@+{"name":"wy60-w-vb"}
terminfo/database/w/wy60.gz
terminfo/database/w/wy75-mc.gz
terminfo/database/w/wy75-vb.gz
terminfo/database/w/wy75-w.gz
terminfo/database/w/wy75-wvb.gz
terminfo/database/w/wy75.gz
terminfo/database/w/wy75ap.gz
terminfo/database/w/wy85-8bit.gz
terminfo/database/w/wy85-vb.gz
terminfo/database/w/wy85-w.gz
terminfo/database/w/wy85-wvb.gz
terminfo/database/w/wy85.gz
terminfo/database/w/wy99-ansi.gz
terminfo/database/w/wy99a-ansi.gz
terminfo/database/w/wy99f.gz
terminfo/database/w/wy99fa.gz
terminfo/database/w/wy99fgt
@@ -0,0 +1 @@+{"name":"wy99f"}
terminfo/database/w/wy99fgta
@@ -0,0 +1 @@+{"name":"wy99fa"}
terminfo/database/w/wy99gt-25-w.gz
terminfo/database/w/wy99gt-25.gz
terminfo/database/w/wy99gt-tek.gz
terminfo/database/w/wy99gt-vb.gz
terminfo/database/w/wy99gt-w-vb.gz
terminfo/database/w/wy99gt-w.gz
terminfo/database/w/wy99gt-wvb
@@ -0,0 +1 @@+{"name":"wy99gt-w-vb"}
terminfo/database/w/wy99gt.gz
terminfo/database/w/wyse-325
@@ -0,0 +1 @@+{"name":"wy325-25"}
terminfo/database/w/wyse-75ap
@@ -0,0 +1 @@+{"name":"wy75ap"}
terminfo/database/w/wyse-vp.gz
terminfo/database/w/wyse120
@@ -0,0 +1 @@+{"name":"wy120"}
terminfo/database/w/wyse120-25
@@ -0,0 +1 @@+{"name":"wy120-25"}
terminfo/database/w/wyse120-25-w
@@ -0,0 +1 @@+{"name":"wy120-25-w"}
terminfo/database/w/wyse120-vb
@@ -0,0 +1 @@+{"name":"wy120-vb"}
terminfo/database/w/wyse120-w
@@ -0,0 +1 @@+{"name":"wy120-w"}
terminfo/database/w/wyse120-wvb
@@ -0,0 +1 @@+{"name":"wy120-w-vb"}
terminfo/database/w/wyse150
@@ -0,0 +1 @@+{"name":"wy120"}
terminfo/database/w/wyse150-25
@@ -0,0 +1 @@+{"name":"wy120-25"}
terminfo/database/w/wyse150-25-w
@@ -0,0 +1 @@+{"name":"wy120-25-w"}
terminfo/database/w/wyse150-vb
@@ -0,0 +1 @@+{"name":"wy120-vb"}
terminfo/database/w/wyse150-w
@@ -0,0 +1 @@+{"name":"wy120-w"}
terminfo/database/w/wyse150-w-vb
@@ -0,0 +1 @@+{"name":"wy120-w-vb"}
terminfo/database/w/wyse160
@@ -0,0 +1 @@+{"name":"wy160"}
terminfo/database/w/wyse160-25
@@ -0,0 +1 @@+{"name":"wy160-25"}
terminfo/database/w/wyse160-25-w
@@ -0,0 +1 @@+{"name":"wy160-25-w"}
terminfo/database/w/wyse160-42
@@ -0,0 +1 @@+{"name":"wy160-42"}
terminfo/database/w/wyse160-42-w
@@ -0,0 +1 @@+{"name":"wy160-42-w"}
terminfo/database/w/wyse160-43
@@ -0,0 +1 @@+{"name":"wy160-43"}
terminfo/database/w/wyse160-43-w
@@ -0,0 +1 @@+{"name":"wy160-43-w"}
terminfo/database/w/wyse160-vb
@@ -0,0 +1 @@+{"name":"wy160-vb"}
terminfo/database/w/wyse160-w
@@ -0,0 +1 @@+{"name":"wy160-w"}
terminfo/database/w/wyse160-wvb
@@ -0,0 +1 @@+{"name":"wy160-w-vb"}
terminfo/database/w/wyse185
@@ -0,0 +1 @@+{"name":"wy185"}
terminfo/database/w/wyse185-24
@@ -0,0 +1 @@+{"name":"wy185-24"}
terminfo/database/w/wyse185-vb
@@ -0,0 +1 @@+{"name":"wy185-vb"}
terminfo/database/w/wyse185-w
@@ -0,0 +1 @@+{"name":"wy185-w"}
terminfo/database/w/wyse185-wvb
@@ -0,0 +1 @@+{"name":"wy185-wvb"}
terminfo/database/w/wyse30
@@ -0,0 +1 @@+{"name":"wy30"}
terminfo/database/w/wyse30-mc
@@ -0,0 +1 @@+{"name":"wy30-mc"}
terminfo/database/w/wyse30-vb
@@ -0,0 +1 @@+{"name":"wy30-vb"}
terminfo/database/w/wyse325
@@ -0,0 +1 @@+{"name":"wy325"}
terminfo/database/w/wyse325-25
@@ -0,0 +1 @@+{"name":"wy325-25"}
terminfo/database/w/wyse325-25w
@@ -0,0 +1 @@+{"name":"wy325-25w"}
terminfo/database/w/wyse325-42
@@ -0,0 +1 @@+{"name":"wy325-42"}
terminfo/database/w/wyse325-42w
@@ -0,0 +1 @@+{"name":"wy325-42w"}
terminfo/database/w/wyse325-43
@@ -0,0 +1 @@+{"name":"wy325-43"}
terminfo/database/w/wyse325-43w
@@ -0,0 +1 @@+{"name":"wy325-43w"}
terminfo/database/w/wyse325-vb
@@ -0,0 +1 @@+{"name":"wy325-vb"}
terminfo/database/w/wyse325-w
@@ -0,0 +1 @@+{"name":"wy325-w"}
terminfo/database/w/wyse325-wvb
@@ -0,0 +1 @@+{"name":"wy325-w-vb"}
terminfo/database/w/wyse350
@@ -0,0 +1 @@+{"name":"wy350"}
terminfo/database/w/wyse350-vb
@@ -0,0 +1 @@+{"name":"wy350-vb"}
terminfo/database/w/wyse350-w
@@ -0,0 +1 @@+{"name":"wy350-w"}
terminfo/database/w/wyse350-wvb
@@ -0,0 +1 @@+{"name":"wy350-wvb"}
terminfo/database/w/wyse370
@@ -0,0 +1 @@+{"name":"wy370"}
terminfo/database/w/wyse50
@@ -0,0 +1 @@+{"name":"wy50"}
terminfo/database/w/wyse50-mc
@@ -0,0 +1 @@+{"name":"wy50-mc"}
terminfo/database/w/wyse50-vb
@@ -0,0 +1 @@+{"name":"wy50-vb"}
terminfo/database/w/wyse50-w
@@ -0,0 +1 @@+{"name":"wy50-w"}
terminfo/database/w/wyse50-wvb
@@ -0,0 +1 @@+{"name":"wy50-wvb"}
terminfo/database/w/wyse520
@@ -0,0 +1 @@+{"name":"wy520"}
terminfo/database/w/wyse520-24
@@ -0,0 +1 @@+{"name":"wy520-24"}
terminfo/database/w/wyse520-36
@@ -0,0 +1 @@+{"name":"wy520-36"}
terminfo/database/w/wyse520-36pc
@@ -0,0 +1 @@+{"name":"wy520-36pc"}
terminfo/database/w/wyse520-36w
@@ -0,0 +1 @@+{"name":"wy520-36w"}
terminfo/database/w/wyse520-36wpc
@@ -0,0 +1 @@+{"name":"wy520-36wpc"}
terminfo/database/w/wyse520-48
@@ -0,0 +1 @@+{"name":"wy520-48"}
terminfo/database/w/wyse520-48pc
@@ -0,0 +1 @@+{"name":"wy520-48pc"}
terminfo/database/w/wyse520-48w
@@ -0,0 +1 @@+{"name":"wy520-48w"}
terminfo/database/w/wyse520-48wpc
@@ -0,0 +1 @@+{"name":"wy520-48wpc"}
terminfo/database/w/wyse520-epc
@@ -0,0 +1 @@+{"name":"wy520-epc"}
terminfo/database/w/wyse520-epc-w
@@ -0,0 +1 @@+{"name":"wy520-epc-w"}
terminfo/database/w/wyse520-p-wvb
@@ -0,0 +1 @@+{"name":"wy520-epc-wvb"}
terminfo/database/w/wyse520-pc-24
@@ -0,0 +1 @@+{"name":"wy520-epc-24"}
terminfo/database/w/wyse520-pc-vb
@@ -0,0 +1 @@+{"name":"wy520-epc-vb"}
terminfo/database/w/wyse520-vb
@@ -0,0 +1 @@+{"name":"wy520-vb"}
terminfo/database/w/wyse520-w
@@ -0,0 +1 @@+{"name":"wy520-w"}
terminfo/database/w/wyse520-wvb
@@ -0,0 +1 @@+{"name":"wy520-wvb"}
terminfo/database/w/wyse60
@@ -0,0 +1 @@+{"name":"wy60"}
terminfo/database/w/wyse60-25
@@ -0,0 +1 @@+{"name":"wy60-25"}
terminfo/database/w/wyse60-25-w
@@ -0,0 +1 @@+{"name":"wy60-25-w"}
terminfo/database/w/wyse60-316X
@@ -0,0 +1 @@+{"name":"ibm3161"}
terminfo/database/w/wyse60-42
@@ -0,0 +1 @@+{"name":"wy60-42"}
terminfo/database/w/wyse60-42-w
@@ -0,0 +1 @@+{"name":"wy60-42-w"}
terminfo/database/w/wyse60-43
@@ -0,0 +1 @@+{"name":"wy60-43"}
terminfo/database/w/wyse60-43-w
@@ -0,0 +1 @@+{"name":"wy60-43-w"}
terminfo/database/w/wyse60-AT
@@ -0,0 +1 @@+{"name":"ibm5151"}
terminfo/database/w/wyse60-PC
@@ -0,0 +1 @@+{"name":"ibmpc"}
terminfo/database/w/wyse60-vb
@@ -0,0 +1 @@+{"name":"wy60-vb"}
terminfo/database/w/wyse60-w
@@ -0,0 +1 @@+{"name":"wy60-w"}
terminfo/database/w/wyse60-wvb
@@ -0,0 +1 @@+{"name":"wy60-w-vb"}
terminfo/database/w/wyse75
@@ -0,0 +1 @@+{"name":"wy75"}
terminfo/database/w/wyse75-mc
@@ -0,0 +1 @@+{"name":"wy75-mc"}
terminfo/database/w/wyse75-vb
@@ -0,0 +1 @@+{"name":"wy75-vb"}
terminfo/database/w/wyse75-w
@@ -0,0 +1 @@+{"name":"wy75-w"}
terminfo/database/w/wyse75-wvb
@@ -0,0 +1 @@+{"name":"wy75-wvb"}
terminfo/database/w/wyse75ap
@@ -0,0 +1 @@+{"name":"wy75ap"}
terminfo/database/w/wyse85
@@ -0,0 +1 @@+{"name":"wy85"}
terminfo/database/w/wyse85-8bit
@@ -0,0 +1 @@+{"name":"wy85-8bit"}
terminfo/database/w/wyse85-vb
@@ -0,0 +1 @@+{"name":"wy85-vb"}
terminfo/database/w/wyse85-w
@@ -0,0 +1 @@+{"name":"wy85-w"}
terminfo/database/w/wyse85-wvb
@@ -0,0 +1 @@+{"name":"wy85-wvb"}
terminfo/database/w/wyse99gt
@@ -0,0 +1 @@+{"name":"wy99gt"}
terminfo/database/w/wyse99gt-25
@@ -0,0 +1 @@+{"name":"wy99gt-25"}
terminfo/database/w/wyse99gt-25-w
@@ -0,0 +1 @@+{"name":"wy99gt-25-w"}
terminfo/database/w/wyse99gt-vb
@@ -0,0 +1 @@+{"name":"wy99gt-vb"}
terminfo/database/w/wyse99gt-w
@@ -0,0 +1 @@+{"name":"wy99gt-w"}
terminfo/database/w/wyse99gt-wvb
@@ -0,0 +1 @@+{"name":"wy99gt-w-vb"}
terminfo/database/x/X-hpterm
@@ -0,0 +1 @@+{"name":"hpterm"}
terminfo/database/x/x10term.gz
terminfo/database/x/x68k-ite
@@ -0,0 +1 @@+{"name":"x68k"}
terminfo/database/x/x68k.gz
terminfo/database/x/x820
@@ -0,0 +1 @@+{"name":"xerox820"}
terminfo/database/x/xdku
@@ -0,0 +1 @@+{"name":"tws2103"}
terminfo/database/x/xenix
@@ -0,0 +1 @@+{"name":"ibmpcx"}
terminfo/database/x/xerox820.gz
terminfo/database/x/xfce.gz
terminfo/database/x/xiterm.gz
terminfo/database/x/xl83
@@ -0,0 +1 @@+{"name":"cyb83"}
terminfo/database/x/xnuppc+b.gz
terminfo/database/x/xnuppc+basic.gz
terminfo/database/x/xnuppc+f.gz
terminfo/database/x/xnuppc+f2.gz
terminfo/database/x/xnuppc-100x37-m.gz
terminfo/database/x/xnuppc-100x37.gz
terminfo/database/x/xnuppc-112x37-m.gz
terminfo/database/x/xnuppc-112x37.gz
terminfo/database/x/xnuppc-128x40-m.gz
terminfo/database/x/xnuppc-128x40.gz
terminfo/database/x/xnuppc-128x48-m.gz
terminfo/database/x/xnuppc-128x48.gz
terminfo/database/x/xnuppc-144x48-m.gz
terminfo/database/x/xnuppc-144x48.gz
terminfo/database/x/xnuppc-160x64-m.gz
terminfo/database/x/xnuppc-160x64.gz
terminfo/database/x/xnuppc-200x64-m.gz
terminfo/database/x/xnuppc-200x64.gz
terminfo/database/x/xnuppc-200x75-m.gz
terminfo/database/x/xnuppc-200x75.gz
terminfo/database/x/xnuppc-256x96-m.gz
terminfo/database/x/xnuppc-256x96.gz
terminfo/database/x/xnuppc-80x25-m.gz
terminfo/database/x/xnuppc-80x25.gz
terminfo/database/x/xnuppc-80x30-m.gz
terminfo/database/x/xnuppc-80x30.gz
terminfo/database/x/xnuppc-90x30-m.gz
terminfo/database/x/xnuppc-90x30.gz
terminfo/database/x/xnuppc-b.gz
terminfo/database/x/xnuppc-f.gz
terminfo/database/x/xnuppc-f2.gz
terminfo/database/x/xnuppc-m-b.gz
terminfo/database/x/xnuppc-m-f.gz
terminfo/database/x/xnuppc-m-f2.gz
terminfo/database/x/xnuppc-m.gz
terminfo/database/x/xnuppc.gz
terminfo/database/x/xtalk.gz
terminfo/database/x/xterm+sl-twm.gz
terminfo/database/x/xterm+sl.gz
terminfo/database/x/xterm-1002.gz
terminfo/database/x/xterm-1003.gz
terminfo/database/x/xterm-16color.gz
terminfo/database/x/xterm-24.gz
terminfo/database/x/xterm-256color.gz
terminfo/database/x/xterm-88color.gz
terminfo/database/x/xterm-8bit.gz
terminfo/database/x/xterm-basic.gz
terminfo/database/x/xterm-bold.gz
terminfo/database/x/xterm-color.gz
terminfo/database/x/xterm-hp.gz
terminfo/database/x/xterm-new.gz
terminfo/database/x/xterm-nic.gz
terminfo/database/x/xterm-noapp.gz
terminfo/database/x/xterm-old
@@ -0,0 +1 @@+{"name":"xterm-r6"}
terminfo/database/x/xterm-pcolor.gz
terminfo/database/x/xterm-r5.gz
terminfo/database/x/xterm-r6.gz
terminfo/database/x/xterm-sco.gz
terminfo/database/x/xterm-sun.gz
terminfo/database/x/xterm-vt220.gz
terminfo/database/x/xterm-vt52.gz
terminfo/database/x/xterm-xf86-v32.gz
terminfo/database/x/xterm-xf86-v33.gz
terminfo/database/x/xterm-xf86-v333.gz
terminfo/database/x/xterm-xf86-v40.gz
terminfo/database/x/xterm-xf86-v43.gz
terminfo/database/x/xterm-xf86-v44.gz
terminfo/database/x/xterm-xfree86.gz
terminfo/database/x/xterm-xi.gz
terminfo/database/x/xterm.gz
terminfo/database/x/xterm1.gz
terminfo/database/x/xtermc.gz
terminfo/database/x/xtermm.gz
terminfo/database/x/xterms
@@ -0,0 +1 @@+{"name":"xterm-24"}
terminfo/database/x/xterms-sun.gz
terminfo/database/x/xwsh
@@ -0,0 +1 @@+{"name":"iris-color"}
terminfo/database/z/z-100
@@ -0,0 +1 @@+{"name":"z100"}
terminfo/database/z/z-100bw
@@ -0,0 +1 @@+{"name":"z100bw"}
terminfo/database/z/z100.gz
terminfo/database/z/z100bw.gz
terminfo/database/z/z110
@@ -0,0 +1 @@+{"name":"z100"}
terminfo/database/z/z110bw
@@ -0,0 +1 @@+{"name":"z100bw"}
terminfo/database/z/z19
@@ -0,0 +1 @@+{"name":"h19"}
terminfo/database/z/z29.gz
terminfo/database/z/z29a-kc-bc
@@ -0,0 +1 @@+{"name":"z29a"}
terminfo/database/z/z29a-kc-uc.gz
terminfo/database/z/z29a-nkc-bc.gz
terminfo/database/z/z29a-nkc-uc.gz
terminfo/database/z/z29a.gz
terminfo/database/z/z29b
@@ -0,0 +1 @@+{"name":"z29"}
terminfo/database/z/z30
@@ -0,0 +1 @@+{"name":"zen30"}
terminfo/database/z/z340-nam.gz
terminfo/database/z/z340.gz
terminfo/database/z/z39-a.gz
terminfo/database/z/z39a
@@ -0,0 +1 @@+{"name":"z39-a"}
terminfo/database/z/z50
@@ -0,0 +1 @@+{"name":"zen50"}
terminfo/database/z/z8001
@@ -0,0 +1 @@+{"name":"cci"}
terminfo/database/z/zen30.gz
terminfo/database/z/zen50.gz
terminfo/database/z/zen8001
@@ -0,0 +1 @@+{"name":"cci"}
terminfo/database/z/zenith
@@ -0,0 +1 @@+{"name":"h19"}
terminfo/database/z/zenith29
@@ -0,0 +1 @@+{"name":"z29"}
terminfo/database/z/zenith39-a
@@ -0,0 +1 @@+{"name":"z39-a"}
terminfo/database/z/zenith39-ansi
@@ -0,0 +1 @@+{"name":"z39-a"}
terminfo/database/z/zt-1
@@ -0,0 +1 @@+{"name":"ztx"}
terminfo/database/z/ztx-1-a
@@ -0,0 +1 @@+{"name":"ztx"}
terminfo/database/z/ztx.gz
terminfo/database/z/ztx11
@@ -0,0 +1 @@+{"name":"ztx"}
terminfo/mkdatabase.sh
@@ -0,0 +1,171 @@+#!/bin/bash++# Copyright 2017 The TCell Authors+#+# Licensed under the Apache License, Version 2.0 (the "License");+# you may not use file except in compliance with the License.+# You may obtain a copy of the license at+#+# http://www.apache.org/licenses/LICENSE-2.0+#+# Unless required by applicable law or agreed to in writing, software+# distributed under the License is distributed on an "AS IS" BASIS,+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+# See the License for the specific language governing permissions and+# limitations under the License.++#+# When called with no arguments, this shell script builds the Go database,+# which is somewhat minimal for size reasons (it only contains the most+# commonly used entries), and then builds the complete JSON database.+#+# To limit the action to only building one or more terminals, specify them+# on the command line:+#+# ./mkdatabase xterm+#+# The script will also find and update or add any terminal "aliases".+# It does not remove any old entries.+#+# To add to the set of terminals that we compile into the Go database,+# add their names to the models.txt file.+#++# This script is not very efficient, but there isn't really a better way+# without writing code to decode the terminfo binary format directly.+# Its not worth worrying about.++# This script also requires bash, although ksh93 should work as well, because+# we use arrays, which are not specified in POSIX.++progress()+{+ typeset -i num=$1+ typeset -i tot=$2+ typeset -i x+ typeset back+ typeset s++ if (( tot < 1 ))+ then+ s=$(printf "[ %d ]" $num)+ back="\b\b\b\b\b"+ x=$num+ while (( x >= 10 ))+ do+ back="${back}\b"+ x=$(( x / 10 ))+ done+ + else+ x=$(( num * 100 / tot ))+ s=$(printf "<%3d%%>" $x)+ back="\b\b\b\b\b\b"+ fi+ printf "%s${back}" "$s"+}++goterms=( $(cat models.txt) )+args=( $* )+if (( ${#args[@]} == 0 ))+then+ args=( $(toe -a | cut -f1) )+fi++printf "Scanning terminal definitions: "+i=0+aliases=()+models=()+for term in ${args[@]}+do+ line=$(infocmp $term | head -2 | tail -1)+ if [[ -z "$line" ]]+ then+ echo "Cannot find terminfo for $term"+ exit 1+ fi+ # grab primary name+ term=${line%%|*}+ all+=( ${term} )++ # should this be in our go terminals?+ for model in ${goterms[@]}+ do+ if [[ "${model}" == "${term}" ]]+ then+ models+=( ${term} )+ fi+ done++ # chop off description+ line=${line%|*}+ # chop off primary name+ line=${line#${term}}+ line=${line#|}+ while [[ "$line" != "" ]]+ do+ a=${line%%|*}+ aliases+=( ${a}=${term} )+ line=${line#$a}+ line=${line#|}+ done+ i=$(( i + 1 ))+ progress $i ${#all[@]}+done+echo+# make sure we have mkinfo+printf "Building mkinfo: "+go build mkinfo.go+echo "done."++# Build all the go database files for the "interesting" terminals".+printf "Building Go database: "+i=0+for model in ${models[@]}+do+ safe=$(echo $model | tr - _)+ file=term_${safe}.go+ ./mkinfo -go $file $model+ go fmt ${file} >/dev/null+ i=$(( i + 1 ))+ progress $i ${#models[@]}+done+echo++printf "Building JSON database: "++# The JSON files are located for each terminal in a file with the+# terminal name, in the following fashion "database/x/xterm.json++i=0+for model in ${all[@]}+do+ letter=${model:0:1}+ dir=database/${letter}+ file=${dir}/${model}.gz+ mkdir -p ${dir}+ ./mkinfo -nofatal -quiet -gzip -json ${file} ${model}+ i=$(( i + 1 ))+ progress $i ${#all[@]}+done+echo++printf "Building JSON aliases: "+i=0+for model in ${aliases[@]}+do+ canon=${model#*=}+ model=${model%=*}+ letter=${model:0:1}+ dir=database/${letter}+ file=${dir}/${model}+ if [[ -f database/${canon:0:1}/${canon}.gz ]]+ then+ [[ -d ${dir} ]] || mkdir -p ${dir}+ # Generally speaking the aliases are better uncompressed+ ./mkinfo -nofatal -quiet -json ${file} ${model}+ fi+ i=$(( i + 1 ))+ progress $i ${#aliases[@]}+done+echo
terminfo/mkinfo.go
@@ -0,0 +1,768 @@+// +build ignore++// Copyright 2017 The TCell Authors+//+// Licensed under the Apache License, Version 2.0 (the "License");+// you may not use file except in compliance with the License.+// You may obtain a copy of the license at+//+// http://www.apache.org/licenses/LICENSE-2.0+//+// Unless required by applicable law or agreed to in writing, software+// distributed under the License is distributed on an "AS IS" BASIS,+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+// See the License for the specific language governing permissions and+// limitations under the License.++// This command is used to generate suitable configuration files in either+// go syntax or in JSON. It defaults to JSON output on stdout. If no+// term values are specified on the command line, then $TERM is used.+//+// Usage is like this:+//+// mkinfo [-init] [-go file.go] [-json file.json] [-quiet] [-nofatal] [<term>...]+//+// -gzip specifies output should be compressed (json only)+// -go specifies Go output into the named file. Use - for stdout.+// -json specifies JSON output in the named file. Use - for stdout+// -nofatal indicates that errors loading definitions should not be fatal+//++package main++import (+ "bytes"+ "compress/gzip"+ "encoding/json"+ "errors"+ "flag"+ "fmt"+ "io"+ "os"+ "os/exec"+ "regexp"+ "strconv"+ "strings"++ "github.com/gdamore/tcell/terminfo"+)++type termcap struct {+ name string+ desc string+ aliases []string+ bools map[string]bool+ nums map[string]int+ strs map[string]string+}++func (tc *termcap) getnum(s string) int {+ return (tc.nums[s])+}++func (tc *termcap) getflag(s string) bool {+ return (tc.bools[s])+}++func (tc *termcap) getstr(s string) string {+ return (tc.strs[s])+}++const (+ NONE = iota+ CTRL+ ESC+)++func unescape(s string) string {+ // Various escapes are in \x format. Control codes are+ // encoded as ^M (carat followed by ASCII equivalent).+ // Escapes are: \e, \E - escape+ // \0 NULL, \n \l \r \t \b \f \s for equivalent C escape.+ buf := &bytes.Buffer{}+ esc := NONE++ for i := 0; i < len(s); i++ {+ c := s[i]+ switch esc {+ case NONE:+ switch c {+ case '\\':+ esc = ESC+ case '^':+ esc = CTRL+ default:+ buf.WriteByte(c)+ }+ case CTRL:+ buf.WriteByte(c - 0x40)+ esc = NONE+ case ESC:+ switch c {+ case 'E', 'e':+ buf.WriteByte(0x1b)+ case '0':+ buf.WriteByte(0)+ case 'n':+ buf.WriteByte('\n')+ case 'r':+ buf.WriteByte('\r')+ case 't':+ buf.WriteByte('\t')+ case 'b':+ buf.WriteByte('\b')+ case 'f':+ buf.WriteByte('\f')+ case 's':+ buf.WriteByte(' ')+ case 'l':+ panic("WTF: weird format: " + s)+ default:+ buf.WriteByte(c)+ }+ esc = NONE+ }+ }+ return (buf.String())+}++func (tc *termcap) setupterm(name string) error {+ cmd := exec.Command("infocmp", "-1", name)+ output := &bytes.Buffer{}+ cmd.Stdout = output++ tc.strs = make(map[string]string)+ tc.bools = make(map[string]bool)+ tc.nums = make(map[string]int)++ err := cmd.Run()+ if err != nil {+ return err+ }++ // Now parse the output.+ // We get comment lines (starting with "#"), followed by+ // a header line that looks like "<name>|<alias>|...|<desc>"+ // then capabilities, one per line, starting with a tab and ending+ // with a comma and newline.+ lines := strings.Split(output.String(), "\n")+ for len(lines) > 0 && strings.HasPrefix(lines[0], "#") {+ lines = lines[1:]+ }++ // Ditch trailing empty last line+ if lines[len(lines)-1] == "" {+ lines = lines[:len(lines)-1]+ }+ header := lines[0]+ if strings.HasSuffix(header, ",") {+ header = header[:len(header)-1]+ }+ names := strings.Split(header, "|")+ tc.name = names[0]+ names = names[1:]+ if len(names) > 0 {+ tc.desc = names[len(names)-1]+ names = names[:len(names)-1]+ }+ tc.aliases = names+ for _, val := range lines[1:] {+ if (!strings.HasPrefix(val, "\t")) ||+ (!strings.HasSuffix(val, ",")) {+ return (errors.New("malformed infocmp: " + val))+ }++ val = val[1:]+ val = val[:len(val)-1]++ if k := strings.SplitN(val, "=", 2); len(k) == 2 {+ tc.strs[k[0]] = unescape(k[1])+ } else if k := strings.SplitN(val, "#", 2); len(k) == 2 {+ if u, err := strconv.ParseUint(k[1], 10, 0); err != nil {+ return (err)+ } else {+ tc.nums[k[0]] = int(u)+ }+ } else {+ tc.bools[val] = true+ }+ }+ return nil+}++// This program is used to collect data from the system's terminfo library,+// and write it into Go source code. That is, we maintain our terminfo+// capabilities encoded in the program. It should never need to be run by+// an end user, but developers can use this to add codes for additional+// terminal types.+//+// If a terminal name ending with -truecolor is given, and we cannot find+// one, we will try to fabricate one from either the -256color (if present)+// or the unadorned base name, adding the XTerm specific 24-bit color+// escapes. We believe that all 24-bit capable terminals use the same+// escape sequences, and terminfo has yet to evolve to support this.+func getinfo(name string) (*terminfo.Terminfo, string, error) {+ var tc termcap+ addTrueColor := false+ if err := tc.setupterm(name); err != nil {+ if strings.HasSuffix(name, "-truecolor") {+ base := name[:len(name)-len("-truecolor")]+ // Probably -256color is closest to what we want+ if err = tc.setupterm(base + "-256color"); err != nil {+ err = tc.setupterm(base)+ }+ if err == nil {+ addTrueColor = true+ }+ }+ if err != nil {+ return nil, "", err+ }+ }+ t := &terminfo.Terminfo{}+ // If this is an alias record, then just emit the alias+ t.Name = tc.name+ if t.Name != name {+ return t, "", nil+ }+ t.Aliases = tc.aliases+ t.Colors = tc.getnum("colors")+ t.Columns = tc.getnum("cols")+ t.Lines = tc.getnum("lines")+ t.Bell = tc.getstr("bel")+ t.Clear = tc.getstr("clear")+ t.EnterCA = tc.getstr("smcup")+ t.ExitCA = tc.getstr("rmcup")+ t.ShowCursor = tc.getstr("cnorm")+ t.HideCursor = tc.getstr("civis")+ t.AttrOff = tc.getstr("sgr0")+ t.Underline = tc.getstr("smul")+ t.Bold = tc.getstr("bold")+ t.Blink = tc.getstr("blink")+ t.Dim = tc.getstr("dim")+ t.Reverse = tc.getstr("rev")+ t.EnterKeypad = tc.getstr("smkx")+ t.ExitKeypad = tc.getstr("rmkx")+ t.SetFg = tc.getstr("setaf")+ t.SetBg = tc.getstr("setab")+ t.SetCursor = tc.getstr("cup")+ t.CursorBack1 = tc.getstr("cub1")+ t.CursorUp1 = tc.getstr("cuu1")+ t.KeyF1 = tc.getstr("kf1")+ t.KeyF2 = tc.getstr("kf2")+ t.KeyF3 = tc.getstr("kf3")+ t.KeyF4 = tc.getstr("kf4")+ t.KeyF5 = tc.getstr("kf5")+ t.KeyF6 = tc.getstr("kf6")+ t.KeyF7 = tc.getstr("kf7")+ t.KeyF8 = tc.getstr("kf8")+ t.KeyF9 = tc.getstr("kf9")+ t.KeyF10 = tc.getstr("kf10")+ t.KeyF11 = tc.getstr("kf11")+ t.KeyF12 = tc.getstr("kf12")+ t.KeyF13 = tc.getstr("kf13")+ t.KeyF14 = tc.getstr("kf14")+ t.KeyF15 = tc.getstr("kf15")+ t.KeyF16 = tc.getstr("kf16")+ t.KeyF17 = tc.getstr("kf17")+ t.KeyF18 = tc.getstr("kf18")+ t.KeyF19 = tc.getstr("kf19")+ t.KeyF20 = tc.getstr("kf20")+ t.KeyF21 = tc.getstr("kf21")+ t.KeyF22 = tc.getstr("kf22")+ t.KeyF23 = tc.getstr("kf23")+ t.KeyF24 = tc.getstr("kf24")+ t.KeyF25 = tc.getstr("kf25")+ t.KeyF26 = tc.getstr("kf26")+ t.KeyF27 = tc.getstr("kf27")+ t.KeyF28 = tc.getstr("kf28")+ t.KeyF29 = tc.getstr("kf29")+ t.KeyF30 = tc.getstr("kf30")+ t.KeyF31 = tc.getstr("kf31")+ t.KeyF32 = tc.getstr("kf32")+ t.KeyF33 = tc.getstr("kf33")+ t.KeyF34 = tc.getstr("kf34")+ t.KeyF35 = tc.getstr("kf35")+ t.KeyF36 = tc.getstr("kf36")+ t.KeyF37 = tc.getstr("kf37")+ t.KeyF38 = tc.getstr("kf38")+ t.KeyF39 = tc.getstr("kf39")+ t.KeyF40 = tc.getstr("kf40")+ t.KeyF41 = tc.getstr("kf41")+ t.KeyF42 = tc.getstr("kf42")+ t.KeyF43 = tc.getstr("kf43")+ t.KeyF44 = tc.getstr("kf44")+ t.KeyF45 = tc.getstr("kf45")+ t.KeyF46 = tc.getstr("kf46")+ t.KeyF47 = tc.getstr("kf47")+ t.KeyF48 = tc.getstr("kf48")+ t.KeyF49 = tc.getstr("kf49")+ t.KeyF50 = tc.getstr("kf50")+ t.KeyF51 = tc.getstr("kf51")+ t.KeyF52 = tc.getstr("kf52")+ t.KeyF53 = tc.getstr("kf53")+ t.KeyF54 = tc.getstr("kf54")+ t.KeyF55 = tc.getstr("kf55")+ t.KeyF56 = tc.getstr("kf56")+ t.KeyF57 = tc.getstr("kf57")+ t.KeyF58 = tc.getstr("kf58")+ t.KeyF59 = tc.getstr("kf59")+ t.KeyF60 = tc.getstr("kf60")+ t.KeyF61 = tc.getstr("kf61")+ t.KeyF62 = tc.getstr("kf62")+ t.KeyF63 = tc.getstr("kf63")+ t.KeyF64 = tc.getstr("kf64")+ t.KeyInsert = tc.getstr("kich1")+ t.KeyDelete = tc.getstr("kdch1")+ t.KeyBackspace = tc.getstr("kbs")+ t.KeyHome = tc.getstr("khome")+ t.KeyEnd = tc.getstr("kend")+ t.KeyUp = tc.getstr("kcuu1")+ t.KeyDown = tc.getstr("kcud1")+ t.KeyRight = tc.getstr("kcuf1")+ t.KeyLeft = tc.getstr("kcub1")+ t.KeyPgDn = tc.getstr("knp")+ t.KeyPgUp = tc.getstr("kpp")+ t.KeyBacktab = tc.getstr("kcbt")+ t.KeyExit = tc.getstr("kext")+ t.KeyCancel = tc.getstr("kcan")+ t.KeyPrint = tc.getstr("kprt")+ t.KeyHelp = tc.getstr("khlp")+ t.KeyClear = tc.getstr("kclr")+ t.AltChars = tc.getstr("acsc")+ t.EnterAcs = tc.getstr("smacs")+ t.ExitAcs = tc.getstr("rmacs")+ t.EnableAcs = tc.getstr("enacs")+ t.Mouse = tc.getstr("kmous")+ t.KeyShfRight = tc.getstr("kRIT")+ t.KeyShfLeft = tc.getstr("kLFT")+ t.KeyShfHome = tc.getstr("kHOM")+ t.KeyShfEnd = tc.getstr("kEND")++ // Terminfo lacks descriptions for a bunch of modified keys,+ // but modern XTerm and emulators often have them. Let's add them,+ // if the shifted right and left arrows are defined.+ if t.KeyShfRight == "\x1b[1;2C" && t.KeyShfLeft == "\x1b[1;2D" {+ t.KeyShfUp = "\x1b[1;2A"+ t.KeyShfDown = "\x1b[1;2B"+ t.KeyMetaUp = "\x1b[1;9A"+ t.KeyMetaDown = "\x1b[1;9B"+ t.KeyMetaRight = "\x1b[1;9C"+ t.KeyMetaLeft = "\x1b[1;9D"+ t.KeyAltUp = "\x1b[1;3A"+ t.KeyAltDown = "\x1b[1;3B"+ t.KeyAltRight = "\x1b[1;3C"+ t.KeyAltLeft = "\x1b[1;3D"+ t.KeyCtrlUp = "\x1b[1;5A"+ t.KeyCtrlDown = "\x1b[1;5B"+ t.KeyCtrlRight = "\x1b[1;5C"+ t.KeyCtrlLeft = "\x1b[1;5D"+ t.KeyAltShfUp = "\x1b[1;4A"+ t.KeyAltShfDown = "\x1b[1;4B"+ t.KeyAltShfRight = "\x1b[1;4C"+ t.KeyAltShfLeft = "\x1b[1;4D"++ t.KeyMetaShfUp = "\x1b[1;10A"+ t.KeyMetaShfDown = "\x1b[1;10B"+ t.KeyMetaShfRight = "\x1b[1;10C"+ t.KeyMetaShfLeft = "\x1b[1;10D"++ t.KeyCtrlShfUp = "\x1b[1;6A"+ t.KeyCtrlShfDown = "\x1b[1;6B"+ t.KeyCtrlShfRight = "\x1b[1;6C"+ t.KeyCtrlShfLeft = "\x1b[1;6D"+ }+ // And also for Home and End+ if t.KeyShfHome == "\x1b[1;2H" && t.KeyShfEnd == "\x1b[1;2F" {+ t.KeyCtrlHome = "\x1b[1;5H"+ t.KeyCtrlEnd = "\x1b[1;5F"+ t.KeyAltHome = "\x1b[1;9H"+ t.KeyAltEnd = "\x1b[1;9F"+ t.KeyCtrlShfHome = "\x1b[1;6H"+ t.KeyCtrlShfEnd = "\x1b[1;6F"+ t.KeyAltShfHome = "\x1b[1;4H"+ t.KeyAltShfEnd = "\x1b[1;4F"+ t.KeyMetaShfHome = "\x1b[1;10H"+ t.KeyMetaShfEnd = "\x1b[1;10F"+ }++ // And the same thing for rxvt and workalikes (Eterm, aterm, etc.)+ // It seems that urxvt at least send ESC as ALT prefix for these,+ // although some places seem to indicate a separate ALT key sesquence.+ if t.KeyShfRight == "\x1b[c" && t.KeyShfLeft == "\x1b[d" {+ t.KeyShfUp = "\x1b[a"+ t.KeyShfDown = "\x1b[b"+ t.KeyCtrlUp = "\x1b[Oa"+ t.KeyCtrlDown = "\x1b[Ob"+ t.KeyCtrlRight = "\x1b[Oc"+ t.KeyCtrlLeft = "\x1b[Od"+ }+ if t.KeyShfHome == "\x1b[7$" && t.KeyShfEnd == "\x1b[8$" {+ t.KeyCtrlHome = "\x1b[7^"+ t.KeyCtrlEnd = "\x1b[8^"+ }++ // If the kmous entry is present, then we need to record the+ // the codes to enter and exit mouse mode. Sadly, this is not+ // part of the terminfo databases anywhere that I've found, but+ // is an extension. The escape codes are documented in the XTerm+ // manual, and all terminals that have kmous are expected to+ // use these same codes, unless explicitly configured otherwise+ // vi XM. Note that in any event, we only known how to parse either+ // x11 or SGR mouse events -- if your terminal doesn't support one+ // of these two forms, you maybe out of luck.+ t.MouseMode = tc.getstr("XM")+ if t.Mouse != "" && t.MouseMode == "" {+ // we anticipate that all xterm mouse tracking compatible+ // terminals understand mouse tracking (1000), but we hope+ // that those that don't understand any-event tracking (1003)+ // will at least ignore it. Likewise we hope that terminals+ // that don't understand SGR reporting (1006) just ignore it.+ t.MouseMode = "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;" ++ "\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c"+ }++ // We only support colors in ANSI 8 or 256 color mode.+ if t.Colors < 8 || t.SetFg == "" {+ t.Colors = 0+ }+ if t.SetCursor == "" {+ return nil, "", errors.New("terminal not cursor addressable")+ }++ // For padding, we lookup the pad char. If that isn't present,+ // and npc is *not* set, then we assume a null byte.+ t.PadChar = tc.getstr("pad")+ if t.PadChar == "" {+ if !tc.getflag("npc") {+ t.PadChar = "\u0000"+ }+ }++ // For some terminals we fabricate a -truecolor entry, that may+ // not exist in terminfo.+ if addTrueColor {+ t.SetFgRGB = "\x1b[38;2;%p1%d;%p2%d;%p3%dm"+ t.SetBgRGB = "\x1b[48;2;%p1%d;%p2%d;%p3%dm"+ t.SetFgBgRGB = "\x1b[38;2;%p1%d;%p2%d;%p3%d;" ++ "48;2;%p4%d;%p5%d;%p6%dm"+ }++ // For terminals that use "standard" SGR sequences, lets combine the+ // foreground and background together.+ if strings.HasPrefix(t.SetFg, "\x1b[") &&+ strings.HasPrefix(t.SetBg, "\x1b[") &&+ strings.HasSuffix(t.SetFg, "m") &&+ strings.HasSuffix(t.SetBg, "m") {+ fg := t.SetFg[:len(t.SetFg)-1]+ r := regexp.MustCompile("%p1")+ bg := r.ReplaceAllString(t.SetBg[2:], "%p2")+ t.SetFgBg = fg + ";" + bg+ }++ return t, tc.desc, nil+}++func dotGoAddInt(w io.Writer, n string, i int) {+ if i == 0 {+ // initialized to 0, ignore+ return+ }+ fmt.Fprintf(w, "\t\t%-13s %d,\n", n+":", i)+}+func dotGoAddStr(w io.Writer, n string, s string) {+ if s == "" {+ return+ }+ fmt.Fprintf(w, "\t\t%-13s %q,\n", n+":", s)+}++func dotGoAddArr(w io.Writer, n string, a []string) {+ if len(a) == 0 {+ return+ }+ fmt.Fprintf(w, "\t\t%-13s []string{", n+":")+ did := false+ for _, b := range a {+ if did {+ fmt.Fprint(w, ", ")+ }+ did = true+ fmt.Fprintf(w, "%q", b)+ }+ fmt.Fprintln(w, "},")+}++func dotGoHeader(w io.Writer, packname string) {+ fmt.Fprintln(w, "// Generated automatically. DO NOT HAND-EDIT.")+ fmt.Fprintln(w, "")+ fmt.Fprintf(w, "package %s\n", packname)+ fmt.Fprintln(w, "")+}++func dotGoTrailer(w io.Writer) {+}++func dotGoInfo(w io.Writer, t *terminfo.Terminfo, desc string) {++ fmt.Fprintln(w, "")+ fmt.Fprintln(w, "func init() {")+ fmt.Fprintf(w, "\t// %s\n", desc)+ fmt.Fprintln(w, "\tAddTerminfo(&Terminfo{")+ dotGoAddStr(w, "Name", t.Name)+ dotGoAddArr(w, "Aliases", t.Aliases)+ dotGoAddInt(w, "Columns", t.Columns)+ dotGoAddInt(w, "Lines", t.Lines)+ dotGoAddInt(w, "Colors", t.Colors)+ dotGoAddStr(w, "Bell", t.Bell)+ dotGoAddStr(w, "Clear", t.Clear)+ dotGoAddStr(w, "EnterCA", t.EnterCA)+ dotGoAddStr(w, "ExitCA", t.ExitCA)+ dotGoAddStr(w, "ShowCursor", t.ShowCursor)+ dotGoAddStr(w, "HideCursor", t.HideCursor)+ dotGoAddStr(w, "AttrOff", t.AttrOff)+ dotGoAddStr(w, "Underline", t.Underline)+ dotGoAddStr(w, "Bold", t.Bold)+ dotGoAddStr(w, "Dim", t.Dim)+ dotGoAddStr(w, "Blink", t.Blink)+ dotGoAddStr(w, "Reverse", t.Reverse)+ dotGoAddStr(w, "EnterKeypad", t.EnterKeypad)+ dotGoAddStr(w, "ExitKeypad", t.ExitKeypad)+ dotGoAddStr(w, "SetFg", t.SetFg)+ dotGoAddStr(w, "SetBg", t.SetBg)+ dotGoAddStr(w, "SetFgBg", t.SetFgBg)+ dotGoAddStr(w, "PadChar", t.PadChar)+ dotGoAddStr(w, "AltChars", t.AltChars)+ dotGoAddStr(w, "EnterAcs", t.EnterAcs)+ dotGoAddStr(w, "ExitAcs", t.ExitAcs)+ dotGoAddStr(w, "EnableAcs", t.EnableAcs)+ dotGoAddStr(w, "SetFgRGB", t.SetFgRGB)+ dotGoAddStr(w, "SetBgRGB", t.SetBgRGB)+ dotGoAddStr(w, "SetFgBgRGB", t.SetFgBgRGB)+ dotGoAddStr(w, "Mouse", t.Mouse)+ dotGoAddStr(w, "MouseMode", t.MouseMode)+ dotGoAddStr(w, "SetCursor", t.SetCursor)+ dotGoAddStr(w, "CursorBack1", t.CursorBack1)+ dotGoAddStr(w, "CursorUp1", t.CursorUp1)+ dotGoAddStr(w, "KeyUp", t.KeyUp)+ dotGoAddStr(w, "KeyDown", t.KeyDown)+ dotGoAddStr(w, "KeyRight", t.KeyRight)+ dotGoAddStr(w, "KeyLeft", t.KeyLeft)+ dotGoAddStr(w, "KeyInsert", t.KeyInsert)+ dotGoAddStr(w, "KeyDelete", t.KeyDelete)+ dotGoAddStr(w, "KeyBackspace", t.KeyBackspace)+ dotGoAddStr(w, "KeyHome", t.KeyHome)+ dotGoAddStr(w, "KeyEnd", t.KeyEnd)+ dotGoAddStr(w, "KeyPgUp", t.KeyPgUp)+ dotGoAddStr(w, "KeyPgDn", t.KeyPgDn)+ dotGoAddStr(w, "KeyF1", t.KeyF1)+ dotGoAddStr(w, "KeyF2", t.KeyF2)+ dotGoAddStr(w, "KeyF3", t.KeyF3)+ dotGoAddStr(w, "KeyF4", t.KeyF4)+ dotGoAddStr(w, "KeyF5", t.KeyF5)+ dotGoAddStr(w, "KeyF6", t.KeyF6)+ dotGoAddStr(w, "KeyF7", t.KeyF7)+ dotGoAddStr(w, "KeyF8", t.KeyF8)+ dotGoAddStr(w, "KeyF9", t.KeyF9)+ dotGoAddStr(w, "KeyF10", t.KeyF10)+ dotGoAddStr(w, "KeyF11", t.KeyF11)+ dotGoAddStr(w, "KeyF12", t.KeyF12)+ dotGoAddStr(w, "KeyF13", t.KeyF13)+ dotGoAddStr(w, "KeyF14", t.KeyF14)+ dotGoAddStr(w, "KeyF15", t.KeyF15)+ dotGoAddStr(w, "KeyF16", t.KeyF16)+ dotGoAddStr(w, "KeyF17", t.KeyF17)+ dotGoAddStr(w, "KeyF18", t.KeyF18)+ dotGoAddStr(w, "KeyF19", t.KeyF19)+ dotGoAddStr(w, "KeyF20", t.KeyF20)+ dotGoAddStr(w, "KeyF21", t.KeyF21)+ dotGoAddStr(w, "KeyF22", t.KeyF22)+ dotGoAddStr(w, "KeyF23", t.KeyF23)+ dotGoAddStr(w, "KeyF24", t.KeyF24)+ dotGoAddStr(w, "KeyF25", t.KeyF25)+ dotGoAddStr(w, "KeyF26", t.KeyF26)+ dotGoAddStr(w, "KeyF27", t.KeyF27)+ dotGoAddStr(w, "KeyF28", t.KeyF28)+ dotGoAddStr(w, "KeyF29", t.KeyF29)+ dotGoAddStr(w, "KeyF30", t.KeyF30)+ dotGoAddStr(w, "KeyF31", t.KeyF31)+ dotGoAddStr(w, "KeyF32", t.KeyF32)+ dotGoAddStr(w, "KeyF33", t.KeyF33)+ dotGoAddStr(w, "KeyF34", t.KeyF34)+ dotGoAddStr(w, "KeyF35", t.KeyF35)+ dotGoAddStr(w, "KeyF36", t.KeyF36)+ dotGoAddStr(w, "KeyF37", t.KeyF37)+ dotGoAddStr(w, "KeyF38", t.KeyF38)+ dotGoAddStr(w, "KeyF39", t.KeyF39)+ dotGoAddStr(w, "KeyF40", t.KeyF40)+ dotGoAddStr(w, "KeyF41", t.KeyF41)+ dotGoAddStr(w, "KeyF42", t.KeyF42)+ dotGoAddStr(w, "KeyF43", t.KeyF43)+ dotGoAddStr(w, "KeyF44", t.KeyF44)+ dotGoAddStr(w, "KeyF45", t.KeyF45)+ dotGoAddStr(w, "KeyF46", t.KeyF46)+ dotGoAddStr(w, "KeyF47", t.KeyF47)+ dotGoAddStr(w, "KeyF48", t.KeyF48)+ dotGoAddStr(w, "KeyF49", t.KeyF49)+ dotGoAddStr(w, "KeyF50", t.KeyF50)+ dotGoAddStr(w, "KeyF51", t.KeyF51)+ dotGoAddStr(w, "KeyF52", t.KeyF52)+ dotGoAddStr(w, "KeyF53", t.KeyF53)+ dotGoAddStr(w, "KeyF54", t.KeyF54)+ dotGoAddStr(w, "KeyF55", t.KeyF55)+ dotGoAddStr(w, "KeyF56", t.KeyF56)+ dotGoAddStr(w, "KeyF57", t.KeyF57)+ dotGoAddStr(w, "KeyF58", t.KeyF58)+ dotGoAddStr(w, "KeyF59", t.KeyF59)+ dotGoAddStr(w, "KeyF60", t.KeyF60)+ dotGoAddStr(w, "KeyF61", t.KeyF61)+ dotGoAddStr(w, "KeyF62", t.KeyF62)+ dotGoAddStr(w, "KeyF63", t.KeyF63)+ dotGoAddStr(w, "KeyF64", t.KeyF64)+ dotGoAddStr(w, "KeyCancel", t.KeyCancel)+ dotGoAddStr(w, "KeyPrint", t.KeyPrint)+ dotGoAddStr(w, "KeyExit", t.KeyExit)+ dotGoAddStr(w, "KeyHelp", t.KeyHelp)+ dotGoAddStr(w, "KeyClear", t.KeyClear)+ dotGoAddStr(w, "KeyBacktab", t.KeyBacktab)+ dotGoAddStr(w, "KeyShfLeft", t.KeyShfLeft)+ dotGoAddStr(w, "KeyShfRight", t.KeyShfRight)+ dotGoAddStr(w, "KeyShfUp", t.KeyShfUp)+ dotGoAddStr(w, "KeyShfDown", t.KeyShfDown)+ dotGoAddStr(w, "KeyCtrlLeft", t.KeyCtrlLeft)+ dotGoAddStr(w, "KeyCtrlRight", t.KeyCtrlRight)+ dotGoAddStr(w, "KeyCtrlUp", t.KeyCtrlUp)+ dotGoAddStr(w, "KeyCtrlDown", t.KeyCtrlDown)+ dotGoAddStr(w, "KeyMetaLeft", t.KeyMetaLeft)+ dotGoAddStr(w, "KeyMetaRight", t.KeyMetaRight)+ dotGoAddStr(w, "KeyMetaUp", t.KeyMetaUp)+ dotGoAddStr(w, "KeyMetaDown", t.KeyMetaDown)+ dotGoAddStr(w, "KeyAltLeft", t.KeyAltLeft)+ dotGoAddStr(w, "KeyAltRight", t.KeyAltRight)+ dotGoAddStr(w, "KeyAltUp", t.KeyAltUp)+ dotGoAddStr(w, "KeyAltDown", t.KeyAltDown)+ dotGoAddStr(w, "KeyAltShfLeft", t.KeyAltShfLeft)+ dotGoAddStr(w, "KeyAltShfRight", t.KeyAltShfRight)+ dotGoAddStr(w, "KeyAltShfUp", t.KeyAltShfUp)+ dotGoAddStr(w, "KeyAltShfDown", t.KeyAltShfDown)+ dotGoAddStr(w, "KeyMetaShfLeft", t.KeyMetaShfLeft)+ dotGoAddStr(w, "KeyMetaShfRight", t.KeyMetaShfRight)+ dotGoAddStr(w, "KeyMetaShfUp", t.KeyMetaShfUp)+ dotGoAddStr(w, "KeyMetaShfDown", t.KeyMetaShfDown)+ dotGoAddStr(w, "KeyCtrlShfLeft", t.KeyCtrlShfLeft)+ dotGoAddStr(w, "KeyCtrlShfRight", t.KeyCtrlShfRight)+ dotGoAddStr(w, "KeyCtrlShfUp", t.KeyCtrlShfUp)+ dotGoAddStr(w, "KeyCtrlShfDown", t.KeyCtrlShfDown)+ dotGoAddStr(w, "KeyShfHome", t.KeyShfHome)+ dotGoAddStr(w, "KeyShfEnd", t.KeyShfEnd)+ dotGoAddStr(w, "KeyCtrlHome", t.KeyCtrlHome)+ dotGoAddStr(w, "KeyCtrlEnd", t.KeyCtrlEnd)+ dotGoAddStr(w, "KeyMetaHome", t.KeyMetaHome)+ dotGoAddStr(w, "KeyMetaEnd", t.KeyMetaEnd)+ dotGoAddStr(w, "KeyAltHome", t.KeyAltHome)+ dotGoAddStr(w, "KeyAltEnd", t.KeyAltEnd)+ dotGoAddStr(w, "KeyCtrlShfHome", t.KeyCtrlShfHome)+ dotGoAddStr(w, "KeyCtrlShfEnd", t.KeyCtrlShfEnd)+ dotGoAddStr(w, "KeyMetaShfHome", t.KeyMetaShfHome)+ dotGoAddStr(w, "KeyMetaShfEnd", t.KeyMetaShfEnd)+ dotGoAddStr(w, "KeyAltShfHome", t.KeyAltShfHome)+ dotGoAddStr(w, "KeyAltShfEnd", t.KeyAltShfEnd)+ fmt.Fprintln(w, "\t})")+ fmt.Fprintln(w, "}")+}++func main() {+ gofile := ""+ jsonfile := ""+ packname := "terminfo"+ nofatal := false+ quiet := false+ dogzip := false++ flag.StringVar(&gofile, "go", "", "generate go source in named file")+ flag.StringVar(&jsonfile, "json", "", "generate json in named file")+ flag.StringVar(&packname, "P", packname, "package name (go source)")+ flag.BoolVar(&nofatal, "nofatal", false, "errors are not fatal")+ flag.BoolVar(&quiet, "quiet", false, "suppress error messages")+ flag.BoolVar(&dogzip, "gzip", false, "compress json output")+ flag.Parse()+ var e error+ js := []byte{}++ args := flag.Args()+ if len(args) == 0 {+ args = []string{os.Getenv("TERM")}+ }++ tdata := make(map[string]*terminfo.Terminfo)+ descs := make(map[string]string)++ for _, term := range args {+ if t, desc, e := getinfo(term); e != nil {+ if !quiet {+ fmt.Fprintf(os.Stderr,+ "Failed loading %s: %v\n", term, e)+ }+ if !nofatal {+ os.Exit(1)+ }+ } else {+ tdata[term] = t+ descs[term] = desc+ }+ }++ if len(tdata) == 0 {+ // No data.+ os.Exit(0)+ }+ if gofile != "" {+ w := os.Stdout+ if gofile != "-" {+ if w, e = os.Create(gofile); e != nil {+ fmt.Fprintf(os.Stderr, "Failed: %v", e)+ os.Exit(1)+ }+ }+ dotGoHeader(w, packname)+ for term, t := range tdata {+ if t.Name == term {+ dotGoInfo(w, t, descs[term])+ }+ }+ dotGoTrailer(w)+ if w != os.Stdout {+ w.Close()+ }+ } else {+ o := os.Stdout+ if jsonfile != "-" && jsonfile != "" {+ if o, e = os.Create(jsonfile); e != nil {+ fmt.Fprintf(os.Stderr, "Failed: %v", e)+ }+ }+ var w io.WriteCloser+ w = o+ if dogzip {+ w = gzip.NewWriter(o)+ }+ for _, term := range args {+ if t := tdata[term]; t != nil {+ js, e = json.Marshal(t)+ fmt.Fprintln(w, string(js))+ }+ // arguably if there is more than one term, this+ // should be a javascript array, but that's not how+ // we load it. We marshal objects one at a time from+ // the file.+ }+ if e != nil {+ fmt.Fprintf(os.Stderr, "Failed: %v", e)+ os.Exit(1)+ }+ w.Close()+ if w != o {+ o.Close()+ }+ }+}
terminfo/models.txt
@@ -0,0 +1,53 @@+adm3a+aixterm+ansi+aterm+beterm+bsdos-pc+cygwin+d200+d210+dtterm+Eterm+Eterm-256color+eterm+gnome+gnome-256color+hpterm+hz1500+konsole+konsole-256color+kterm+linux+pcansi+rxvt+rxvt-256color+rxvt-unicode+rxvt-unicode-256color+screen+screen-256color+sun+sun-color+tvi910+tvi912+tvi921+tvi925+tvi950+tvi970+vt52+vt100+vt102+vt220+vt320+vt400+vt420+wy50+wy60+wy99-ansi+wy99a-ansi+xfce+xnuppc+xterm+xterm+xterm-256color+xterm-truecolor
terminfo/term_Eterm.go
@@ -0,0 +1,24 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // gnu emacs term.el terminal emulation+ AddTerminfo(&Terminfo{+ Name: "eterm",+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ AttrOff: "\x1b[m",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Reverse: "\x1b[7m",+ PadChar: "\x00",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ })+}
terminfo/term_Eterm_256color.go
@@ -0,0 +1,105 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // Eterm with xterm 256-colors+ AddTerminfo(&Terminfo{+ Name: "Eterm-256color",+ Columns: 80,+ Lines: 24,+ Colors: 256,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",+ SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",+ SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b)0",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyHome: "\x1b[7~",+ KeyEnd: "\x1b[8~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1b[11~",+ KeyF2: "\x1b[12~",+ KeyF3: "\x1b[13~",+ KeyF4: "\x1b[14~",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF15: "\x1b[28~",+ KeyF16: "\x1b[29~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ KeyF21: "\x1b[23$",+ KeyF22: "\x1b[24$",+ KeyF23: "\x1b[11^",+ KeyF24: "\x1b[12^",+ KeyF25: "\x1b[13^",+ KeyF26: "\x1b[14^",+ KeyF27: "\x1b[15^",+ KeyF28: "\x1b[17^",+ KeyF29: "\x1b[18^",+ KeyF30: "\x1b[19^",+ KeyF31: "\x1b[20^",+ KeyF32: "\x1b[21^",+ KeyF33: "\x1b[23^",+ KeyF34: "\x1b[24^",+ KeyF35: "\x1b[25^",+ KeyF36: "\x1b[26^",+ KeyF37: "\x1b[28^",+ KeyF38: "\x1b[29^",+ KeyF39: "\x1b[31^",+ KeyF40: "\x1b[32^",+ KeyF41: "\x1b[33^",+ KeyF42: "\x1b[34^",+ KeyF43: "\x1b[23@",+ KeyF44: "\x1b[24@",+ KeyHelp: "\x1b[28~",+ KeyShfLeft: "\x1b[d",+ KeyShfRight: "\x1b[c",+ KeyShfUp: "\x1b[a",+ KeyShfDown: "\x1b[b",+ KeyCtrlLeft: "\x1b[Od",+ KeyCtrlRight: "\x1b[Oc",+ KeyCtrlUp: "\x1b[Oa",+ KeyCtrlDown: "\x1b[Ob",+ KeyShfHome: "\x1b[7$",+ KeyShfEnd: "\x1b[8$",+ KeyCtrlHome: "\x1b[7^",+ KeyCtrlEnd: "\x1b[8^",+ })+}
terminfo/term_adm3a.go
@@ -0,0 +1,22 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // lsi adm3a+ AddTerminfo(&Terminfo{+ Name: "adm3a",+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x0032$<1/>",+ PadChar: "\x00",+ SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",+ CursorBack1: "\b",+ CursorUp1: "\v",+ KeyUp: "\v",+ KeyDown: "\n",+ KeyRight: "\f",+ KeyLeft: "\b",+ })+}
terminfo/term_aixterm.go
@@ -0,0 +1,76 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // IBM Aixterm Terminal Emulator+ AddTerminfo(&Terminfo{+ Name: "aixterm",+ Columns: 80,+ Lines: 25,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J",+ AttrOff: "\x1b[0;10m\x1b(B",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Reverse: "\x1b[7m",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "jjkkllmmnnqqttuuvvwwxx",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[139q",+ KeyDelete: "\x1b[P",+ KeyBackspace: "\b",+ KeyHome: "\x1b[H",+ KeyEnd: "\x1b[146q",+ KeyPgUp: "\x1b[150q",+ KeyPgDn: "\x1b[154q",+ KeyF1: "\x1b[001q",+ KeyF2: "\x1b[002q",+ KeyF3: "\x1b[003q",+ KeyF4: "\x1b[004q",+ KeyF5: "\x1b[005q",+ KeyF6: "\x1b[006q",+ KeyF7: "\x1b[007q",+ KeyF8: "\x1b[008q",+ KeyF9: "\x1b[009q",+ KeyF10: "\x1b[010q",+ KeyF11: "\x1b[011q",+ KeyF12: "\x1b[012q",+ KeyF13: "\x1b[013q",+ KeyF14: "\x1b[014q",+ KeyF15: "\x1b[015q",+ KeyF16: "\x1b[016q",+ KeyF17: "\x1b[017q",+ KeyF18: "\x1b[018q",+ KeyF19: "\x1b[019q",+ KeyF20: "\x1b[020q",+ KeyF21: "\x1b[021q",+ KeyF22: "\x1b[022q",+ KeyF23: "\x1b[023q",+ KeyF24: "\x1b[024q",+ KeyF25: "\x1b[025q",+ KeyF26: "\x1b[026q",+ KeyF27: "\x1b[027q",+ KeyF28: "\x1b[028q",+ KeyF29: "\x1b[029q",+ KeyF30: "\x1b[030q",+ KeyF31: "\x1b[031q",+ KeyF32: "\x1b[032q",+ KeyF33: "\x1b[033q",+ KeyF34: "\x1b[034q",+ KeyF35: "\x1b[035q",+ KeyF36: "\x1b[036q",+ KeyClear: "\x1b[144q",+ KeyBacktab: "\x1b[Z",+ })+}
terminfo/term_ansi.go
@@ -0,0 +1,38 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // ansi/pc-term compatible with color+ AddTerminfo(&Terminfo{+ Name: "ansi",+ Columns: 80,+ Lines: 24,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J",+ AttrOff: "\x1b[0;10m",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "+\x0020,\x0021-\x0030.\x190333`\x0004a261f370g361h260j331k277l332m300n305o~p304q304r304s_t303u264v301w302x263y363z362{343|330}234~376",+ EnterAcs: "\x1b[11m",+ ExitAcs: "\x1b[10m",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\x1b[D",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[L",+ KeyBackspace: "\b",+ KeyHome: "\x1b[H",+ KeyBacktab: "\x1b[Z",+ })+}
terminfo/term_aterm.go
@@ -0,0 +1,107 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // AfterStep terminal+ AddTerminfo(&Terminfo{+ Name: "aterm",+ Columns: 80,+ Lines: 24,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b=",+ ExitKeypad: "\x1b>",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b(B\x1b)0",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "177",+ KeyHome: "\x1b[7~",+ KeyEnd: "\x1b[8~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF15: "\x1b[28~",+ KeyF16: "\x1b[29~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ KeyF21: "\x1b[23$",+ KeyF22: "\x1b[24$",+ KeyF23: "\x1b[11^",+ KeyF24: "\x1b[12^",+ KeyF25: "\x1b[13^",+ KeyF26: "\x1b[14^",+ KeyF27: "\x1b[15^",+ KeyF28: "\x1b[17^",+ KeyF29: "\x1b[18^",+ KeyF30: "\x1b[19^",+ KeyF31: "\x1b[20^",+ KeyF32: "\x1b[21^",+ KeyF33: "\x1b[23^",+ KeyF34: "\x1b[24^",+ KeyF35: "\x1b[25^",+ KeyF36: "\x1b[26^",+ KeyF37: "\x1b[28^",+ KeyF38: "\x1b[29^",+ KeyF39: "\x1b[31^",+ KeyF40: "\x1b[32^",+ KeyF41: "\x1b[33^",+ KeyF42: "\x1b[34^",+ KeyF43: "\x1b[23@",+ KeyF44: "\x1b[24@",+ KeyBacktab: "\x1b[Z",+ KeyShfLeft: "\x1b[d",+ KeyShfRight: "\x1b[c",+ KeyShfUp: "\x1b[a",+ KeyShfDown: "\x1b[b",+ KeyCtrlLeft: "\x1b[Od",+ KeyCtrlRight: "\x1b[Oc",+ KeyCtrlUp: "\x1b[Oa",+ KeyCtrlDown: "\x1b[Ob",+ KeyShfHome: "\x1b[7$",+ KeyShfEnd: "\x1b[8$",+ KeyCtrlHome: "\x1b[7^",+ KeyCtrlEnd: "\x1b[8^",+ })+}
terminfo/term_beterm.go
@@ -0,0 +1,51 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // BeOS Terminal+ AddTerminfo(&Terminfo{+ Name: "beterm",+ Columns: 80,+ Lines: 25,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J",+ AttrOff: "\x1b[0;10m",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?4h",+ ExitKeypad: "\x1b[?4l",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyHome: "\x1b[1~",+ KeyEnd: "\x1b[4~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1b[11~",+ KeyF2: "\x1b[12~",+ KeyF3: "\x1b[13~",+ KeyF4: "\x1b[14~",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[16~",+ KeyF7: "\x1b[17~",+ KeyF8: "\x1b[18~",+ KeyF9: "\x1b[19~",+ KeyF10: "\x1b[20~",+ KeyF11: "\x1b[21~",+ KeyF12: "\x1b[22~",+ })+}
terminfo/term_bsdos_pc.go
@@ -0,0 +1,39 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // IBM PC BSD/OS Console+ AddTerminfo(&Terminfo{+ Name: "bsdos-pc",+ Columns: 80,+ Lines: 25,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1bc",+ AttrOff: "\x1b[0;10m",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "+\x0020,\x0021-\x0030.\x190333`\x0004a261f370g361h260j331k277l332m300n305o~p304q304r304s_t303u264v301w302x263y363z362{343|330}234~376",+ EnterAcs: "\x1b[11m",+ ExitAcs: "\x1b[10m",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[L",+ KeyBackspace: "\b",+ KeyHome: "\x1b[H",+ KeyPgUp: "\x1b[I",+ KeyPgDn: "\x1b[G",+ })+}
terminfo/term_cygwin.go
@@ -0,0 +1,60 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // ansi emulation for Cygwin+ AddTerminfo(&Terminfo{+ Name: "cygwin",+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ AttrOff: "\x1b[0;10m",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Reverse: "\x1b[7m",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "+\x0020,\x0021-\x0030.\x190333`\x0004a261f370g361h260j331k277l332m300n305o~p304q304r304s_t303u264v301w302x263y363z362{343|330}234~376",+ EnterAcs: "\x1b[11m",+ ExitAcs: "\x1b[10m",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyHome: "\x1b[1~",+ KeyEnd: "\x1b[4~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1b[[A",+ KeyF2: "\x1b[[B",+ KeyF3: "\x1b[[C",+ KeyF4: "\x1b[[D",+ KeyF5: "\x1b[[E",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF15: "\x1b[28~",+ KeyF16: "\x1b[29~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ })+}
terminfo/term_d200.go
@@ -0,0 +1,94 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // Data General DASHER D200+ AddTerminfo(&Terminfo{+ Name: "d200",+ Aliases: []string{"d200-dg"},+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\f",+ AttrOff: "\x0017\x0025\x0035\x0036E",+ Underline: "\x14",+ Bold: "\x1eD\x14",+ Dim: "\x1c",+ Blink: "\x0e",+ Reverse: "\x1eD",+ PadChar: "\x00",+ SetCursor: "\x0020%p2%c%p1%c",+ CursorBack1: "\x19",+ CursorUp1: "\x17",+ KeyUp: "\x17",+ KeyDown: "\x1a",+ KeyRight: "\x18",+ KeyLeft: "\x19",+ KeyHome: "\b",+ KeyF1: "\x1eq",+ KeyF2: "\x1er",+ KeyF3: "\x1es",+ KeyF4: "\x1et",+ KeyF5: "\x1eu",+ KeyF6: "\x1ev",+ KeyF7: "\x1ew",+ KeyF8: "\x1ex",+ KeyF9: "\x1ey",+ KeyF10: "\x1ez",+ KeyF11: "\x1e{",+ KeyF12: "\x1e|",+ KeyF13: "\x1e}",+ KeyF14: "\x1e~",+ KeyF15: "\x1ep",+ KeyF16: "\x1ea",+ KeyF17: "\x1eb",+ KeyF18: "\x1ec",+ KeyF19: "\x1ed",+ KeyF20: "\x1ee",+ KeyF21: "\x1ef",+ KeyF22: "\x1eg",+ KeyF23: "\x1eh",+ KeyF24: "\x1ei",+ KeyF25: "\x1ej",+ KeyF26: "\x1ek",+ KeyF27: "\x1el",+ KeyF28: "\x1em",+ KeyF29: "\x1en",+ KeyF30: "\x1e`",+ KeyF31: "\x1e1",+ KeyF32: "\x1e2",+ KeyF33: "\x1e3",+ KeyF34: "\x1e4",+ KeyF35: "\x1e5",+ KeyF36: "\x1e6",+ KeyF37: "\x1e7",+ KeyF38: "\x1e8",+ KeyF39: "\x1e9",+ KeyF40: "\x1e:",+ KeyF41: "\x1e;",+ KeyF42: "\x1e<",+ KeyF43: "\x1e=",+ KeyF44: "\x1e>",+ KeyF45: "\x1e0",+ KeyF46: "\x1e!",+ KeyF47: "\x1e\"",+ KeyF48: "\x1e#",+ KeyF49: "\x1e$",+ KeyF50: "\x1e%%",+ KeyF51: "\x1e&",+ KeyF52: "\x1e'",+ KeyF53: "\x1e(",+ KeyF54: "\x1e)",+ KeyF55: "\x1e*",+ KeyF56: "\x1e+",+ KeyF57: "\x1e,",+ KeyF58: "\x1e-",+ KeyF59: "\x1e.",+ KeyF60: "\x1e ",+ KeyClear: "\f",+ KeyShfLeft: "\x1e\x19",+ KeyShfRight: "\x1e\x18",+ KeyShfHome: "\x1e\b",+ })+}
terminfo/term_d210.go
@@ -0,0 +1,92 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // Data General DASHER D210 series+ AddTerminfo(&Terminfo{+ Name: "d210",+ Aliases: []string{"d214"},+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1b[2J",+ AttrOff: "\x1b[m",+ Underline: "\x1b[4m",+ Bold: "\x1b[4;7m",+ Dim: "\x1b[2m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ PadChar: "\x00",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyHome: "\x1b[H",+ KeyF1: "\x1b[001z",+ KeyF2: "\x1b[002z",+ KeyF3: "\x1b[003z",+ KeyF4: "\x1b[004z",+ KeyF5: "\x1b[005z",+ KeyF6: "\x1b[006z",+ KeyF7: "\x1b[007z",+ KeyF8: "\x1b[008z",+ KeyF9: "\x1b[009z",+ KeyF10: "\x1b[010z",+ KeyF11: "\x1b[011z",+ KeyF12: "\x1b[012z",+ KeyF13: "\x1b[013z",+ KeyF14: "\x1b[014z",+ KeyF15: "\x1b[000z",+ KeyF16: "\x1b[101z",+ KeyF17: "\x1b[102z",+ KeyF18: "\x1b[103z",+ KeyF19: "\x1b[104z",+ KeyF20: "\x1b[105z",+ KeyF21: "\x1b[106z",+ KeyF22: "\x1b[107z",+ KeyF23: "\x1b[108z",+ KeyF24: "\x1b[109z",+ KeyF25: "\x1b[110z",+ KeyF26: "\x1b[111z",+ KeyF27: "\x1b[112z",+ KeyF28: "\x1b[113z",+ KeyF29: "\x1b[114z",+ KeyF30: "\x1b[100z",+ KeyF31: "\x1b[201z",+ KeyF32: "\x1b[202z",+ KeyF33: "\x1b[203z",+ KeyF34: "\x1b[204z",+ KeyF35: "\x1b[205z",+ KeyF36: "\x1b[206z",+ KeyF37: "\x1b[207z",+ KeyF38: "\x1b[208z",+ KeyF39: "\x1b[209z",+ KeyF40: "\x1b[210z",+ KeyF41: "\x1b[211z",+ KeyF42: "\x1b[212z",+ KeyF43: "\x1b[213z",+ KeyF44: "\x1b[214z",+ KeyF45: "\x1b[200z",+ KeyF46: "\x1b[301z",+ KeyF47: "\x1b[302z",+ KeyF48: "\x1b[303z",+ KeyF49: "\x1b[304z",+ KeyF50: "\x1b[305z",+ KeyF51: "\x1b[306z",+ KeyF52: "\x1b[307z",+ KeyF53: "\x1b[308z",+ KeyF54: "\x1b[309z",+ KeyF55: "\x1b[310z",+ KeyF56: "\x1b[311z",+ KeyF57: "\x1b[312z",+ KeyF58: "\x1b[313z",+ KeyF59: "\x1b[314z",+ KeyF60: "\x1b[300z",+ KeyPrint: "\x1b[i",+ KeyClear: "\x1b[2J",+ })+}
terminfo/term_dtterm.go
@@ -0,0 +1,64 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // CDE desktop terminal+ AddTerminfo(&Terminfo{+ Name: "dtterm",+ Columns: 80,+ Lines: 24,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Dim: "\x1b[2m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b(B\x1b)0",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1b[11~",+ KeyF2: "\x1b[12~",+ KeyF3: "\x1b[13~",+ KeyF4: "\x1b[14~",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF15: "\x1b[28~",+ KeyF16: "\x1b[29~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ KeyHelp: "\x1b[28~",+ })+}
terminfo/term_gnome.go
@@ -0,0 +1,153 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // GNOME Terminal+ AddTerminfo(&Terminfo{+ Name: "gnome",+ Columns: 80,+ Lines: 24,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[0m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b)0",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "177",+ KeyHome: "\x1bOH",+ KeyEnd: "\x1bOF",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1bO1;2P",+ KeyF14: "\x1bO1;2Q",+ KeyF15: "\x1bO1;2R",+ KeyF16: "\x1bO1;2S",+ KeyF17: "\x1b[15;2~",+ KeyF18: "\x1b[17;2~",+ KeyF19: "\x1b[18;2~",+ KeyF20: "\x1b[19;2~",+ KeyF21: "\x1b[20;2~",+ KeyF22: "\x1b[21;2~",+ KeyF23: "\x1b[23;2~",+ KeyF24: "\x1b[24;2~",+ KeyF25: "\x1bO1;5P",+ KeyF26: "\x1bO1;5Q",+ KeyF27: "\x1bO1;5R",+ KeyF28: "\x1bO1;5S",+ KeyF29: "\x1b[15;5~",+ KeyF30: "\x1b[17;5~",+ KeyF31: "\x1b[18;5~",+ KeyF32: "\x1b[19;5~",+ KeyF33: "\x1b[20;5~",+ KeyF34: "\x1b[21;5~",+ KeyF35: "\x1b[23;5~",+ KeyF36: "\x1b[24;5~",+ KeyF37: "\x1bO1;6P",+ KeyF38: "\x1bO1;6Q",+ KeyF39: "\x1bO1;6R",+ KeyF40: "\x1bO1;6S",+ KeyF41: "\x1b[15;6~",+ KeyF42: "\x1b[17;6~",+ KeyF43: "\x1b[18;6~",+ KeyF44: "\x1b[19;6~",+ KeyF45: "\x1b[20;6~",+ KeyF46: "\x1b[21;6~",+ KeyF47: "\x1b[23;6~",+ KeyF48: "\x1b[24;6~",+ KeyF49: "\x1bO1;3P",+ KeyF50: "\x1bO1;3Q",+ KeyF51: "\x1bO1;3R",+ KeyF52: "\x1bO1;3S",+ KeyF53: "\x1b[15;3~",+ KeyF54: "\x1b[17;3~",+ KeyF55: "\x1b[18;3~",+ KeyF56: "\x1b[19;3~",+ KeyF57: "\x1b[20;3~",+ KeyF58: "\x1b[21;3~",+ KeyF59: "\x1b[23;3~",+ KeyF60: "\x1b[24;3~",+ KeyF61: "\x1bO1;4P",+ KeyF62: "\x1bO1;4Q",+ KeyF63: "\x1bO1;4R",+ KeyBacktab: "\x1b[Z",+ KeyShfLeft: "\x1b[1;2D",+ KeyShfRight: "\x1b[1;2C",+ KeyShfUp: "\x1b[1;2A",+ KeyShfDown: "\x1b[1;2B",+ KeyCtrlLeft: "\x1b[1;5D",+ KeyCtrlRight: "\x1b[1;5C",+ KeyCtrlUp: "\x1b[1;5A",+ KeyCtrlDown: "\x1b[1;5B",+ KeyMetaLeft: "\x1b[1;9D",+ KeyMetaRight: "\x1b[1;9C",+ KeyMetaUp: "\x1b[1;9A",+ KeyMetaDown: "\x1b[1;9B",+ KeyAltLeft: "\x1b[1;3D",+ KeyAltRight: "\x1b[1;3C",+ KeyAltUp: "\x1b[1;3A",+ KeyAltDown: "\x1b[1;3B",+ KeyAltShfLeft: "\x1b[1;4D",+ KeyAltShfRight: "\x1b[1;4C",+ KeyAltShfUp: "\x1b[1;4A",+ KeyAltShfDown: "\x1b[1;4B",+ KeyMetaShfLeft: "\x1b[1;10D",+ KeyMetaShfRight: "\x1b[1;10C",+ KeyMetaShfUp: "\x1b[1;10A",+ KeyMetaShfDown: "\x1b[1;10B",+ KeyCtrlShfLeft: "\x1b[1;6D",+ KeyCtrlShfRight: "\x1b[1;6C",+ KeyCtrlShfUp: "\x1b[1;6A",+ KeyCtrlShfDown: "\x1b[1;6B",+ KeyShfHome: "\x1b[1;2H",+ KeyShfEnd: "\x1b[1;2F",+ KeyCtrlHome: "\x1b[1;5H",+ KeyCtrlEnd: "\x1b[1;5F",+ KeyAltHome: "\x1b[1;9H",+ KeyAltEnd: "\x1b[1;9F",+ KeyCtrlShfHome: "\x1b[1;6H",+ KeyCtrlShfEnd: "\x1b[1;6F",+ KeyMetaShfHome: "\x1b[1;10H",+ KeyMetaShfEnd: "\x1b[1;10F",+ KeyAltShfHome: "\x1b[1;4H",+ KeyAltShfEnd: "\x1b[1;4F",+ })+}
terminfo/term_gnome_256color.go
@@ -0,0 +1,153 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // GNOME Terminal with xterm 256-colors+ AddTerminfo(&Terminfo{+ Name: "gnome-256color",+ Columns: 80,+ Lines: 24,+ Colors: 256,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[0m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",+ SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",+ SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",+ PadChar: "\x00",+ AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b)0",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "177",+ KeyHome: "\x1bOH",+ KeyEnd: "\x1bOF",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1bO1;2P",+ KeyF14: "\x1bO1;2Q",+ KeyF15: "\x1bO1;2R",+ KeyF16: "\x1bO1;2S",+ KeyF17: "\x1b[15;2~",+ KeyF18: "\x1b[17;2~",+ KeyF19: "\x1b[18;2~",+ KeyF20: "\x1b[19;2~",+ KeyF21: "\x1b[20;2~",+ KeyF22: "\x1b[21;2~",+ KeyF23: "\x1b[23;2~",+ KeyF24: "\x1b[24;2~",+ KeyF25: "\x1bO1;5P",+ KeyF26: "\x1bO1;5Q",+ KeyF27: "\x1bO1;5R",+ KeyF28: "\x1bO1;5S",+ KeyF29: "\x1b[15;5~",+ KeyF30: "\x1b[17;5~",+ KeyF31: "\x1b[18;5~",+ KeyF32: "\x1b[19;5~",+ KeyF33: "\x1b[20;5~",+ KeyF34: "\x1b[21;5~",+ KeyF35: "\x1b[23;5~",+ KeyF36: "\x1b[24;5~",+ KeyF37: "\x1bO1;6P",+ KeyF38: "\x1bO1;6Q",+ KeyF39: "\x1bO1;6R",+ KeyF40: "\x1bO1;6S",+ KeyF41: "\x1b[15;6~",+ KeyF42: "\x1b[17;6~",+ KeyF43: "\x1b[18;6~",+ KeyF44: "\x1b[19;6~",+ KeyF45: "\x1b[20;6~",+ KeyF46: "\x1b[21;6~",+ KeyF47: "\x1b[23;6~",+ KeyF48: "\x1b[24;6~",+ KeyF49: "\x1bO1;3P",+ KeyF50: "\x1bO1;3Q",+ KeyF51: "\x1bO1;3R",+ KeyF52: "\x1bO1;3S",+ KeyF53: "\x1b[15;3~",+ KeyF54: "\x1b[17;3~",+ KeyF55: "\x1b[18;3~",+ KeyF56: "\x1b[19;3~",+ KeyF57: "\x1b[20;3~",+ KeyF58: "\x1b[21;3~",+ KeyF59: "\x1b[23;3~",+ KeyF60: "\x1b[24;3~",+ KeyF61: "\x1bO1;4P",+ KeyF62: "\x1bO1;4Q",+ KeyF63: "\x1bO1;4R",+ KeyBacktab: "\x1b[Z",+ KeyShfLeft: "\x1b[1;2D",+ KeyShfRight: "\x1b[1;2C",+ KeyShfUp: "\x1b[1;2A",+ KeyShfDown: "\x1b[1;2B",+ KeyCtrlLeft: "\x1b[1;5D",+ KeyCtrlRight: "\x1b[1;5C",+ KeyCtrlUp: "\x1b[1;5A",+ KeyCtrlDown: "\x1b[1;5B",+ KeyMetaLeft: "\x1b[1;9D",+ KeyMetaRight: "\x1b[1;9C",+ KeyMetaUp: "\x1b[1;9A",+ KeyMetaDown: "\x1b[1;9B",+ KeyAltLeft: "\x1b[1;3D",+ KeyAltRight: "\x1b[1;3C",+ KeyAltUp: "\x1b[1;3A",+ KeyAltDown: "\x1b[1;3B",+ KeyAltShfLeft: "\x1b[1;4D",+ KeyAltShfRight: "\x1b[1;4C",+ KeyAltShfUp: "\x1b[1;4A",+ KeyAltShfDown: "\x1b[1;4B",+ KeyMetaShfLeft: "\x1b[1;10D",+ KeyMetaShfRight: "\x1b[1;10C",+ KeyMetaShfUp: "\x1b[1;10A",+ KeyMetaShfDown: "\x1b[1;10B",+ KeyCtrlShfLeft: "\x1b[1;6D",+ KeyCtrlShfRight: "\x1b[1;6C",+ KeyCtrlShfUp: "\x1b[1;6A",+ KeyCtrlShfDown: "\x1b[1;6B",+ KeyShfHome: "\x1b[1;2H",+ KeyShfEnd: "\x1b[1;2F",+ KeyCtrlHome: "\x1b[1;5H",+ KeyCtrlEnd: "\x1b[1;5F",+ KeyAltHome: "\x1b[1;9H",+ KeyAltEnd: "\x1b[1;9F",+ KeyCtrlShfHome: "\x1b[1;6H",+ KeyCtrlShfEnd: "\x1b[1;6F",+ KeyMetaShfHome: "\x1b[1;10H",+ KeyMetaShfEnd: "\x1b[1;10F",+ KeyAltShfHome: "\x1b[1;4H",+ KeyAltShfEnd: "\x1b[1;4F",+ })+}
terminfo/term_hpterm.go
@@ -0,0 +1,47 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // hp X11 terminal emulator+ AddTerminfo(&Terminfo{+ Name: "hpterm",+ Aliases: []string{"X-hpterm"},+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1b&a0y0C\x1bJ",+ AttrOff: "\x1b&d@",+ Underline: "\x1b&dD",+ Bold: "\x1b&dB",+ Dim: "\x1b&dH",+ Reverse: "\x1b&dB",+ EnterKeypad: "\x1b&s1A",+ ExitKeypad: "\x1b&s0A",+ PadChar: "\x00",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ SetCursor: "\x1b&a%p1%dy%p2%dC",+ CursorBack1: "\b",+ CursorUp1: "\x1bA",+ KeyUp: "\x1bA",+ KeyDown: "\x1bB",+ KeyRight: "\x1bC",+ KeyLeft: "\x1bD",+ KeyInsert: "\x1bQ",+ KeyDelete: "\x1bP",+ KeyBackspace: "\b",+ KeyHome: "\x1bh",+ KeyPgUp: "\x1bV",+ KeyPgDn: "\x1bU",+ KeyF1: "\x1bp",+ KeyF2: "\x1bq",+ KeyF3: "\x1br",+ KeyF4: "\x1bs",+ KeyF5: "\x1bt",+ KeyF6: "\x1bu",+ KeyF7: "\x1bv",+ KeyF8: "\x1bw",+ KeyClear: "\x1bJ",+ })+}
terminfo/term_hz1500.go
@@ -0,0 +1,23 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // hazeltine 1500+ AddTerminfo(&Terminfo{+ Name: "hz1500",+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "~\x1c",+ PadChar: "\x00",+ SetCursor: "~\x0021%p2%p2%?%{30}%>%t%' '%+%;%'`'%+%c%p1%'`'%+%c",+ CursorBack1: "\b",+ CursorUp1: "~\f",+ KeyUp: "~\f",+ KeyDown: "\n",+ KeyRight: "\x10",+ KeyLeft: "\b",+ KeyHome: "~\x12",+ })+}
terminfo/term_konsole.go
@@ -0,0 +1,112 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // KDE console window+ AddTerminfo(&Terminfo{+ Name: "konsole",+ Columns: 80,+ Lines: 24,+ Colors: 8,+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[0m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b)0",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "177",+ KeyHome: "\x1bOH",+ KeyEnd: "\x1bOF",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1bO2P",+ KeyF14: "\x1bO2Q",+ KeyF15: "\x1bO2R",+ KeyF16: "\x1bO2S",+ KeyF17: "\x1b[15;2~",+ KeyF18: "\x1b[17;2~",+ KeyF19: "\x1b[18;2~",+ KeyF20: "\x1b[19;2~",+ KeyF21: "\x1b[20;2~",+ KeyF22: "\x1b[21;2~",+ KeyF23: "\x1b[23;2~",+ KeyF24: "\x1b[24;2~",+ KeyF25: "\x1bO5P",+ KeyF26: "\x1bO5Q",+ KeyF27: "\x1bO5R",+ KeyF28: "\x1bO5S",+ KeyF29: "\x1b[15;5~",+ KeyF30: "\x1b[17;5~",+ KeyF31: "\x1b[18;5~",+ KeyF32: "\x1b[19;5~",+ KeyF33: "\x1b[20;5~",+ KeyF34: "\x1b[21;5~",+ KeyF35: "\x1b[23;5~",+ KeyF36: "\x1b[24;5~",+ KeyF37: "\x1bO6P",+ KeyF38: "\x1bO6Q",+ KeyF39: "\x1bO6R",+ KeyF40: "\x1bO6S",+ KeyF41: "\x1b[15;6~",+ KeyF42: "\x1b[17;6~",+ KeyF43: "\x1b[18;6~",+ KeyF44: "\x1b[19;6~",+ KeyF45: "\x1b[20;6~",+ KeyF46: "\x1b[21;6~",+ KeyF47: "\x1b[23;6~",+ KeyF48: "\x1b[24;6~",+ KeyF49: "\x1bO3P",+ KeyF50: "\x1bO3Q",+ KeyF51: "\x1bO3R",+ KeyF52: "\x1bO3S",+ KeyF53: "\x1b[15;3~",+ KeyF54: "\x1b[17;3~",+ KeyF55: "\x1b[18;3~",+ KeyF56: "\x1b[19;3~",+ KeyF57: "\x1b[20;3~",+ KeyF58: "\x1b[21;3~",+ KeyF59: "\x1b[23;3~",+ KeyF60: "\x1b[24;3~",+ KeyF61: "\x1bO4P",+ KeyF62: "\x1bO4Q",+ KeyF63: "\x1bO4R",+ KeyBacktab: "\x1b[Z",+ })+}
terminfo/term_konsole_256color.go
@@ -0,0 +1,112 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // KDE console window with xterm 256-colors+ AddTerminfo(&Terminfo{+ Name: "konsole-256color",+ Columns: 80,+ Lines: 24,+ Colors: 256,+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[0m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",+ SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",+ SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",+ AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b)0",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "177",+ KeyHome: "\x1bOH",+ KeyEnd: "\x1bOF",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1bO2P",+ KeyF14: "\x1bO2Q",+ KeyF15: "\x1bO2R",+ KeyF16: "\x1bO2S",+ KeyF17: "\x1b[15;2~",+ KeyF18: "\x1b[17;2~",+ KeyF19: "\x1b[18;2~",+ KeyF20: "\x1b[19;2~",+ KeyF21: "\x1b[20;2~",+ KeyF22: "\x1b[21;2~",+ KeyF23: "\x1b[23;2~",+ KeyF24: "\x1b[24;2~",+ KeyF25: "\x1bO5P",+ KeyF26: "\x1bO5Q",+ KeyF27: "\x1bO5R",+ KeyF28: "\x1bO5S",+ KeyF29: "\x1b[15;5~",+ KeyF30: "\x1b[17;5~",+ KeyF31: "\x1b[18;5~",+ KeyF32: "\x1b[19;5~",+ KeyF33: "\x1b[20;5~",+ KeyF34: "\x1b[21;5~",+ KeyF35: "\x1b[23;5~",+ KeyF36: "\x1b[24;5~",+ KeyF37: "\x1bO6P",+ KeyF38: "\x1bO6Q",+ KeyF39: "\x1bO6R",+ KeyF40: "\x1bO6S",+ KeyF41: "\x1b[15;6~",+ KeyF42: "\x1b[17;6~",+ KeyF43: "\x1b[18;6~",+ KeyF44: "\x1b[19;6~",+ KeyF45: "\x1b[20;6~",+ KeyF46: "\x1b[21;6~",+ KeyF47: "\x1b[23;6~",+ KeyF48: "\x1b[24;6~",+ KeyF49: "\x1bO3P",+ KeyF50: "\x1bO3Q",+ KeyF51: "\x1bO3R",+ KeyF52: "\x1bO3S",+ KeyF53: "\x1b[15;3~",+ KeyF54: "\x1b[17;3~",+ KeyF55: "\x1b[18;3~",+ KeyF56: "\x1b[19;3~",+ KeyF57: "\x1b[20;3~",+ KeyF58: "\x1b[21;3~",+ KeyF59: "\x1b[23;3~",+ KeyF60: "\x1b[24;3~",+ KeyF61: "\x1bO4P",+ KeyF62: "\x1bO4Q",+ KeyF63: "\x1bO4R",+ KeyBacktab: "\x1b[Z",+ })+}
terminfo/term_kterm.go
@@ -0,0 +1,64 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // kterm kanji terminal emulator (X window system)+ AddTerminfo(&Terminfo{+ Name: "kterm",+ Columns: 80,+ Lines: 24,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ AttrOff: "\x1b[m\x1b(B",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "``aajjkkllmmnnooppqqrrssttuuvvwwxx~~",+ EnterAcs: "\x1b(0",+ ExitAcs: "\x1b(B",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1b[11~",+ KeyF2: "\x1b[12~",+ KeyF3: "\x1b[13~",+ KeyF4: "\x1b[14~",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF15: "\x1b[28~",+ KeyF16: "\x1b[29~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ })+}
terminfo/term_linux.go
@@ -0,0 +1,65 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // linux console+ AddTerminfo(&Terminfo{+ Name: "linux",+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J",+ ShowCursor: "\x1b[?25h\x1b[?0c",+ HideCursor: "\x1b[?25l\x1b[?1c",+ AttrOff: "\x1b[0;10m",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Dim: "\x1b[2m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "+\x0020,\x0021-\x0030.\x190333`\x0004a261f370g361h260i316j331k277l332m300n305o~p304q304r304s_t303u264v301w302x263y363z362{343|330}234~376",+ EnterAcs: "\x1b[11m",+ ExitAcs: "\x1b[10m",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "177",+ KeyHome: "\x1b[1~",+ KeyEnd: "\x1b[4~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1b[[A",+ KeyF2: "\x1b[[B",+ KeyF3: "\x1b[[C",+ KeyF4: "\x1b[[D",+ KeyF5: "\x1b[[E",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF15: "\x1b[28~",+ KeyF16: "\x1b[29~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ KeyBacktab: "\x1b[Z",+ })+}
terminfo/term_pcansi.go
@@ -0,0 +1,36 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // ibm-pc terminal programs claiming to be ansi+ AddTerminfo(&Terminfo{+ Name: "pcansi",+ Columns: 80,+ Lines: 24,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J",+ AttrOff: "\x1b[0;10m",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "+\x0020,\x0021-\x0030.\x190333`\x0004a261f370g361h260j331k277l332m300n305o~p304q304r304s_t303u264v301w302x263y363z362{343|330}234~376",+ EnterAcs: "\x1b[12m",+ ExitAcs: "\x1b[10m",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\x1b[D",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyBackspace: "\b",+ KeyHome: "\x1b[H",+ })+}
terminfo/term_rxvt.go
@@ -0,0 +1,107 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // rxvt terminal emulator (X Window System)+ AddTerminfo(&Terminfo{+ Name: "rxvt",+ Columns: 80,+ Lines: 24,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b=",+ ExitKeypad: "\x1b>",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b(B\x1b)0",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyHome: "\x1b[7~",+ KeyEnd: "\x1b[8~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1b[11~",+ KeyF2: "\x1b[12~",+ KeyF3: "\x1b[13~",+ KeyF4: "\x1b[14~",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF15: "\x1b[28~",+ KeyF16: "\x1b[29~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ KeyF21: "\x1b[23$",+ KeyF22: "\x1b[24$",+ KeyF23: "\x1b[11^",+ KeyF24: "\x1b[12^",+ KeyF25: "\x1b[13^",+ KeyF26: "\x1b[14^",+ KeyF27: "\x1b[15^",+ KeyF28: "\x1b[17^",+ KeyF29: "\x1b[18^",+ KeyF30: "\x1b[19^",+ KeyF31: "\x1b[20^",+ KeyF32: "\x1b[21^",+ KeyF33: "\x1b[23^",+ KeyF34: "\x1b[24^",+ KeyF35: "\x1b[25^",+ KeyF36: "\x1b[26^",+ KeyF37: "\x1b[28^",+ KeyF38: "\x1b[29^",+ KeyF39: "\x1b[31^",+ KeyF40: "\x1b[32^",+ KeyF41: "\x1b[33^",+ KeyF42: "\x1b[34^",+ KeyF43: "\x1b[23@",+ KeyF44: "\x1b[24@",+ KeyBacktab: "\x1b[Z",+ KeyShfLeft: "\x1b[d",+ KeyShfRight: "\x1b[c",+ KeyShfUp: "\x1b[a",+ KeyShfDown: "\x1b[b",+ KeyCtrlLeft: "\x1b[Od",+ KeyCtrlRight: "\x1b[Oc",+ KeyCtrlUp: "\x1b[Oa",+ KeyCtrlDown: "\x1b[Ob",+ KeyShfHome: "\x1b[7$",+ KeyShfEnd: "\x1b[8$",+ KeyCtrlHome: "\x1b[7^",+ KeyCtrlEnd: "\x1b[8^",+ })+}
terminfo/term_rxvt_256color.go
@@ -0,0 +1,107 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // rxvt 2.7.9 with xterm 256-colors+ AddTerminfo(&Terminfo{+ Name: "rxvt-256color",+ Columns: 80,+ Lines: 24,+ Colors: 256,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b=",+ ExitKeypad: "\x1b>",+ SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",+ SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",+ SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b(B\x1b)0",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyHome: "\x1b[7~",+ KeyEnd: "\x1b[8~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1b[11~",+ KeyF2: "\x1b[12~",+ KeyF3: "\x1b[13~",+ KeyF4: "\x1b[14~",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF15: "\x1b[28~",+ KeyF16: "\x1b[29~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ KeyF21: "\x1b[23$",+ KeyF22: "\x1b[24$",+ KeyF23: "\x1b[11^",+ KeyF24: "\x1b[12^",+ KeyF25: "\x1b[13^",+ KeyF26: "\x1b[14^",+ KeyF27: "\x1b[15^",+ KeyF28: "\x1b[17^",+ KeyF29: "\x1b[18^",+ KeyF30: "\x1b[19^",+ KeyF31: "\x1b[20^",+ KeyF32: "\x1b[21^",+ KeyF33: "\x1b[23^",+ KeyF34: "\x1b[24^",+ KeyF35: "\x1b[25^",+ KeyF36: "\x1b[26^",+ KeyF37: "\x1b[28^",+ KeyF38: "\x1b[29^",+ KeyF39: "\x1b[31^",+ KeyF40: "\x1b[32^",+ KeyF41: "\x1b[33^",+ KeyF42: "\x1b[34^",+ KeyF43: "\x1b[23@",+ KeyF44: "\x1b[24@",+ KeyBacktab: "\x1b[Z",+ KeyShfLeft: "\x1b[d",+ KeyShfRight: "\x1b[c",+ KeyShfUp: "\x1b[a",+ KeyShfDown: "\x1b[b",+ KeyCtrlLeft: "\x1b[Od",+ KeyCtrlRight: "\x1b[Oc",+ KeyCtrlUp: "\x1b[Oa",+ KeyCtrlDown: "\x1b[Ob",+ KeyShfHome: "\x1b[7$",+ KeyShfEnd: "\x1b[8$",+ KeyCtrlHome: "\x1b[7^",+ KeyCtrlEnd: "\x1b[8^",+ })+}
terminfo/term_rxvt_unicode.go
@@ -0,0 +1,81 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // rxvt-unicode terminal (X Window System)+ AddTerminfo(&Terminfo{+ Name: "rxvt-unicode",+ Columns: 80,+ Lines: 24,+ Colors: 88,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b[?1049h",+ ExitCA: "\x1b[r\x1b[?1049l",+ ShowCursor: "\x1b[?12l\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x1b(B",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b=",+ ExitKeypad: "\x1b>",+ SetFg: "\x1b[38;5;%p1%dm",+ SetBg: "\x1b[48;5;%p1%dm",+ SetFgBg: "\x1b[38;5;%p1%d;48;5;%p2%dm",+ AltChars: "+C,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x1b(0",+ ExitAcs: "\x1b(B",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "177",+ KeyHome: "\x1b[7~",+ KeyEnd: "\x1b[8~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1b[11~",+ KeyF2: "\x1b[12~",+ KeyF3: "\x1b[13~",+ KeyF4: "\x1b[14~",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF15: "\x1b[28~",+ KeyF16: "\x1b[29~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ KeyBacktab: "\x1b[Z",+ KeyShfLeft: "\x1b[d",+ KeyShfRight: "\x1b[c",+ KeyShfUp: "\x1b[a",+ KeyShfDown: "\x1b[b",+ KeyCtrlLeft: "\x1b[Od",+ KeyCtrlRight: "\x1b[Oc",+ KeyCtrlUp: "\x1b[Oa",+ KeyCtrlDown: "\x1b[Ob",+ KeyShfHome: "\x1b[7$",+ KeyShfEnd: "\x1b[8$",+ KeyCtrlHome: "\x1b[7^",+ KeyCtrlEnd: "\x1b[8^",+ })+}
terminfo/term_rxvt_unicode_256color.go
@@ -0,0 +1,81 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // rxvt-unicode terminal with 256 colors (X Window System)+ AddTerminfo(&Terminfo{+ Name: "rxvt-unicode-256color",+ Columns: 80,+ Lines: 24,+ Colors: 256,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b[?1049h",+ ExitCA: "\x1b[r\x1b[?1049l",+ ShowCursor: "\x1b[?12l\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x1b(B",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b=",+ ExitKeypad: "\x1b>",+ SetFg: "\x1b[38;5;%p1%dm",+ SetBg: "\x1b[48;5;%p1%dm",+ SetFgBg: "\x1b[38;5;%p1%d;48;5;%p2%dm",+ AltChars: "+C,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x1b(0",+ ExitAcs: "\x1b(B",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "177",+ KeyHome: "\x1b[7~",+ KeyEnd: "\x1b[8~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1b[11~",+ KeyF2: "\x1b[12~",+ KeyF3: "\x1b[13~",+ KeyF4: "\x1b[14~",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF15: "\x1b[28~",+ KeyF16: "\x1b[29~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ KeyBacktab: "\x1b[Z",+ KeyShfLeft: "\x1b[d",+ KeyShfRight: "\x1b[c",+ KeyShfUp: "\x1b[a",+ KeyShfDown: "\x1b[b",+ KeyCtrlLeft: "\x1b[Od",+ KeyCtrlRight: "\x1b[Oc",+ KeyCtrlUp: "\x1b[Oa",+ KeyCtrlDown: "\x1b[Ob",+ KeyShfHome: "\x1b[7$",+ KeyShfEnd: "\x1b[8$",+ KeyCtrlHome: "\x1b[7^",+ KeyCtrlEnd: "\x1b[8^",+ })+}
terminfo/term_screen.go
@@ -0,0 +1,63 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // VT 100/ANSI X3.64 virtual terminal+ AddTerminfo(&Terminfo{+ Name: "screen",+ Columns: 80,+ Lines: 24,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J",+ EnterCA: "\x1b[?1049h",+ ExitCA: "\x1b[?1049l",+ ShowCursor: "\x1b[34h\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b(B\x1b)0",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1bM",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyHome: "\x1b[1~",+ KeyEnd: "\x1b[4~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyBacktab: "\x1b[Z",+ })+}
terminfo/term_screen_256color.go
@@ -0,0 +1,63 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // GNU Screen with 256 colors+ AddTerminfo(&Terminfo{+ Name: "screen-256color",+ Columns: 80,+ Lines: 24,+ Colors: 256,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J",+ EnterCA: "\x1b[?1049h",+ ExitCA: "\x1b[?1049l",+ ShowCursor: "\x1b[34h\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",+ SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",+ SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",+ PadChar: "\x00",+ AltChars: "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b(B\x1b)0",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1bM",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyHome: "\x1b[1~",+ KeyEnd: "\x1b[4~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyBacktab: "\x1b[Z",+ })+}
terminfo/term_sun.go
@@ -0,0 +1,43 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // Sun Microsystems Inc. workstation console+ AddTerminfo(&Terminfo{+ Name: "sun",+ Aliases: []string{"sun1", "sun2"},+ Columns: 80,+ Lines: 34,+ Bell: "\a",+ Clear: "\f",+ AttrOff: "\x1b[m",+ Reverse: "\x1b[7m",+ PadChar: "\x00",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyDelete: "177",+ KeyBackspace: "\b",+ KeyHome: "\x1b[214z",+ KeyEnd: "\x1b[220z",+ KeyPgUp: "\x1b[216z",+ KeyPgDn: "\x1b[222z",+ KeyF1: "\x1b[224z",+ KeyF2: "\x1b[225z",+ KeyF3: "\x1b[226z",+ KeyF4: "\x1b[227z",+ KeyF5: "\x1b[228z",+ KeyF6: "\x1b[229z",+ KeyF7: "\x1b[230z",+ KeyF8: "\x1b[231z",+ KeyF9: "\x1b[232z",+ KeyF10: "\x1b[233z",+ KeyF11: "\x1b[234z",+ KeyF12: "\x1b[235z",+ })+}
terminfo/term_sun_color.go
@@ -0,0 +1,46 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // Sun Microsystems Workstation console with color support (IA systems)+ AddTerminfo(&Terminfo{+ Name: "sun-color",+ Columns: 80,+ Lines: 34,+ Colors: 8,+ Bell: "\a",+ Clear: "\f",+ AttrOff: "\x1b[m",+ Reverse: "\x1b[7m",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyDelete: "177",+ KeyBackspace: "\b",+ KeyHome: "\x1b[214z",+ KeyEnd: "\x1b[220z",+ KeyPgUp: "\x1b[216z",+ KeyPgDn: "\x1b[222z",+ KeyF1: "\x1b[224z",+ KeyF2: "\x1b[225z",+ KeyF3: "\x1b[226z",+ KeyF4: "\x1b[227z",+ KeyF5: "\x1b[228z",+ KeyF6: "\x1b[229z",+ KeyF7: "\x1b[230z",+ KeyF8: "\x1b[231z",+ KeyF9: "\x1b[232z",+ KeyF10: "\x1b[233z",+ KeyF11: "\x1b[234z",+ KeyF12: "\x1b[235z",+ })+}
terminfo/term_tvi910.go
@@ -0,0 +1,36 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // televideo model 910+ AddTerminfo(&Terminfo{+ Name: "tvi910",+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1a",+ AttrOff: "\x1bG0",+ Underline: "\x1bG8",+ Reverse: "\x1bG4",+ PadChar: "\x00",+ SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",+ CursorBack1: "\b",+ CursorUp1: "\v",+ KeyUp: "\v",+ KeyDown: "\n",+ KeyRight: "\f",+ KeyLeft: "\b",+ KeyBackspace: "\b",+ KeyHome: "\x1e",+ KeyF1: "\x01@\r",+ KeyF2: "\x01A\r",+ KeyF3: "\x01B\r",+ KeyF4: "\x01C\r",+ KeyF5: "\x01D\r",+ KeyF6: "\x01E\r",+ KeyF7: "\x01F\r",+ KeyF8: "\x01G\r",+ KeyF9: "\x01H\r",+ })+}
terminfo/term_tvi912.go
@@ -0,0 +1,35 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // old televideo 912/914/920+ AddTerminfo(&Terminfo{+ Name: "tvi912",+ Aliases: []string{"tvi914", "tvi920"},+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1a",+ Underline: "\x1bl",+ PadChar: "\x00",+ SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",+ CursorBack1: "\b",+ CursorUp1: "\v",+ KeyUp: "\v",+ KeyDown: "\n",+ KeyRight: "\f",+ KeyLeft: "\b",+ KeyBackspace: "\b",+ KeyHome: "\x1e",+ KeyF1: "\x01@\r",+ KeyF2: "\x01A\r",+ KeyF3: "\x01B\r",+ KeyF4: "\x01C\r",+ KeyF5: "\x01D\r",+ KeyF6: "\x01E\r",+ KeyF7: "\x01F\r",+ KeyF8: "\x01G\r",+ KeyF9: "\x01H\r",+ })+}
terminfo/term_tvi921.go
@@ -0,0 +1,31 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // televideo model 921 with sysline same as page & real vi function+ AddTerminfo(&Terminfo{+ Name: "tvi921",+ Columns: 80,+ Lines: 24,+ Clear: "\x1a",+ ShowCursor: "\x1b.3",+ AttrOff: "\x1bG0",+ Underline: "\x1bG8",+ Reverse: "\x1bG4",+ PadChar: "\x00",+ EnterAcs: "\x1b$",+ ExitAcs: "\x1b%%",+ SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c$<3/>",+ CursorBack1: "\b",+ CursorUp1: "\v",+ KeyUp: "\v",+ KeyDown: "\x16",+ KeyRight: "\f",+ KeyLeft: "\b",+ KeyInsert: "\x1bQ",+ KeyDelete: "\x1bW",+ KeyBackspace: "\b",+ KeyClear: "\x1a",+ })+}
terminfo/term_tvi925.go
@@ -0,0 +1,40 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // televideo 925+ AddTerminfo(&Terminfo{+ Name: "tvi925",+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1a",+ ShowCursor: "\x1b.4",+ AttrOff: "\x1bG0",+ Underline: "\x1bG8",+ Reverse: "\x1bG4",+ PadChar: "\x00",+ SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",+ CursorBack1: "\b",+ CursorUp1: "\v",+ KeyUp: "\v",+ KeyDown: "\x16",+ KeyRight: "\f",+ KeyLeft: "\b",+ KeyInsert: "\x1bQ",+ KeyDelete: "\x1bW",+ KeyBackspace: "\b",+ KeyHome: "\x1e",+ KeyF1: "\x01@\r",+ KeyF2: "\x01A\r",+ KeyF3: "\x01B\r",+ KeyF4: "\x01C\r",+ KeyF5: "\x01D\r",+ KeyF6: "\x01E\r",+ KeyF7: "\x01F\r",+ KeyF8: "\x01G\r",+ KeyF9: "\x01H\r",+ KeyClear: "\x1a",+ })+}
terminfo/term_tvi950.go
@@ -0,0 +1,43 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // televideo 950+ AddTerminfo(&Terminfo{+ Name: "tvi950",+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1b*",+ AttrOff: "\x1bG0",+ Underline: "\x1bG8",+ Reverse: "\x1bG4",+ PadChar: "\x00",+ AltChars: "b\x0011c\x0014d\re\ni\x0013",+ EnterAcs: "\x15",+ ExitAcs: "\x18",+ SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",+ CursorBack1: "\b",+ CursorUp1: "\v",+ KeyUp: "\v",+ KeyDown: "\x16",+ KeyRight: "\f",+ KeyLeft: "\b",+ KeyInsert: "\x1bQ",+ KeyDelete: "\x1bW",+ KeyBackspace: "\b",+ KeyHome: "\x1e",+ KeyF1: "\x01@\r",+ KeyF2: "\x01A\r",+ KeyF3: "\x01B\r",+ KeyF4: "\x01C\r",+ KeyF5: "\x01D\r",+ KeyF6: "\x01E\r",+ KeyF7: "\x01F\r",+ KeyF8: "\x01G\r",+ KeyF9: "\x01H\r",+ KeyClear: "\x1b*",+ KeyBacktab: "\x1bI",+ })+}
terminfo/term_tvi970.go
@@ -0,0 +1,37 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // televideo 970+ AddTerminfo(&Terminfo{+ Name: "tvi970",+ Columns: 80,+ Lines: 24,+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b[?20l\x1b[?7h\x1b[1Q",+ AttrOff: "\x1b[m",+ Underline: "\x1b[4m",+ PadChar: "\x00",+ EnterAcs: "\x1b(B",+ ExitAcs: "\x1b(B",+ SetCursor: "\x1b[%i%p1%d;%p2%df",+ CursorBack1: "\b",+ CursorUp1: "\x1bM",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyBackspace: "\b",+ KeyHome: "\x1b[H",+ KeyF1: "\x1b?a",+ KeyF2: "\x1b?b",+ KeyF3: "\x1b?c",+ KeyF4: "\x1b?d",+ KeyF5: "\x1b?e",+ KeyF6: "\x1b?f",+ KeyF7: "\x1b?g",+ KeyF8: "\x1b?h",+ KeyF9: "\x1b?i",+ })+}
terminfo/term_vt100.go
@@ -0,0 +1,45 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // dec vt100 (w/advanced video)+ AddTerminfo(&Terminfo{+ Name: "vt100",+ Aliases: []string{"vt100-am"},+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J$<50>",+ AttrOff: "\x1b[m\x0017$<2>",+ Underline: "\x1b[4m$<2>",+ Bold: "\x1b[1m$<2>",+ Blink: "\x1b[5m$<2>",+ Reverse: "\x1b[7m$<2>",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b(B\x1b)0",+ SetCursor: "\x1b[%i%p1%d;%p2%dH$<5>",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A$<2>",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyBackspace: "\b",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1bOt",+ KeyF6: "\x1bOu",+ KeyF7: "\x1bOv",+ KeyF8: "\x1bOl",+ KeyF9: "\x1bOw",+ KeyF10: "\x1bOx",+ })+}
terminfo/term_vt102.go
@@ -0,0 +1,44 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // dec vt102+ AddTerminfo(&Terminfo{+ Name: "vt102",+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J$<50>",+ AttrOff: "\x1b[m\x0017$<2>",+ Underline: "\x1b[4m$<2>",+ Bold: "\x1b[1m$<2>",+ Blink: "\x1b[5m$<2>",+ Reverse: "\x1b[7m$<2>",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b(B\x1b)0",+ SetCursor: "\x1b[%i%p1%d;%p2%dH$<5>",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A$<2>",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyBackspace: "\b",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1bOt",+ KeyF6: "\x1bOu",+ KeyF7: "\x1bOv",+ KeyF8: "\x1bOl",+ KeyF9: "\x1bOw",+ KeyF10: "\x1bOx",+ })+}
terminfo/term_vt220.go
@@ -0,0 +1,54 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // dec vt220+ AddTerminfo(&Terminfo{+ Name: "vt220",+ Aliases: []string{"vt200"},+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J",+ AttrOff: "\x1b[m\x1b(B",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x1b(0$<2>",+ ExitAcs: "\x1b(B$<4>",+ EnableAcs: "\x1b)0",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyBackspace: "\b",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ KeyHelp: "\x1b[28~",+ })+}
terminfo/term_vt320.go
@@ -0,0 +1,60 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // dec vt320 7 bit terminal+ AddTerminfo(&Terminfo{+ Name: "vt320",+ Aliases: []string{"vt300"},+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x1b(B",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x1b(0",+ ExitAcs: "\x1b(B",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "177",+ KeyHome: "\x1b[1~",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[25~",+ KeyF14: "\x1b[26~",+ KeyF15: "\x1b[28~",+ KeyF16: "\x1b[29~",+ KeyF17: "\x1b[31~",+ KeyF18: "\x1b[32~",+ KeyF19: "\x1b[33~",+ KeyF20: "\x1b[34~",+ })+}
terminfo/term_vt400.go
@@ -0,0 +1,43 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // dec vt400 24x80 column autowrap+ AddTerminfo(&Terminfo{+ Name: "vt400",+ Aliases: []string{"vt400-24", "dec-vt400"},+ Columns: 80,+ Lines: 24,+ Clear: "\x1b[H\x1b[J$<10/>",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x1b(B",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x1b(0",+ ExitAcs: "\x1b(B",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyBackspace: "\b",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ })+}
terminfo/term_vt420.go
@@ -0,0 +1,47 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // DEC VT420+ AddTerminfo(&Terminfo{+ Name: "vt420",+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J$<50>",+ AttrOff: "\x1b[m$<2>",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m$<2>",+ Blink: "\x1b[5m$<2>",+ Reverse: "\x1b[7m$<2>",+ EnterKeypad: "\x1b=",+ ExitKeypad: "\x1b>",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x1b(0$<2>",+ ExitAcs: "\x1b(B$<4>",+ SetCursor: "\x1b[%i%p1%d;%p2%dH$<10>",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1b[A",+ KeyDown: "\x1b[B",+ KeyRight: "\x1b[C",+ KeyLeft: "\x1b[D",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[17~",+ KeyF6: "\x1b[18~",+ KeyF7: "\x1b[19~",+ KeyF8: "\x1b[20~",+ KeyF9: "\x1b[21~",+ KeyF10: "\x1b[29~",+ })+}
terminfo/term_vt52.go
@@ -0,0 +1,26 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // dec vt52+ AddTerminfo(&Terminfo{+ Name: "vt52",+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1bH\x1bJ",+ PadChar: "\x00",+ AltChars: ".kffgghhompoqqss",+ EnterAcs: "\x1bF",+ ExitAcs: "\x1bG",+ SetCursor: "\x1bY%p1%' '%+%c%p2%' '%+%c",+ CursorBack1: "\x1bD",+ CursorUp1: "\x1bA",+ KeyUp: "\x1bA",+ KeyDown: "\x1bB",+ KeyRight: "\x1bC",+ KeyLeft: "\x1bD",+ KeyBackspace: "\b",+ })+}
terminfo/term_wy50.go
@@ -0,0 +1,56 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // Wyse 50+ AddTerminfo(&Terminfo{+ Name: "wy50",+ Aliases: []string{"wyse50"},+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1b+$<20>",+ ShowCursor: "\x1b`1",+ HideCursor: "\x1b`0",+ AttrOff: "\x1b(\x1bH\x0003",+ Dim: "\x1b`7\x1b)",+ Reverse: "\x1b`6\x1b)",+ PadChar: "\x00",+ AltChars: "0wa_h[jukslrmqnxqzttuyv]wpxv",+ EnterAcs: "\x1bH\x02",+ ExitAcs: "\x1bH\x03",+ SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",+ CursorBack1: "\b",+ CursorUp1: "\v",+ KeyUp: "\v",+ KeyDown: "\n",+ KeyRight: "\f",+ KeyLeft: "\b",+ KeyInsert: "\x1bQ",+ KeyDelete: "\x1bW",+ KeyBackspace: "\b",+ KeyHome: "\x1e",+ KeyPgUp: "\x1bJ",+ KeyPgDn: "\x1bK",+ KeyF1: "\x01@\r",+ KeyF2: "\x01A\r",+ KeyF3: "\x01B\r",+ KeyF4: "\x01C\r",+ KeyF5: "\x01D\r",+ KeyF6: "\x01E\r",+ KeyF7: "\x01F\r",+ KeyF8: "\x01G\r",+ KeyF9: "\x01H\r",+ KeyF10: "\x01I\r",+ KeyF11: "\x01J\r",+ KeyF12: "\x01K\r",+ KeyF13: "\x01L\r",+ KeyF14: "\x01M\r",+ KeyF15: "\x01N\r",+ KeyF16: "\x01O\r",+ KeyPrint: "\x1bP",+ KeyBacktab: "\x1bI",+ KeyShfHome: "\x1b{",+ })+}
terminfo/term_wy60.go
@@ -0,0 +1,60 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // Wyse 60+ AddTerminfo(&Terminfo{+ Name: "wy60",+ Aliases: []string{"wyse60"},+ Columns: 80,+ Lines: 24,+ Bell: "\a",+ Clear: "\x1b+$<100>",+ EnterCA: "\x1bw0",+ ExitCA: "\x1bw1",+ ShowCursor: "\x1b`1",+ HideCursor: "\x1b`0",+ AttrOff: "\x1b(\x1bH\x0003\x1bG0\x1bcD",+ Underline: "\x1bG8",+ Dim: "\x1bGp",+ Blink: "\x1bG2",+ Reverse: "\x1bG4",+ PadChar: "\x00",+ AltChars: "+/,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~",+ EnterAcs: "\x1bcE",+ ExitAcs: "\x1bcD",+ SetCursor: "\x1b=%p1%' '%+%c%p2%' '%+%c",+ CursorBack1: "\b",+ CursorUp1: "\v",+ KeyUp: "\v",+ KeyDown: "\n",+ KeyRight: "\f",+ KeyLeft: "\b",+ KeyInsert: "\x1bQ",+ KeyDelete: "\x1bW",+ KeyBackspace: "\b",+ KeyHome: "\x1e",+ KeyPgUp: "\x1bJ",+ KeyPgDn: "\x1bK",+ KeyF1: "\x01@\r",+ KeyF2: "\x01A\r",+ KeyF3: "\x01B\r",+ KeyF4: "\x01C\r",+ KeyF5: "\x01D\r",+ KeyF6: "\x01E\r",+ KeyF7: "\x01F\r",+ KeyF8: "\x01G\r",+ KeyF9: "\x01H\r",+ KeyF10: "\x01I\r",+ KeyF11: "\x01J\r",+ KeyF12: "\x01K\r",+ KeyF13: "\x01L\r",+ KeyF14: "\x01M\r",+ KeyF15: "\x01N\r",+ KeyF16: "\x01O\r",+ KeyPrint: "\x1bP",+ KeyBacktab: "\x1bI",+ KeyShfHome: "\x1b{",+ })+}
terminfo/term_wy99_ansi.go
@@ -0,0 +1,58 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // Wyse WY-99GT in ansi mode (int'l PC keyboard)+ AddTerminfo(&Terminfo{+ Name: "wy99-ansi",+ Columns: 80,+ Lines: 25,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J$<200>",+ ShowCursor: "\x1b[34h\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x0017\x1b[\"q",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Dim: "\x1b[2m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h",+ ExitKeypad: "\x1b[?1l",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b)0",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\x0010$<1>",+ CursorUp1: "\x1bM",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyBackspace: "\b",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[M",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF17: "\x1b[K",+ KeyF18: "\x1b[31~",+ KeyF19: "\x1b[32~",+ KeyF20: "\x1b[33~",+ KeyF21: "\x1b[34~",+ KeyF22: "\x1b[35~",+ KeyF23: "\x1b[1~",+ KeyF24: "\x1b[2~",+ KeyBacktab: "\x1b[z",+ })+}
terminfo/term_wy99a_ansi.go
@@ -0,0 +1,58 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // Wyse WY-99GT in ansi mode (US PC keyboard)+ AddTerminfo(&Terminfo{+ Name: "wy99a-ansi",+ Columns: 80,+ Lines: 25,+ Bell: "\a",+ Clear: "\x1b[H\x1b[J$<200>",+ ShowCursor: "\x1b[34h\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[m\x0017\x1b[\"q",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Dim: "\x1b[2m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h",+ ExitKeypad: "\x1b[?1l",+ PadChar: "\x00",+ AltChars: "``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b)0",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\x0010$<1>",+ CursorUp1: "\x1bM",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyBackspace: "\b",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[M",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF17: "\x1b[K",+ KeyF18: "\x1b[31~",+ KeyF19: "\x1b[32~",+ KeyF20: "\x1b[33~",+ KeyF21: "\x1b[34~",+ KeyF22: "\x1b[35~",+ KeyF23: "\x1b[1~",+ KeyF24: "\x1b[2~",+ KeyBacktab: "\x1b[z",+ })+}
terminfo/term_xfce.go
@@ -0,0 +1,153 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // Xfce Terminal+ AddTerminfo(&Terminfo{+ Name: "xfce",+ Columns: 80,+ Lines: 24,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b7\x1b[?47h",+ ExitCA: "\x1b[2J\x1b[?47l\x1b8",+ ShowCursor: "\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b[0m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x0e",+ ExitAcs: "\x0f",+ EnableAcs: "\x1b)0",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "177",+ KeyHome: "\x1bOH",+ KeyEnd: "\x1bOF",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1bO1;2P",+ KeyF14: "\x1bO1;2Q",+ KeyF15: "\x1bO1;2R",+ KeyF16: "\x1bO1;2S",+ KeyF17: "\x1b[15;2~",+ KeyF18: "\x1b[17;2~",+ KeyF19: "\x1b[18;2~",+ KeyF20: "\x1b[19;2~",+ KeyF21: "\x1b[20;2~",+ KeyF22: "\x1b[21;2~",+ KeyF23: "\x1b[23;2~",+ KeyF24: "\x1b[24;2~",+ KeyF25: "\x1bO1;5P",+ KeyF26: "\x1bO1;5Q",+ KeyF27: "\x1bO1;5R",+ KeyF28: "\x1bO1;5S",+ KeyF29: "\x1b[15;5~",+ KeyF30: "\x1b[17;5~",+ KeyF31: "\x1b[18;5~",+ KeyF32: "\x1b[19;5~",+ KeyF33: "\x1b[20;5~",+ KeyF34: "\x1b[21;5~",+ KeyF35: "\x1b[23;5~",+ KeyF36: "\x1b[24;5~",+ KeyF37: "\x1bO1;6P",+ KeyF38: "\x1bO1;6Q",+ KeyF39: "\x1bO1;6R",+ KeyF40: "\x1bO1;6S",+ KeyF41: "\x1b[15;6~",+ KeyF42: "\x1b[17;6~",+ KeyF43: "\x1b[18;6~",+ KeyF44: "\x1b[19;6~",+ KeyF45: "\x1b[20;6~",+ KeyF46: "\x1b[21;6~",+ KeyF47: "\x1b[23;6~",+ KeyF48: "\x1b[24;6~",+ KeyF49: "\x1bO1;3P",+ KeyF50: "\x1bO1;3Q",+ KeyF51: "\x1bO1;3R",+ KeyF52: "\x1bO1;3S",+ KeyF53: "\x1b[15;3~",+ KeyF54: "\x1b[17;3~",+ KeyF55: "\x1b[18;3~",+ KeyF56: "\x1b[19;3~",+ KeyF57: "\x1b[20;3~",+ KeyF58: "\x1b[21;3~",+ KeyF59: "\x1b[23;3~",+ KeyF60: "\x1b[24;3~",+ KeyF61: "\x1bO1;4P",+ KeyF62: "\x1bO1;4Q",+ KeyF63: "\x1bO1;4R",+ KeyBacktab: "\x1b[Z",+ KeyShfLeft: "\x1b[1;2D",+ KeyShfRight: "\x1b[1;2C",+ KeyShfUp: "\x1b[1;2A",+ KeyShfDown: "\x1b[1;2B",+ KeyCtrlLeft: "\x1b[1;5D",+ KeyCtrlRight: "\x1b[1;5C",+ KeyCtrlUp: "\x1b[1;5A",+ KeyCtrlDown: "\x1b[1;5B",+ KeyMetaLeft: "\x1b[1;9D",+ KeyMetaRight: "\x1b[1;9C",+ KeyMetaUp: "\x1b[1;9A",+ KeyMetaDown: "\x1b[1;9B",+ KeyAltLeft: "\x1b[1;3D",+ KeyAltRight: "\x1b[1;3C",+ KeyAltUp: "\x1b[1;3A",+ KeyAltDown: "\x1b[1;3B",+ KeyAltShfLeft: "\x1b[1;4D",+ KeyAltShfRight: "\x1b[1;4C",+ KeyAltShfUp: "\x1b[1;4A",+ KeyAltShfDown: "\x1b[1;4B",+ KeyMetaShfLeft: "\x1b[1;10D",+ KeyMetaShfRight: "\x1b[1;10C",+ KeyMetaShfUp: "\x1b[1;10A",+ KeyMetaShfDown: "\x1b[1;10B",+ KeyCtrlShfLeft: "\x1b[1;6D",+ KeyCtrlShfRight: "\x1b[1;6C",+ KeyCtrlShfUp: "\x1b[1;6A",+ KeyCtrlShfDown: "\x1b[1;6B",+ KeyShfHome: "\x1b[1;2H",+ KeyShfEnd: "\x1b[1;2F",+ KeyCtrlHome: "\x1b[1;5H",+ KeyCtrlEnd: "\x1b[1;5F",+ KeyAltHome: "\x1b[1;9H",+ KeyAltEnd: "\x1b[1;9F",+ KeyCtrlShfHome: "\x1b[1;6H",+ KeyCtrlShfEnd: "\x1b[1;6F",+ KeyMetaShfHome: "\x1b[1;10H",+ KeyMetaShfEnd: "\x1b[1;10F",+ KeyAltShfHome: "\x1b[1;4H",+ KeyAltShfEnd: "\x1b[1;4F",+ })+}
terminfo/term_xnuppc.go
@@ -0,0 +1,31 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // Darwin PowerPC Console (color)+ AddTerminfo(&Terminfo{+ Name: "xnuppc",+ Aliases: []string{"darwin"},+ Colors: 8,+ Clear: "\x1b[H\x1b[J",+ AttrOff: "\x1b[m\x0017",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ PadChar: "\x00",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\x1b[D",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyBackspace: "177",+ })+}
terminfo/term_xterm.go
@@ -0,0 +1,152 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // xterm terminal emulator (X Window System)+ AddTerminfo(&Terminfo{+ Name: "xterm",+ Columns: 80,+ Lines: 24,+ Colors: 8,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b[?1049h",+ ExitCA: "\x1b[?1049l",+ ShowCursor: "\x1b[?12l\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b(B\x1b[m",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ SetFg: "\x1b[3%p1%dm",+ SetBg: "\x1b[4%p1%dm",+ SetFgBg: "\x1b[3%p1%d;4%p2%dm",+ AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x1b(0",+ ExitAcs: "\x1b(B",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyHome: "\x1bOH",+ KeyEnd: "\x1bOF",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[1;2P",+ KeyF14: "\x1b[1;2Q",+ KeyF15: "\x1b[1;2R",+ KeyF16: "\x1b[1;2S",+ KeyF17: "\x1b[15;2~",+ KeyF18: "\x1b[17;2~",+ KeyF19: "\x1b[18;2~",+ KeyF20: "\x1b[19;2~",+ KeyF21: "\x1b[20;2~",+ KeyF22: "\x1b[21;2~",+ KeyF23: "\x1b[23;2~",+ KeyF24: "\x1b[24;2~",+ KeyF25: "\x1b[1;5P",+ KeyF26: "\x1b[1;5Q",+ KeyF27: "\x1b[1;5R",+ KeyF28: "\x1b[1;5S",+ KeyF29: "\x1b[15;5~",+ KeyF30: "\x1b[17;5~",+ KeyF31: "\x1b[18;5~",+ KeyF32: "\x1b[19;5~",+ KeyF33: "\x1b[20;5~",+ KeyF34: "\x1b[21;5~",+ KeyF35: "\x1b[23;5~",+ KeyF36: "\x1b[24;5~",+ KeyF37: "\x1b[1;6P",+ KeyF38: "\x1b[1;6Q",+ KeyF39: "\x1b[1;6R",+ KeyF40: "\x1b[1;6S",+ KeyF41: "\x1b[15;6~",+ KeyF42: "\x1b[17;6~",+ KeyF43: "\x1b[18;6~",+ KeyF44: "\x1b[19;6~",+ KeyF45: "\x1b[20;6~",+ KeyF46: "\x1b[21;6~",+ KeyF47: "\x1b[23;6~",+ KeyF48: "\x1b[24;6~",+ KeyF49: "\x1b[1;3P",+ KeyF50: "\x1b[1;3Q",+ KeyF51: "\x1b[1;3R",+ KeyF52: "\x1b[1;3S",+ KeyF53: "\x1b[15;3~",+ KeyF54: "\x1b[17;3~",+ KeyF55: "\x1b[18;3~",+ KeyF56: "\x1b[19;3~",+ KeyF57: "\x1b[20;3~",+ KeyF58: "\x1b[21;3~",+ KeyF59: "\x1b[23;3~",+ KeyF60: "\x1b[24;3~",+ KeyF61: "\x1b[1;4P",+ KeyF62: "\x1b[1;4Q",+ KeyF63: "\x1b[1;4R",+ KeyBacktab: "\x1b[Z",+ KeyShfLeft: "\x1b[1;2D",+ KeyShfRight: "\x1b[1;2C",+ KeyShfUp: "\x1b[1;2A",+ KeyShfDown: "\x1b[1;2B",+ KeyCtrlLeft: "\x1b[1;5D",+ KeyCtrlRight: "\x1b[1;5C",+ KeyCtrlUp: "\x1b[1;5A",+ KeyCtrlDown: "\x1b[1;5B",+ KeyMetaLeft: "\x1b[1;9D",+ KeyMetaRight: "\x1b[1;9C",+ KeyMetaUp: "\x1b[1;9A",+ KeyMetaDown: "\x1b[1;9B",+ KeyAltLeft: "\x1b[1;3D",+ KeyAltRight: "\x1b[1;3C",+ KeyAltUp: "\x1b[1;3A",+ KeyAltDown: "\x1b[1;3B",+ KeyAltShfLeft: "\x1b[1;4D",+ KeyAltShfRight: "\x1b[1;4C",+ KeyAltShfUp: "\x1b[1;4A",+ KeyAltShfDown: "\x1b[1;4B",+ KeyMetaShfLeft: "\x1b[1;10D",+ KeyMetaShfRight: "\x1b[1;10C",+ KeyMetaShfUp: "\x1b[1;10A",+ KeyMetaShfDown: "\x1b[1;10B",+ KeyCtrlShfLeft: "\x1b[1;6D",+ KeyCtrlShfRight: "\x1b[1;6C",+ KeyCtrlShfUp: "\x1b[1;6A",+ KeyCtrlShfDown: "\x1b[1;6B",+ KeyShfHome: "\x1b[1;2H",+ KeyShfEnd: "\x1b[1;2F",+ KeyCtrlHome: "\x1b[1;5H",+ KeyCtrlEnd: "\x1b[1;5F",+ KeyAltHome: "\x1b[1;9H",+ KeyAltEnd: "\x1b[1;9F",+ KeyCtrlShfHome: "\x1b[1;6H",+ KeyCtrlShfEnd: "\x1b[1;6F",+ KeyMetaShfHome: "\x1b[1;10H",+ KeyMetaShfEnd: "\x1b[1;10F",+ KeyAltShfHome: "\x1b[1;4H",+ KeyAltShfEnd: "\x1b[1;4F",+ })+}
terminfo/term_xterm_256color.go
@@ -0,0 +1,152 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo++func init() {+ // xterm with 256 colors+ AddTerminfo(&Terminfo{+ Name: "xterm-256color",+ Columns: 80,+ Lines: 24,+ Colors: 256,+ Bell: "\a",+ Clear: "\x1b[H\x1b[2J",+ EnterCA: "\x1b[?1049h",+ ExitCA: "\x1b[?1049l",+ ShowCursor: "\x1b[?12l\x1b[?25h",+ HideCursor: "\x1b[?25l",+ AttrOff: "\x1b(B\x1b[m",+ Underline: "\x1b[4m",+ Bold: "\x1b[1m",+ Blink: "\x1b[5m",+ Reverse: "\x1b[7m",+ EnterKeypad: "\x1b[?1h\x1b=",+ ExitKeypad: "\x1b[?1l\x1b>",+ SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",+ SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",+ SetFgBg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;;%?%p2%{8}%<%t4%p2%d%e%p2%{16}%<%t10%p2%{8}%-%d%e48;5;%p2%d%;m",+ AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ EnterAcs: "\x1b(0",+ ExitAcs: "\x1b(B",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1002%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ CursorBack1: "\b",+ CursorUp1: "\x1b[A",+ KeyUp: "\x1bOA",+ KeyDown: "\x1bOB",+ KeyRight: "\x1bOC",+ KeyLeft: "\x1bOD",+ KeyInsert: "\x1b[2~",+ KeyDelete: "\x1b[3~",+ KeyBackspace: "\b",+ KeyHome: "\x1bOH",+ KeyEnd: "\x1bOF",+ KeyPgUp: "\x1b[5~",+ KeyPgDn: "\x1b[6~",+ KeyF1: "\x1bOP",+ KeyF2: "\x1bOQ",+ KeyF3: "\x1bOR",+ KeyF4: "\x1bOS",+ KeyF5: "\x1b[15~",+ KeyF6: "\x1b[17~",+ KeyF7: "\x1b[18~",+ KeyF8: "\x1b[19~",+ KeyF9: "\x1b[20~",+ KeyF10: "\x1b[21~",+ KeyF11: "\x1b[23~",+ KeyF12: "\x1b[24~",+ KeyF13: "\x1b[1;2P",+ KeyF14: "\x1b[1;2Q",+ KeyF15: "\x1b[1;2R",+ KeyF16: "\x1b[1;2S",+ KeyF17: "\x1b[15;2~",+ KeyF18: "\x1b[17;2~",+ KeyF19: "\x1b[18;2~",+ KeyF20: "\x1b[19;2~",+ KeyF21: "\x1b[20;2~",+ KeyF22: "\x1b[21;2~",+ KeyF23: "\x1b[23;2~",+ KeyF24: "\x1b[24;2~",+ KeyF25: "\x1b[1;5P",+ KeyF26: "\x1b[1;5Q",+ KeyF27: "\x1b[1;5R",+ KeyF28: "\x1b[1;5S",+ KeyF29: "\x1b[15;5~",+ KeyF30: "\x1b[17;5~",+ KeyF31: "\x1b[18;5~",+ KeyF32: "\x1b[19;5~",+ KeyF33: "\x1b[20;5~",+ KeyF34: "\x1b[21;5~",+ KeyF35: "\x1b[23;5~",+ KeyF36: "\x1b[24;5~",+ KeyF37: "\x1b[1;6P",+ KeyF38: "\x1b[1;6Q",+ KeyF39: "\x1b[1;6R",+ KeyF40: "\x1b[1;6S",+ KeyF41: "\x1b[15;6~",+ KeyF42: "\x1b[17;6~",+ KeyF43: "\x1b[18;6~",+ KeyF44: "\x1b[19;6~",+ KeyF45: "\x1b[20;6~",+ KeyF46: "\x1b[21;6~",+ KeyF47: "\x1b[23;6~",+ KeyF48: "\x1b[24;6~",+ KeyF49: "\x1b[1;3P",+ KeyF50: "\x1b[1;3Q",+ KeyF51: "\x1b[1;3R",+ KeyF52: "\x1b[1;3S",+ KeyF53: "\x1b[15;3~",+ KeyF54: "\x1b[17;3~",+ KeyF55: "\x1b[18;3~",+ KeyF56: "\x1b[19;3~",+ KeyF57: "\x1b[20;3~",+ KeyF58: "\x1b[21;3~",+ KeyF59: "\x1b[23;3~",+ KeyF60: "\x1b[24;3~",+ KeyF61: "\x1b[1;4P",+ KeyF62: "\x1b[1;4Q",+ KeyF63: "\x1b[1;4R",+ KeyBacktab: "\x1b[Z",+ KeyShfLeft: "\x1b[1;2D",+ KeyShfRight: "\x1b[1;2C",+ KeyShfUp: "\x1b[1;2A",+ KeyShfDown: "\x1b[1;2B",+ KeyCtrlLeft: "\x1b[1;5D",+ KeyCtrlRight: "\x1b[1;5C",+ KeyCtrlUp: "\x1b[1;5A",+ KeyCtrlDown: "\x1b[1;5B",+ KeyMetaLeft: "\x1b[1;9D",+ KeyMetaRight: "\x1b[1;9C",+ KeyMetaUp: "\x1b[1;9A",+ KeyMetaDown: "\x1b[1;9B",+ KeyAltLeft: "\x1b[1;3D",+ KeyAltRight: "\x1b[1;3C",+ KeyAltUp: "\x1b[1;3A",+ KeyAltDown: "\x1b[1;3B",+ KeyAltShfLeft: "\x1b[1;4D",+ KeyAltShfRight: "\x1b[1;4C",+ KeyAltShfUp: "\x1b[1;4A",+ KeyAltShfDown: "\x1b[1;4B",+ KeyMetaShfLeft: "\x1b[1;10D",+ KeyMetaShfRight: "\x1b[1;10C",+ KeyMetaShfUp: "\x1b[1;10A",+ KeyMetaShfDown: "\x1b[1;10B",+ KeyCtrlShfLeft: "\x1b[1;6D",+ KeyCtrlShfRight: "\x1b[1;6C",+ KeyCtrlShfUp: "\x1b[1;6A",+ KeyCtrlShfDown: "\x1b[1;6B",+ KeyShfHome: "\x1b[1;2H",+ KeyShfEnd: "\x1b[1;2F",+ KeyCtrlHome: "\x1b[1;5H",+ KeyCtrlEnd: "\x1b[1;5F",+ KeyAltHome: "\x1b[1;9H",+ KeyAltEnd: "\x1b[1;9F",+ KeyCtrlShfHome: "\x1b[1;6H",+ KeyCtrlShfEnd: "\x1b[1;6F",+ KeyMetaShfHome: "\x1b[1;10H",+ KeyMetaShfEnd: "\x1b[1;10F",+ KeyAltShfHome: "\x1b[1;4H",+ KeyAltShfEnd: "\x1b[1;4F",+ })+}
terminfo/term_xterm_truecolor.go
@@ -0,0 +1,3 @@+// Generated automatically. DO NOT HAND-EDIT.++package terminfo
terminfo/terminfo.go
@@ -0,0 +1,830 @@+// Copyright 2017 The TCell Authors+//+// Licensed under the Apache License, Version 2.0 (the "License");+// you may not use file except in compliance with the License.+// You may obtain a copy of the license at+//+// http://www.apache.org/licenses/LICENSE-2.0+//+// Unless required by applicable law or agreed to in writing, software+// distributed under the License is distributed on an "AS IS" BASIS,+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+// See the License for the specific language governing permissions and+// limitations under the License.++package terminfo++import (+ "bytes"+ "compress/gzip"+ "encoding/json"+ "errors"+ "fmt"+ "io"+ "os"+ "path"+ "strconv"+ "strings"+ "sync"+)++var (+ // ErrTermNotFound 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".+ ErrTermNotFound = errors.New("terminal entry not found")+)++// Terminfo represents a terminfo entry. Note that we use friendly names+// in Go, but when we write out JSON, we use the same names as terminfo.+// The name, aliases and smous, rmous fields do not come from terminfo directly.+type Terminfo struct {+ Name string `json:"name"`+ Aliases []string `json:"aliases,omitempty"`+ Columns int `json:"cols,omitempty"` // cols+ Lines int `json:"lines,omitempty"` // lines+ Colors int `json:"colors,omitempty"` // colors+ Bell string `json:"bell,omitempty"` // bell+ Clear string `json:"clear,omitempty"` // clear+ EnterCA string `json:"smcup,omitempty"` // smcup+ ExitCA string `json:"rmcup,omitempty"` // rmcup+ ShowCursor string `json:"cnorm,omitempty"` // cnorm+ HideCursor string `json:"civis,omitempty"` // civis+ AttrOff string `json:"sgr0,omitempty"` // sgr0+ Underline string `json:"smul,omitempty"` // smul+ Bold string `json:"bold,omitempty"` // bold+ Blink string `json:"blink,omitempty"` // blink+ Reverse string `json:"rev,omitempty"` // rev+ Dim string `json:"dim,omitempty"` // dim+ EnterKeypad string `json:"smkx,omitempty"` // smkx+ ExitKeypad string `json:"rmkx,omitempty"` // rmkx+ SetFg string `json:"setaf,omitempty"` // setaf+ SetBg string `json:"setbg,omitempty"` // setab+ SetCursor string `json:"cup,omitempty"` // cup+ CursorBack1 string `json:"cub1,omitempty"` // cub1+ CursorUp1 string `json:"cuu1,omitempty"` // cuu1+ PadChar string `json:"pad,omitempty"` // pad+ KeyBackspace string `json:"kbs,omitempty"` // kbs+ KeyF1 string `json:"kf1,omitempty"` // kf1+ KeyF2 string `json:"kf2,omitempty"` // kf2+ KeyF3 string `json:"kf3,omitempty"` // kf3+ KeyF4 string `json:"kf4,omitempty"` // kf4+ KeyF5 string `json:"kf5,omitempty"` // kf5+ KeyF6 string `json:"kf6,omitempty"` // kf6+ KeyF7 string `json:"kf7,omitempty"` // kf7+ KeyF8 string `json:"kf8,omitempty"` // kf8+ KeyF9 string `json:"kf9,omitempty"` // kf9+ KeyF10 string `json:"kf10,omitempty"` // kf10+ KeyF11 string `json:"kf11,omitempty"` // kf11+ KeyF12 string `json:"kf12,omitempty"` // kf12+ KeyF13 string `json:"kf13,omitempty"` // kf13+ KeyF14 string `json:"kf14,omitempty"` // kf14+ KeyF15 string `json:"kf15,omitempty"` // kf15+ KeyF16 string `json:"kf16,omitempty"` // kf16+ KeyF17 string `json:"kf17,omitempty"` // kf17+ KeyF18 string `json:"kf18,omitempty"` // kf18+ KeyF19 string `json:"kf19,omitempty"` // kf19+ KeyF20 string `json:"kf20,omitempty"` // kf20+ KeyF21 string `json:"kf21,omitempty"` // kf21+ KeyF22 string `json:"kf22,omitempty"` // kf22+ KeyF23 string `json:"kf23,omitempty"` // kf23+ KeyF24 string `json:"kf24,omitempty"` // kf24+ KeyF25 string `json:"kf25,omitempty"` // kf25+ KeyF26 string `json:"kf26,omitempty"` // kf26+ KeyF27 string `json:"kf27,omitempty"` // kf27+ KeyF28 string `json:"kf28,omitempty"` // kf28+ KeyF29 string `json:"kf29,omitempty"` // kf29+ KeyF30 string `json:"kf30,omitempty"` // kf30+ KeyF31 string `json:"kf31,omitempty"` // kf31+ KeyF32 string `json:"kf32,omitempty"` // kf32+ KeyF33 string `json:"kf33,omitempty"` // kf33+ KeyF34 string `json:"kf34,omitempty"` // kf34+ KeyF35 string `json:"kf35,omitempty"` // kf35+ KeyF36 string `json:"kf36,omitempty"` // kf36+ KeyF37 string `json:"kf37,omitempty"` // kf37+ KeyF38 string `json:"kf38,omitempty"` // kf38+ KeyF39 string `json:"kf39,omitempty"` // kf39+ KeyF40 string `json:"kf40,omitempty"` // kf40+ KeyF41 string `json:"kf41,omitempty"` // kf41+ KeyF42 string `json:"kf42,omitempty"` // kf42+ KeyF43 string `json:"kf43,omitempty"` // kf43+ KeyF44 string `json:"kf44,omitempty"` // kf44+ KeyF45 string `json:"kf45,omitempty"` // kf45+ KeyF46 string `json:"kf46,omitempty"` // kf46+ KeyF47 string `json:"kf47,omitempty"` // kf47+ KeyF48 string `json:"kf48,omitempty"` // kf48+ KeyF49 string `json:"kf49,omitempty"` // kf49+ KeyF50 string `json:"kf50,omitempty"` // kf50+ KeyF51 string `json:"kf51,omitempty"` // kf51+ KeyF52 string `json:"kf52,omitempty"` // kf52+ KeyF53 string `json:"kf53,omitempty"` // kf53+ KeyF54 string `json:"kf54,omitempty"` // kf54+ KeyF55 string `json:"kf55,omitempty"` // kf55+ KeyF56 string `json:"kf56,omitempty"` // kf56+ KeyF57 string `json:"kf57,omitempty"` // kf57+ KeyF58 string `json:"kf58,omitempty"` // kf58+ KeyF59 string `json:"kf59,omitempty"` // kf59+ KeyF60 string `json:"kf60,omitempty"` // kf60+ KeyF61 string `json:"kf61,omitempty"` // kf61+ KeyF62 string `json:"kf62,omitempty"` // kf62+ KeyF63 string `json:"kf63,omitempty"` // kf63+ KeyF64 string `json:"kf64,omitempty"` // kf64+ KeyInsert string `json:"kich,omitempty"` // kich1+ KeyDelete string `json:"kdch,omitempty"` // kdch1+ KeyHome string `json:"khome,omitempty"` // khome+ KeyEnd string `json:"kend,omitempty"` // kend+ KeyHelp string `json:"khlp,omitempty"` // khlp+ KeyPgUp string `json:"kpp,omitempty"` // kpp+ KeyPgDn string `json:"knp,omitempty"` // knp+ KeyUp string `json:"kcuu1,omitempty"` // kcuu1+ KeyDown string `json:"kcud1,omitempty"` // kcud1+ KeyLeft string `json:"kcub1,omitempty"` // kcub1+ KeyRight string `json:"kcuf1,omitempty"` // kcuf1+ KeyBacktab string `json:"kcbt,omitempty"` // kcbt+ KeyExit string `json:"kext,omitempty"` // kext+ KeyClear string `json:"kclr,omitempty"` // kclr+ KeyPrint string `json:"kprt,omitempty"` // kprt+ KeyCancel string `json:"kcan,omitempty"` // kcan+ Mouse string `json:"kmous,omitempty"` // kmous+ MouseMode string `json:"XM,omitempty"` // XM+ AltChars string `json:"acsc,omitempty"` // acsc+ EnterAcs string `json:"smacs,omitempty"` // smacs+ ExitAcs string `json:"rmacs,omitempty"` // rmacs+ EnableAcs string `json:"enacs,omitempty"` // enacs+ KeyShfRight string `json:"kRIT,omitempty"` // kRIT+ KeyShfLeft string `json:"kLFT,omitempty"` // kLFT+ KeyShfHome string `json:"kHOM,omitempty"` // kHOM+ KeyShfEnd string `json:"kEND,omitempty"` // kEND++ // These are non-standard extensions to terminfo. This includes+ // true color support, and some additional keys. Its kind of bizarre+ // that shifted variants of left and right exist, but not up and down.+ // Terminal support for these are going to vary amongst XTerm+ // emulations, so don't depend too much on them in your application.++ SetFgBg string `json:"_setfgbg,omitempty"` // setfgbg+ SetFgBgRGB string `json:"_setfgbgrgb,omitempty"` // setfgbgrgb+ SetFgRGB string `json:"_setfrgb,omitempty"` // setfrgb+ SetBgRGB string `json:"_setbrgb,omitempty"` // setbrgb+ KeyShfUp string `json:"_kscu1,omitempty"` // shift-up+ KeyShfDown string `json:"_kscud1,omitempty"` // shift-down+ KeyCtrlUp string `json:"_kccu1,omitempty"` // ctrl-up+ KeyCtrlDown string `json:"_kccud1,omitempty"` // ctrl-left+ KeyCtrlRight string `json:"_kccuf1,omitempty"` // ctrl-right+ KeyCtrlLeft string `json:"_kccub1,omitempty"` // ctrl-left+ KeyMetaUp string `json:"_kmcu1,omitempty"` // meta-up+ KeyMetaDown string `json:"_kmcud1,omitempty"` // meta-left+ KeyMetaRight string `json:"_kmcuf1,omitempty"` // meta-right+ KeyMetaLeft string `json:"_kmcub1,omitempty"` // meta-left+ KeyAltUp string `json:"_kacu1,omitempty"` // alt-up+ KeyAltDown string `json:"_kacud1,omitempty"` // alt-left+ KeyAltRight string `json:"_kacuf1,omitempty"` // alt-right+ KeyAltLeft string `json:"_kacub1,omitempty"` // alt-left+ KeyCtrlHome string `json:"_kchome,omitempty"`+ KeyCtrlEnd string `json:"_kcend,omitempty"`+ KeyMetaHome string `json:"_kmhome,omitempty"`+ KeyMetaEnd string `json:"_kmend,omitempty"`+ KeyAltHome string `json:"_kahome,omitempty"`+ KeyAltEnd string `json:"_kaend,omitempty"`+ KeyAltShfUp string `json:"_kascu1,omitempty"`+ KeyAltShfDown string `json:"_kascud1,omitempty"`+ KeyAltShfLeft string `json:"_kascub1,omitempty"`+ KeyAltShfRight string `json:"_kascuf1,omitempty"`+ KeyMetaShfUp string `json:"_kmscu1,omitempty"`+ KeyMetaShfDown string `json:"_kmscud1,omitempty"`+ KeyMetaShfLeft string `json:"_kmscub1,omitempty"`+ KeyMetaShfRight string `json:"_kmscuf1,omitempty"`+ KeyCtrlShfUp string `json:"_kcscu1,omitempty"`+ KeyCtrlShfDown string `json:"_kcscud1,omitempty"`+ KeyCtrlShfLeft string `json:"_kcscub1,omitempty"`+ KeyCtrlShfRight string `json:"_kcscuf1,omitempty"`+ KeyCtrlShfHome string `json:"_kcHOME,omitempty"`+ KeyCtrlShfEnd string `json:"_kcEND,omitempty"`+ KeyAltShfHome string `json:"_kaHOME,omitempty"`+ KeyAltShfEnd string `json:"_kaEND,omitempty"`+ KeyMetaShfHome string `json:"_kmHOME,omitempty"`+ KeyMetaShfEnd string `json:"_kmEND,omitempty"`+}++type stackElem struct {+ s string+ i int+ isStr bool+ isInt bool+}++type stack []stackElem++func (st stack) Push(v string) stack {+ e := stackElem{+ s: v,+ isStr: true,+ }+ return append(st, e)+}++func (st stack) Pop() (string, stack) {+ v := ""+ if len(st) > 0 {+ e := st[len(st)-1]+ st = st[:len(st)-1]+ if e.isStr {+ v = e.s+ } else {+ v = strconv.Itoa(e.i)+ }+ }+ return v, st+}++func (st stack) PopInt() (int, stack) {+ if len(st) > 0 {+ e := st[len(st)-1]+ st = st[:len(st)-1]+ if e.isInt {+ return e.i, st+ } else if e.isStr {+ i, _ := strconv.Atoi(e.s)+ return i, st+ }+ }+ return 0, st+}++func (st stack) PopBool() (bool, stack) {+ if len(st) > 0 {+ e := st[len(st)-1]+ st = st[:len(st)-1]+ if e.isStr {+ if e.s == "1" {+ return true, st+ }+ return false, st+ } else if e.i == 1 {+ return true, st+ } else {+ return false, st+ }+ }+ return false, st+}++func (st stack) PushInt(i int) stack {+ e := stackElem{+ i: i,+ isInt: true,+ }+ return append(st, e)+}++func (st stack) PushBool(i bool) stack {+ if i {+ return st.PushInt(1)+ }+ return st.PushInt(0)+}++func nextch(s string, index int) (byte, int) {+ if index < len(s) {+ return s[index], index + 1+ }+ return 0, index+}++// static vars+var svars [26]string++// paramsBuffer handles some persistent state for TParam. Technically we+// could probably dispense with this, but caching buffer arrays gives us+// a nice little performance boost. Furthermore, we know that TParam is+// rarely (never?) called re-entrantly, so we can just reuse the same+// buffers, making it thread-safe by stashing a lock.+type paramsBuffer struct {+ out bytes.Buffer+ buf bytes.Buffer+ lk sync.Mutex+}++// Start initializes the params buffer with the initial string data.+// It also locks the paramsBuffer. The caller must call End() when+// finished.+func (pb *paramsBuffer) Start(s string) {+ pb.lk.Lock()+ pb.out.Reset()+ pb.buf.Reset()+ pb.buf.WriteString(s)+}++// End returns the final output from TParam, but it also releases the lock.+func (pb *paramsBuffer) End() string {+ s := pb.out.String()+ pb.lk.Unlock()+ return s+}++// NextCh returns the next input character to the expander.+func (pb *paramsBuffer) NextCh() (byte, error) {+ return pb.buf.ReadByte()+}++// PutCh "emits" (rather schedules for output) a single byte character.+func (pb *paramsBuffer) PutCh(ch byte) {+ pb.out.WriteByte(ch)+}++// PutString schedules a string for output.+func (pb *paramsBuffer) PutString(s string) {+ pb.out.WriteString(s)+}++var pb = ¶msBuffer{}++// TParm takes a terminfo parameterized string, such as setaf or cup, and+// evaluates the string, and returns the result with the parameter+// applied.+func (t *Terminfo) TParm(s string, p ...int) string {+ var stk stack+ var a, b string+ var ai, bi int+ var ab bool+ var dvars [26]string+ var params [9]int++ pb.Start(s)++ // make sure we always have 9 parameters -- makes it easier+ // later to skip checks+ for i := 0; i < len(params) && i < len(p); i++ {+ params[i] = p[i]+ }++ nest := 0++ for {++ ch, err := pb.NextCh()+ if err != nil {+ break+ }++ if ch != '%' {+ pb.PutCh(ch)+ continue+ }++ ch, err = pb.NextCh()+ if err != nil {+ // XXX Error+ break+ }++ switch ch {+ case '%': // quoted %+ pb.PutCh(ch)++ case 'i': // increment both parameters (ANSI cup support)+ params[0]+++ params[1]++++ case 'c', 's':+ // NB: these, and 'd' below are special cased for+ // efficiency. They could be handled by the richer+ // format support below, less efficiently.+ a, stk = stk.Pop()+ pb.PutString(a)++ case 'd':+ ai, stk = stk.PopInt()+ pb.PutString(strconv.Itoa(ai))++ case '0', '1', '2', '3', '4', 'x', 'X', 'o', ':':+ // This is pretty suboptimal, but this is rarely used.+ // None of the mainstream terminals use any of this,+ // and it would surprise me if this code is ever+ // executed outside of test cases.+ f := "%"+ if ch == ':' {+ ch, _ = pb.NextCh()+ }+ f += string(ch)+ for ch == '+' || ch == '-' || ch == '#' || ch == ' ' {+ ch, _ = pb.NextCh()+ f += string(ch)+ }+ for (ch >= '0' && ch <= '9') || ch == '.' {+ ch, _ = pb.NextCh()+ f += string(ch)+ }+ switch ch {+ case 'd', 'x', 'X', 'o':+ ai, stk = stk.PopInt()+ pb.PutString(fmt.Sprintf(f, ai))+ case 'c', 's':+ a, stk = stk.Pop()+ pb.PutString(fmt.Sprintf(f, a))+ }++ case 'p': // push parameter+ ch, _ = pb.NextCh()+ ai = int(ch - '1')+ if ai >= 0 && ai < len(params) {+ stk = stk.PushInt(params[ai])+ } else {+ stk = stk.PushInt(0)+ }++ case 'P': // pop & store variable+ ch, _ = pb.NextCh()+ if ch >= 'A' && ch <= 'Z' {+ svars[int(ch-'A')], stk = stk.Pop()+ } else if ch >= 'a' && ch <= 'z' {+ dvars[int(ch-'a')], stk = stk.Pop()+ }++ case 'g': // recall & push variable+ ch, _ = pb.NextCh()+ if ch >= 'A' && ch <= 'Z' {+ stk = stk.Push(svars[int(ch-'A')])+ } else if ch >= 'a' && ch <= 'z' {+ stk = stk.Push(dvars[int(ch-'a')])+ }++ case '\'': // push(char)+ ch, _ = pb.NextCh()+ pb.NextCh() // must be ' but we don't check+ stk = stk.Push(string(ch))++ case '{': // push(int)+ ai = 0+ ch, _ = pb.NextCh()+ for ch >= '0' && ch <= '9' {+ ai *= 10+ ai += int(ch - '0')+ ch, _ = pb.NextCh()+ }+ // ch must be '}' but no verification+ stk = stk.PushInt(ai)++ case 'l': // push(strlen(pop))+ a, stk = stk.Pop()+ stk = stk.PushInt(len(a))++ case '+':+ bi, stk = stk.PopInt()+ ai, stk = stk.PopInt()+ stk = stk.PushInt(ai + bi)++ case '-':+ bi, stk = stk.PopInt()+ ai, stk = stk.PopInt()+ stk = stk.PushInt(ai - bi)++ case '*':+ bi, stk = stk.PopInt()+ ai, stk = stk.PopInt()+ stk = stk.PushInt(ai * bi)++ case '/':+ bi, stk = stk.PopInt()+ ai, stk = stk.PopInt()+ if bi != 0 {+ stk = stk.PushInt(ai / bi)+ } else {+ stk = stk.PushInt(0)+ }++ case 'm': // push(pop mod pop)+ bi, stk = stk.PopInt()+ ai, stk = stk.PopInt()+ if bi != 0 {+ stk = stk.PushInt(ai % bi)+ } else {+ stk = stk.PushInt(0)+ }++ case '&': // AND+ bi, stk = stk.PopInt()+ ai, stk = stk.PopInt()+ stk = stk.PushInt(ai & bi)++ case '|': // OR+ bi, stk = stk.PopInt()+ ai, stk = stk.PopInt()+ stk = stk.PushInt(ai | bi)++ case '^': // XOR+ bi, stk = stk.PopInt()+ ai, stk = stk.PopInt()+ stk = stk.PushInt(ai ^ bi)++ case '~': // bit complement+ ai, stk = stk.PopInt()+ stk = stk.PushInt(ai ^ -1)++ case '!': // logical NOT+ ai, stk = stk.PopInt()+ stk = stk.PushBool(ai != 0)++ case '=': // numeric compare or string compare+ b, stk = stk.Pop()+ a, stk = stk.Pop()+ stk = stk.PushBool(a == b)++ case '>': // greater than, numeric+ bi, stk = stk.PopInt()+ ai, stk = stk.PopInt()+ stk = stk.PushBool(ai > bi)++ case '<': // less than, numeric+ bi, stk = stk.PopInt()+ ai, stk = stk.PopInt()+ stk = stk.PushBool(ai < bi)++ case '?': // start conditional++ case 't':+ ab, stk = stk.PopBool()+ if ab {+ // just keep going+ break+ }+ nest = 0+ ifloop:+ // this loop consumes everything until we hit our else,+ // or the end of the conditional+ for {+ ch, err = pb.NextCh()+ if err != nil {+ break+ }+ if ch != '%' {+ continue+ }+ ch, _ = pb.NextCh()+ switch ch {+ case ';':+ if nest == 0 {+ break ifloop+ }+ nest--+ case '?':+ nest+++ case 'e':+ if nest == 0 {+ break ifloop+ }+ }+ }++ case 'e':+ // if we got here, it means we didn't use the else+ // in the 't' case above, and we should skip until+ // the end of the conditional+ nest = 0+ elloop:+ for {+ ch, err = pb.NextCh()+ if err != nil {+ break+ }+ if ch != '%' {+ continue+ }+ ch, _ = pb.NextCh()+ switch ch {+ case ';':+ if nest == 0 {+ break elloop+ }+ nest--+ case '?':+ nest+++ }+ }++ case ';': // endif++ }+ }++ return pb.End()+}++// TPuts emits the string to the writer, but expands inline padding+// indications (of the form $<[delay]> where [delay] is msec) to+// a suitable number of padding characters (usually null bytes) based+// upon the supplied baud. At high baud rates, more padding characters+// will be inserted. All Terminfo based strings should be emitted using+// this function.+func (t *Terminfo) TPuts(w io.Writer, s string, baud int) {+ for {+ beg := strings.Index(s, "$<")+ if beg < 0 {+ // Most strings don't need padding, which is good news!+ io.WriteString(w, s)+ return+ }+ io.WriteString(w, s[:beg])+ s = s[beg+2:]+ end := strings.Index(s, ">")+ if end < 0 {+ // unterminated.. just emit bytes unadulterated+ io.WriteString(w, "$<"+s)+ return+ }+ val := s[:end]+ s = s[end+1:]+ padus := 0+ unit := 1000+ dot := false+ loop:+ for i := range val {+ switch val[i] {+ case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9':+ padus *= 10+ padus += int(val[i] - '0')+ if dot {+ unit *= 10+ }+ case '.':+ if !dot {+ dot = true+ } else {+ break loop+ }+ default:+ break loop+ }+ }+ cnt := int(((baud / 8) * padus) / unit)+ for cnt > 0 {+ io.WriteString(w, t.PadChar)+ cnt--+ }+ }+}++// TGoto returns a string suitable for addressing the cursor at the given+// row and column. The origin 0, 0 is in the upper left corner of the screen.+func (t *Terminfo) TGoto(col, row int) string {+ return t.TParm(t.SetCursor, row, col)+}++// TColor returns a string corresponding to the given foreground and background+// colors. Either fg or bg can be set to -1 to elide.+func (t *Terminfo) TColor(fi, bi int) string {+ rv := ""+ // As a special case, we map bright colors to lower versions if the+ // color table only holds 8. For the remaining 240 colors, the user+ // is out of luck. Someday we could create a mapping table, but its+ // not worth it.+ if t.Colors == 8 {+ if fi > 7 && fi < 16 {+ fi -= 8+ }+ if bi > 7 && bi < 16 {+ bi -= 8+ }+ }+ if t.Colors > fi && fi >= 0 {+ rv += t.TParm(t.SetFg, fi)+ }+ if t.Colors > bi && bi >= 0 {+ rv += t.TParm(t.SetBg, bi)+ }+ return rv+}++var (+ dblock sync.Mutex+ terminfos = make(map[string]*Terminfo)+ aliases = make(map[string]string)+)++// AddTerminfo can be called to register a new Terminfo entry.+func AddTerminfo(t *Terminfo) {+ dblock.Lock()+ terminfos[t.Name] = t+ for _, x := range t.Aliases {+ terminfos[x] = t+ }+ dblock.Unlock()+}++func loadFromFile(fname string, term string) (*Terminfo, error) {+ var e error+ var f io.Reader+ if f, e = os.Open(fname); e != nil {+ return nil, e+ }+ if strings.HasSuffix(fname, ".gz") {+ if f, e = gzip.NewReader(f); e != nil {+ return nil, e+ }+ }+ d := json.NewDecoder(f)+ for {+ t := &Terminfo{}+ if e := d.Decode(t); e != nil {+ if e == io.EOF {+ return nil, ErrTermNotFound+ }+ return nil, e+ }+ if t.SetCursor == "" {+ // This must be an alias record, return it.+ return t, nil+ }+ if t.Name == term {+ return t, nil+ }+ for _, a := range t.Aliases {+ if a == term {+ return t, nil+ }+ }+ }+}++// LookupTerminfo attempts to find a definition for the named $TERM.+// It first looks in the builtin database, which should cover just about+// everyone. If it can't find one there, then it will attempt to read+// one from the JSON file located in either $TCELLDB, $HOME/.tcelldb+// or in this package's source directory as database.json).+func LookupTerminfo(name string) (*Terminfo, error) {+ dblock.Lock()+ t := terminfos[name]+ dblock.Unlock()++ if t == nil {++ var files []string+ gzfile := path.Join(name[:1], name+".gz")+ jsfile := path.Join(name[:1], name)++ // Build up the search path. Old versions of tcell used a+ // single database file, whereas the new ones locate them+ // in JSON (optionally compressed) files.+ //+ // The search path looks like:+ //+ // $TCELLDB/x/xterm.gz+ // $TCELLDB/x/xterm+ // $TCELLDB+ // $HOME/.tcelldb/x/xterm.gz+ // $HOME/.tcelldb/x/xterm+ // $HOME/.tcelldb+ // $GOPATH/terminfo/database/x/xterm.gz+ // $GOPATH/terminfo/database/x/xterm+ //+ if pth := os.Getenv("TCELLDB"); pth != "" {+ files = append(files, path.Join(pth, gzfile))+ files = append(files, path.Join(pth, jsfile))+ files = append(files, pth)+ }+ if pth := os.Getenv("HOME"); pth != "" {+ pth = path.Join(pth, ".tcelldb")+ files = append(files, path.Join(pth, gzfile))+ files = append(files, path.Join(pth, jsfile))+ files = append(files, pth)+ }++ for _, pth := range strings.Split(os.Getenv("GOPATH"), string(os.PathListSeparator)) {+ pth = path.Join(pth, "src", "github.com", "gdamore", "tcell", "terminfo", "database")+ files = append(files, path.Join(pth, gzfile))+ files = append(files, path.Join(pth, jsfile))+ }++ for _, fname := range files {+ t, _ = loadFromFile(fname, name)+ if t != nil {+ break+ }+ }+ if t != nil {+ if t.Name != name {+ // Check for a database loop (no infinite+ // recursion).+ dblock.Lock()+ if aliases[name] != "" {+ dblock.Unlock()+ return nil, ErrTermNotFound+ }+ aliases[name] = t.Name+ dblock.Unlock()+ return LookupTerminfo(t.Name)+ }+ dblock.Lock()+ terminfos[name] = t+ dblock.Unlock()+ }+ }+ if t == nil {+ return nil, ErrTermNotFound+ }+ return t, nil+}
terminfo/terminfo_test.go
@@ -0,0 +1,191 @@+// Copyright 2016 The TCell Authors+//+// Licensed under the Apache License, Version 2.0 (the "License");+// you may not use file except in compliance with the License.+// You may obtain a copy of the license at+//+// http://www.apache.org/licenses/LICENSE-2.0+//+// Unless required by applicable law or agreed to in writing, software+// distributed under the License is distributed on an "AS IS" BASIS,+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+// See the License for the specific language governing permissions and+// limitations under the License.++package terminfo++import (+ "bytes"+ "os"+ "testing"++ . "github.com/smartystreets/goconvey/convey"+)++// This terminfo entry is a stripped down version from+// xterm-256color, but I've added some of my own entries.+var testTerminfo = &Terminfo{+ Name: "simulation_test",+ Columns: 80,+ Lines: 24,+ Colors: 256,+ Bell: "\a",+ Blink: "\x1b2ms$<2>",+ Reverse: "\x1b[7m",+ SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",+ SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",+ AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",+ Mouse: "\x1b[M",+ MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",+ SetCursor: "\x1b[%i%p1%d;%p2%dH",+ PadChar: "\x00",+}++func TestTerminfo(t *testing.T) {++ ti := testTerminfo++ Convey("Terminfo parameter processing", t, func() {+ // This tests %i, and basic parameter strings too+ Convey("TGoto works", func() {+ s := ti.TGoto(7, 9)+ So(s, ShouldEqual, "\x1b[10;8H")+ })++ // This tests some conditionals+ Convey("TParm extended formats work", func() {+ s := ti.TParm("A[%p1%2.2X]B", 47)+ So(s, ShouldEqual, "A[2F]B")+ })++ // This tests some conditionals+ Convey("TParm colors work", func() {+ s := ti.TParm(ti.SetFg, 7)+ So(s, ShouldEqual, "\x1b[37m")++ s = ti.TParm(ti.SetFg, 15)+ So(s, ShouldEqual, "\x1b[97m")++ s = ti.TParm(ti.SetFg, 200)+ So(s, ShouldEqual, "\x1b[38;5;200m")+ })++ // This tests variables+ Convey("TParm mouse mode works", func() {+ s := ti.TParm(ti.MouseMode, 1)+ So(s, ShouldEqual, "\x1b[?1000h\x1b[?1003h\x1b[?1006h")+ s = ti.TParm(ti.MouseMode, 0)+ So(s, ShouldEqual, "\x1b[?1000l\x1b[?1003l\x1b[?1006l")+ })++ })++ Convey("Terminfo delay handling", t, func() {++ Convey("19200 baud", func() {+ buf := bytes.NewBuffer(nil)+ ti.TPuts(buf, ti.Blink, 19200)+ s := string(buf.Bytes())+ So(s, ShouldEqual, "\x1b2ms\x00\x00\x00\x00")+ })++ Convey("50 baud", func() {+ buf := bytes.NewBuffer(nil)+ ti.TPuts(buf, ti.Blink, 50)+ s := string(buf.Bytes())+ So(s, ShouldEqual, "\x1b2ms")+ })+ })+}++func TestTerminfoDatabase(t *testing.T) {+ Convey("Basic lookup works", t, func() {+ os.Setenv("TCELLDB", "testdata/test1")+ ti, err := LookupTerminfo("test1")+ So(err, ShouldBeNil)+ So(ti, ShouldNotBeNil)+ So(ti.Columns, ShouldEqual, 80)++ ti, err = LookupTerminfo("alias1")+ So(err, ShouldBeNil)+ So(ti, ShouldNotBeNil)+ So(ti.Columns, ShouldEqual, 80)++ os.Setenv("TCELLDB", "testdata")+ ti, err = LookupTerminfo("test2")+ So(err, ShouldBeNil)+ So(ti, ShouldNotBeNil)+ So(ti.Columns, ShouldEqual, 80)+ So(len(ti.Aliases), ShouldEqual, 1)+ So(ti.Aliases[0], ShouldEqual, "alias2")+ })++ Convey("Incorrect primary name works", t, func() {+ os.Setenv("TCELLDB", "testdata")+ ti, err := LookupTerminfo("test3")+ So(err, ShouldNotBeNil)+ So(ti, ShouldBeNil)+ })++ Convey("Loops fail", t, func() {+ os.Setenv("TCELLDB", "testdata")+ ti, err := LookupTerminfo("loop1")+ So(ti, ShouldBeNil)+ So(err, ShouldNotBeNil)+ })++ Convey("Gzip database works", t, func() {+ os.Setenv("TCELLDB", "testdata")+ ti, err := LookupTerminfo("test-gzip")+ So(err, ShouldBeNil)+ So(ti, ShouldNotBeNil)+ So(ti.Columns, ShouldEqual, 80)+ })++ Convey("Gzip alias lookup works", t, func() {+ os.Setenv("TCELLDB", "testdata")+ ti, err := LookupTerminfo("alias-gzip")+ So(err, ShouldBeNil)+ So(ti, ShouldNotBeNil)+ So(ti.Columns, ShouldEqual, 80)+ })++ Convey("Broken alias works", t, func() {+ os.Setenv("TCELLDB", "testdata")+ ti, err := LookupTerminfo("alias-none")+ So(err, ShouldNotBeNil)+ So(ti, ShouldBeNil)+ })++ Convey("Combined database works", t, func() {+ os.Setenv("TCELLDB", "testdata/combined")+ ti, err := LookupTerminfo("combined2")+ So(err, ShouldBeNil)+ So(ti, ShouldNotBeNil)+ So(ti.Lines, ShouldEqual, 102)++ ti, err = LookupTerminfo("alias-comb1")+ So(err, ShouldBeNil)+ So(ti, ShouldNotBeNil)+ So(ti.Lines, ShouldEqual, 101)++ ti, err = LookupTerminfo("combined3")+ So(err, ShouldBeNil)+ So(ti, ShouldNotBeNil)+ So(ti.Lines, ShouldEqual, 103)++ ti, err = LookupTerminfo("combined1")+ So(err, ShouldBeNil)+ So(ti, ShouldNotBeNil)+ So(ti.Lines, ShouldEqual, 101)+ })+}++func BenchmarkSetFgBg(b *testing.B) {+ ti := testTerminfo++ for i := 0; i < b.N; i++ {+ ti.TParm(ti.SetFg, 100, 200)+ ti.TParm(ti.SetBg, 100, 200)+ }+}
terminfo/testdata/a/alias-gzip
@@ -0,0 +1 @@+{"name":"test-gzip"}
terminfo/testdata/a/alias-none
@@ -0,0 +1 @@+{"name":"nomatch"}
terminfo/testdata/combined
@@ -0,0 +1,3 @@+{"name":"combined1","aliases":["alias-comb1"],"cols":80,"lines":101,"clear":"\u001b1","cup":"\u001b[%i%p1%d;%p2%d]"}+{"name":"combined2","aliases":["alias-comb2"],"cols":80,"lines":102,"clear":"\u001b1","cup":"\u001b[%i%p1%d;%p2%d]"}+{"name":"combined3","aliases":["alias-comb3"],"cols":80,"lines":103,"clear":"\u001b1","cup":"\u001b[%i%p1%d;%p2%d]"}
terminfo/testdata/l/loop1
@@ -0,0 +1 @@+{"name":"loop2"}
terminfo/testdata/l/loop2
@@ -0,0 +1 @@+{"name":"loop1"}
terminfo/testdata/t/test-gzip.gz
terminfo/testdata/t/test2
@@ -0,0 +1 @@+{"name":"test2","aliases":["alias2"],"cols":80,"lines":24,"clear":"\u001b1","cup":"\u001b[%i%p1%d;%p2%d]"}
terminfo/testdata/t/test3
@@ -0,0 +1 @@+{"name":"noname","aliases":["test3"],"cols":80,"lines":24,"clear":"\u001b1","cup":"\u001b[%i%p1%d;%p2%d]"}
terminfo/testdata/t/test4
@@ -0,0 +1 @@+{"name":"noname4","aliases":["alias4"],"cols":80,"lines":24,"clear":"\u001b1","cup":"\u001b[%i%p1%d;%p2%d]"}
terminfo/testdata/test1
@@ -0,0 +1 @@+{"name":"test1","aliases":["alias1"],"cols":80,"lines":24,"clear":"\u001b1","cup":"\u001b[%i%p1%d;%p2%d]"}
terminfo_test.go
@@ -1,107 +0,0 @@-// Copyright 2016 The TCell Authors-//-// Licensed under the Apache License, Version 2.0 (the "License");-// you may not use file except in compliance with the License.-// You may obtain a copy of the license at-//-// http://www.apache.org/licenses/LICENSE-2.0-//-// Unless required by applicable law or agreed to in writing, software-// distributed under the License is distributed on an "AS IS" BASIS,-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.-// See the License for the specific language governing permissions and-// limitations under the License.--package tcell--import (- "bytes"- "testing"-- . "github.com/smartystreets/goconvey/convey"-)--// This terminfo entry is a stripped down version from-// xterm-256color, but I've added some of my own entries.-var testTerminfo = &Terminfo{- Name: "simulation_test",- Columns: 80,- Lines: 24,- Colors: 256,- Bell: "\a",- Blink: "\x1b2ms$<2>",- Reverse: "\x1b[7m",- SetFg: "\x1b[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",- SetBg: "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m",- AltChars: "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~",- Mouse: "\x1b[M",- MouseMode: "%?%p1%{1}%=%t%'h'%Pa%e%'l'%Pa%;\x1b[?1000%ga%c\x1b[?1003%ga%c\x1b[?1006%ga%c",- SetCursor: "\x1b[%i%p1%d;%p2%dH",- PadChar: "\x00",-}--func TestTerminfo(t *testing.T) {-- ti := testTerminfo-- Convey("Terminfo parameter processing", t, func() {- // This tests %i, and basic parameter strings too- Convey("TGoto works", func() {- s := ti.TGoto(7, 9)- So(s, ShouldEqual, "\x1b[10;8H")- })-- // This tests some conditionals- Convey("TParm extended formats work", func() {- s := ti.TParm("A[%p1%2.2X]B", 47)- So(s, ShouldEqual, "A[2F]B")- })-- // This tests some conditionals- Convey("TParm colors work", func() {- s := ti.TParm(ti.SetFg, 7)- So(s, ShouldEqual, "\x1b[37m")-- s = ti.TParm(ti.SetFg, 15)- So(s, ShouldEqual, "\x1b[97m")-- s = ti.TParm(ti.SetFg, 200)- So(s, ShouldEqual, "\x1b[38;5;200m")- })-- // This tests variables- Convey("TParm mouse mode works", func() {- s := ti.TParm(ti.MouseMode, 1)- So(s, ShouldEqual, "\x1b[?1000h\x1b[?1003h\x1b[?1006h")- s = ti.TParm(ti.MouseMode, 0)- So(s, ShouldEqual, "\x1b[?1000l\x1b[?1003l\x1b[?1006l")- })-- })-- Convey("Terminfo delay handling", t, func() {-- Convey("19200 baud", func() {- buf := bytes.NewBuffer(nil)- ti.TPuts(buf, ti.Blink, 19200)- s := string(buf.Bytes())- So(s, ShouldEqual, "\x1b2ms\x00\x00\x00\x00")- })-- Convey("50 baud", func() {- buf := bytes.NewBuffer(nil)- ti.TPuts(buf, ti.Blink, 50)- s := string(buf.Bytes())- So(s, ShouldEqual, "\x1b2ms")- })- })-}--func BenchmarkSetFgBg(b *testing.B) {- ti := testTerminfo-- for i := 0; i < b.N; i++ {- ti.TParm(ti.SetFg, 100, 200)- ti.TParm(ti.SetBg, 100, 200)- }-}
@@ -24,6 +24,8 @@ import ( "unicode/utf8" "golang.org/x/text/transform"++ "github.com/gdamore/tcell/terminfo" ) // NewTerminfoScreen returns a Screen that uses the stock TTY interface@@ -35,7 +37,7 @@ import ( // $COLUMNS environment variables can be set to the actual window size, // otherwise defaults taken from the terminal database are used. func NewTerminfoScreen() (Screen, error) {- ti, e := LookupTerminfo(os.Getenv("TERM"))+ ti, e := terminfo.LookupTerminfo(os.Getenv("TERM")) if e != nil { return nil, e }@@ -65,7 +67,7 @@ type tKeyCode struct { // tScreen represents a screen backed by a terminfo implementation. type tScreen struct {- ti *Terminfo+ ti *terminfo.Terminfo h int w int fini bool