diff options
author | erw7 <erw7.github@gmail.com> | 2018-10-24 19:57:53 +0900 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2018-12-27 22:39:54 +0100 |
commit | 6c62f7b715e7cc51b534d15a981009c2d6d22a66 (patch) | |
tree | acc22327fa8c19619a726344e04c1813c3efdfb5 | |
parent | 606030155805732a0aec9da632936e87095d3974 (diff) | |
download | rneovim-6c62f7b715e7cc51b534d15a981009c2d6d22a66.tar.gz rneovim-6c62f7b715e7cc51b534d15a981009c2d6d22a66.tar.bz2 rneovim-6c62f7b715e7cc51b534d15a981009c2d6d22a66.zip |
win/TUI: builtin terminfos for cygwin, conemu, et al.
-rwxr-xr-x | scripts/update_terminfo.sh | 5 | ||||
-rw-r--r-- | scripts/windows.ti | 71 | ||||
-rw-r--r-- | src/nvim/tui/terminfo.c | 12 | ||||
-rw-r--r-- | src/nvim/tui/terminfo_defs.h | 516 | ||||
-rw-r--r-- | src/nvim/tui/tui.c | 31 |
5 files changed, 619 insertions, 16 deletions
diff --git a/scripts/update_terminfo.sh b/scripts/update_terminfo.sh index c78799a56e..87a2adaed5 100755 --- a/scripts/update_terminfo.sh +++ b/scripts/update_terminfo.sh @@ -27,6 +27,9 @@ readonly -A entries=( [vte-256color]=vte_256colour_terminfo [xterm-256color]=xterm_256colour_terminfo [cygwin]=cygwin_terminfo + [win32con]=win32con_terminfo + [conemu]=conemu_terminfo + [vtpcon]=vtpcon_terminfo ) db="$(mktemp -du)" @@ -48,7 +51,7 @@ gunzip -f terminfo.src.gz # Build terminfo database # print_bold '[*] Build terminfo database\n' -tic -x -o "$db" terminfo.src +cat terminfo.src scripts/windows.ti | tic -x -o "$db" - rm -f terminfo.src # diff --git a/scripts/windows.ti b/scripts/windows.ti new file mode 100644 index 0000000000..da643350db --- /dev/null +++ b/scripts/windows.ti @@ -0,0 +1,71 @@ +libuv+basekey|vt100 base function key for libuv, + kb2=\E[G, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, + kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~, + kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, + kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, + kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D, + kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, + khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, + +libuv+exkey|vt100 extend function key for libuv, + kf21=\E[23$, kf22=\E[24$, kf23=\E[11\^, kf24=\E[12\^, + kf25=\E[13\^, kf26=\E[14\^, kf27=\E[15\^, kf28=\E[17\^, + kf29=\E[18\^, kf30=\E[19\^, kf31=\E[20\^, kf32=\E[21\^, + kf33=\E[23\^, kf34=\E[24\^, kf35=\E[25\^, kf36=\E[26\^, + kf41=\E[32\^, kf42=\E[33\^, kf43=\E[34\^, kf44=\E[23@, + kf37=\E[28\^, kf38=\E[29\^, kf39=\E[31\^, kf45=\E[24@, + kDC=\E[3;2~, kEND=\E[4;2~, kHOM=\E[1;2~, kIC=\E[2;2~, + kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C, + +win32con|ANSI emulation for libuv on legacy console, + hs@, fsl@, tsl@, xon@, acsc@, rmacs@, smacs@, dch@, dch1@, dl@, dl1@, + ich@, ich1@, il@, il1@, ind@, invis@, ri@, rmir@, rs1@, rmul@, smir@, + smul@, smpch@, u6@, u7@, u8@, u9@, + sgr=\E[0%?%p1%t;7%;%?%p3%t;7%;%?%p6%t;1%;m, sgr0=\E[0m, + Se=\E[0 q, Ss=\E[%p1%d q, + use=cygwin, use=libuv+exkey, + +conemu|ANIS X3.64 and Xterm 256 colors for ConEmu with libuv, + ccc@, mc5i@, xenl@, acsc@, rmacs@, smacs@, blink@, cbt@, + cvvis@, cnorm=\E[?25h, dim@, flash@, hts@, initc@, invis@, is2@, + kf46@, kf47@, kf48@, kf49@, kf50@, kf51@, kf52@, kf53@, kf54@, + kf55@, kf56@, kf57@, kf58@, kf59@, kf60@, kf61@, kf62@, kf63@, kmous@, + mc0@, mc4@, mc5@, meml@, memu@, oc@, rmam@, rmcup=\E[?1049l, + smcup=\E[?1049h, rmir@, rmkx@, rmm@, rs1@, rs2@, + setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm, + sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p6%t;1%;m, + sgr0=\E[0m, smam@, smir@, smkx@, smm@, tbc@, u6@, u7@, u8@, u9@, + Cr@, Cs@, Ms@, XM@, kDC3@, kDC4@, kDC5@, kDC6@, kDC7@, + kDN@, kDN3@, kDN4@, kDN5@, kDN6@, kDN7@, + kEND3@, kEND4@, kEND5@, kEND6@, kEND7@, + kHOM3@, kHOM4@, kHOM5@, kHOM6@, kHOM7@, + kIC3@, kIC4@, kIC5@, kIC6@, kIC7@, + kLFT3@, kLFT4@, kLFT5@, kLFT6@, kLFT7@, + kNXT3@, kNXT4@, kNXT5@, kNXT6@, kNXT7@, + kPRV3@, kPRV4@, kPRV5@, kPRV6@, kPRV7@, + kRIT3@, kRIT4@, kRIT5@, kRIT6@, kRIT7@, + kUP3@, kUP4@, kUP5@, kUP6@, kUP7@, rmxx@, smxx@, xm@, + use=libuv+basekey, use=libuv+exkey, use=xterm+256color, use=xterm-new, + +vtpcon|ANIS emulation for console virtual terminal sequence with libuv, + ccc@, mc5i@, xenl@, blink@, acsc=jjkkllmmnnqqttuuvvwwxx, + cvvis@, dim@, flash@, + initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E, + invis@, is2=\E[!p\E[?3l, + kf46@, kf47@, kf48@, kf49@, kf50@, kf51@, kf52@, kf53@, kf54@, + kf55@, kf56@, kf57@, kf58@, kf59@, kf60@, kf61@, kf62@, kf63@, kmous@, + mc0@, mc4@, mc5@, meml@, memu@, oc@, rmam@, rmcup=\E[?1049l, + smcup=\E[?1049h, rmir@, rmkx@, rmm@, rs1@, rs2@, + sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p6%t;1%;m, + sgr0=\E[0m, smam@, smir@, smkx@, smm@, tbc@, u6@, u7@, u8@, u9@, + Cr@, Cs@, Ms@, XM@, kDC3@, kDC4@, kDC5@, kDC6@, kDC7@, + kDN@, kDN3@, kDN4@, kDN5@, kDN6@, kDN7@, + kEND3@, kEND4@, kEND5@, kEND6@, kEND7@, + kHOM3@, kHOM4@, kHOM5@, kHOM6@, kHOM7@, + kIC3@, kIC4@, kIC5@, kIC6@, kIC7@, + kLFT3@, kLFT4@, kLFT5@, kLFT6@, kLFT7@, + kNXT3@, kNXT4@, kNXT5@, kNXT6@, kNXT7@, + kPRV3@, kPRV4@, kPRV5@, kPRV6@, kPRV7@, + kRIT3@, kRIT4@, kRIT5@, kRIT6@, kRIT7@, + kUP3@, kUP4@, kUP5@, kUP6@, kUP7@, rmxx@, smxx@, xm@, + use=libuv+basekey, use=libuv+exkey, use=xterm+256color, use=xterm-new, diff --git a/src/nvim/tui/terminfo.c b/src/nvim/tui/terminfo.c index bd17c1e746..42237903ea 100644 --- a/src/nvim/tui/terminfo.c +++ b/src/nvim/tui/terminfo.c @@ -90,6 +90,18 @@ static unibi_term *terminfo_builtin(const char *term, char **termname) *termname = xstrdup("builtin_cygwin"); return unibi_from_mem((const char *)cygwin_terminfo, sizeof cygwin_terminfo); + } else if (terminfo_is_term_family(term, "win32con")) { + *termname = xstrdup("builtin_win32con"); + return unibi_from_mem((const char *)win32con_terminfo, + sizeof win32con_terminfo); + } else if (terminfo_is_term_family(term, "conemu")) { + *termname = xstrdup("builtin_conemu"); + return unibi_from_mem((const char *)conemu_terminfo, + sizeof conemu_terminfo); + } else if (terminfo_is_term_family(term, "vtpcon")) { + *termname = xstrdup("builtin_vtpcon"); + return unibi_from_mem((const char *)vtpcon_terminfo, + sizeof vtpcon_terminfo); } else { *termname = xstrdup("builtin_ansi"); return unibi_from_mem((const char *)ansi_terminfo, diff --git a/src/nvim/tui/terminfo_defs.h b/src/nvim/tui/terminfo_defs.h index eaa0f73d12..8f855e2d23 100644 --- a/src/nvim/tui/terminfo_defs.h +++ b/src/nvim/tui/terminfo_defs.h @@ -97,6 +97,196 @@ static const int8_t ansi_terminfo[] = { 26,1,40,0,38,0,16,0,125,1,68,2,97,110,115,105,124,97,110,115,105,47,112,99,45,116,101,114,109,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,99,111,108,111,114,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,80,0,8,0,24,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,0,64,0,3,0,0,0,4,0,6,0,-1,-1,8,0,13,0,20,0,24,0,28,0,-1,-1,39,0,56,0,60,0,-1,-1,64,0,-1,-1,-1,-1,68,0,-1,-1,72,0,-1,-1,76,0,80,0,-1,-1,-1,-1,84,0,90,0,95,0,-1,-1,-1,-1,-1,-1,-1,-1,100,0,-1,-1,105,0,110,0,115,0,120,0,-127,0,-121,0,-1,-1,-1,-1,-1,-1,-113,0,-109,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-105,0,-1,-1,-101,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-99,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-95,0,-91,0,-1,-1,-87,0,-1,-1,-1,-1,-1,-1,-83,0,-1,-1,-1,-1,-1,-1,-79,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-75,0,-1,-1,-70,0,-61,0,-52,0,-43,0,-34,0,-25,0,-16,0,-7,0,2,1,11,1,-1,-1,-1,-1,-1,-1,-1,-1,20,1,25,1,30,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,50,1,-1,-1,61,1,-1,-1,63,1,-107,1,-1,-1,-104,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-100,1,-1,-1,-37,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-33,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-28,1,-17,1,-12,1,7,2,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,20,2,30,2,-1,-1,-1,-1,-1,-1,40,2,44,2,48,2,52,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,56,2,62,2,27,91,90,0,7,0,13,0,27,91,51,103,0,27,91,72,27,91,74,0,27,91,75,0,27,91,74,0,27,91,37,105,37,112,49,37,100,71,0,27,91,37,105,37,112,49,37,100,59,37,112,50,37,100,72,0,27,91,66,0,27,91,72,0,27,91,68,0,27,91,67,0,27,91,65,0,27,91,80,0,27,91,77,0,27,91,49,49,109,0,27,91,53,109,0,27,91,49,109,0,27,91,56,109,0,27,91,55,109,0,27,91,55,109,0,27,91,52,109,0,27,91,37,112,49,37,100,88,0,27,91,49,48,109,0,27,91,48,59,49,48,109,0,27,91,109,0,27,91,109,0,27,91,76,0,8,0,27,91,66,0,27,91,72,0,27,91,76,0,27,91,68,0,27,91,67,0,27,91,65,0,13,27,91,83,0,27,91,37,112,49,37,100,80,0,27,91,37,112,49,37,100,77,0,27,91,37,112,49,37,100,66,0,27,91,37,112,49,37,100,64,0,27,91,37,112,49,37,100,83,0,27,91,37,112,49,37,100,76,0,27,91,37,112,49,37,100,68,0,27,91,37,112,49,37,100,67,0,27,91,37,112,49,37,100,84,0,27,91,37,112,49,37,100,65,0,27,91,52,105,0,27,91,53,105,0,37,112,49,37,99,27,91,37,112,50,37,123,49,125,37,45,37,100,98,0,27,91,37,105,37,112,49,37,100,100,0,10,0,27,91,48,59,49,48,37,63,37,112,49,37,116,59,55,37,59,37,63,37,112,50,37,116,59,52,37,59,37,63,37,112,51,37,116,59,55,37,59,37,63,37,112,52,37,116,59,53,37,59,37,63,37,112,54,37,116,59,49,37,59,37,63,37,112,55,37,116,59,56,37,59,37,63,37,112,57,37,116,59,49,49,37,59,109,0,27,72,0,27,91,73,0,43,16,44,17,45,24,46,25,48,-37,96,4,97,-79,102,-8,103,-15,104,-80,106,-39,107,-65,108,-38,109,-64,110,-59,111,126,112,-60,113,-60,114,-60,115,95,116,-61,117,-76,118,-63,119,-62,120,-77,121,-13,122,-14,123,-29,124,-40,125,-100,126,-2,0,27,91,90,0,27,91,49,75,0,27,91,37,105,37,100,59,37,100,82,0,27,91,54,110,0,27,91,63,37,91,59,48,49,50,51,52,53,54,55,56,57,93,99,0,27,91,99,0,27,91,51,57,59,52,57,109,0,27,91,51,37,112,49,37,100,109,0,27,91,52,37,112,49,37,100,109,0,27,40,66,0,27,41,66,0,27,42,66,0,27,43,66,0,27,91,49,49,109,0,27,91,49,48,109,0,1,0,0,0,0,0,1,0,3,0,1,0,0,0,65,88,0 }; +// conemu|ANIS X3.64 and Xterm 256 colors for ConEmu with libuv, +// auto_right_margin, +// back_color_erase, +// backspaces_with_bs, +// has_meta_key, +// move_insert_mode, +// move_standout_mode, +// no_pad_char, +// columns#80, +// init_tabs#8, +// lines#24, +// max_colors#0x100, +// max_pairs#0x10000, +// acs_chars@, +// back_tab@, +// bell=^G, +// carriage_return=\r, +// change_scroll_region=\E[%i%p1%d;%p2%dr, +// clear_all_tabs@, +// clear_screen=\E[H\E[2J, +// clr_bol=\E[1K, +// clr_eol=\E[K, +// clr_eos=\E[J, +// column_address=\E[%i%p1%dG, +// cursor_address=\E[%i%p1%d;%p2%dH, +// cursor_down=\n, +// cursor_home=\E[H, +// cursor_invisible=\E[?25l, +// cursor_left=^H, +// cursor_normal=\E[?25h, +// cursor_right=\E[C, +// cursor_up=\E[A, +// cursor_visible@, +// delete_character=\E[P, +// delete_line=\E[M, +// enter_alt_charset_mode@, +// enter_am_mode@, +// enter_blink_mode@, +// enter_bold_mode=\E[1m, +// enter_ca_mode=\E[?1049h, +// enter_dim_mode@, +// enter_insert_mode@, +// enter_italics_mode=\E[3m, +// enter_reverse_mode=\E[7m, +// enter_secure_mode@, +// enter_standout_mode=\E[7m, +// enter_underline_mode=\E[4m, +// erase_chars=\E[%p1%dX, +// exit_alt_charset_mode@, +// exit_am_mode@, +// exit_attribute_mode=\E[0m, +// exit_ca_mode=\E[?1049l, +// exit_insert_mode@, +// exit_italics_mode=\E[23m, +// exit_standout_mode=\E[27m, +// exit_underline_mode=\E[24m, +// flash_screen@, +// init_2string@, +// initialize_color@, +// insert_line=\E[L, +// key_b2=\E[G, +// key_backspace=^H, +// key_btab=\E[Z, +// key_dc=\E[3~, +// key_down=\E[B, +// key_end=\E[4~, +// key_enter=\EOM, +// key_f1=\E[[A, +// key_f10=\E[21~, +// key_f11=\E[23~, +// key_f12=\E[24~, +// key_f13=\E[25~, +// key_f14=\E[26~, +// key_f15=\E[28~, +// key_f16=\E[29~, +// key_f17=\E[31~, +// key_f18=\E[32~, +// key_f19=\E[33~, +// key_f2=\E[[B, +// key_f20=\E[34~, +// key_f21=\E[23$, +// key_f22=\E[24$, +// key_f23=\E[11\136, +// key_f24=\E[12\136, +// key_f25=\E[13\136, +// key_f26=\E[14\136, +// key_f27=\E[15\136, +// key_f28=\E[17\136, +// key_f29=\E[18\136, +// key_f3=\E[[C, +// key_f30=\E[19\136, +// key_f31=\E[20\136, +// key_f32=\E[21\136, +// key_f33=\E[23\136, +// key_f34=\E[24\136, +// key_f35=\E[25\136, +// key_f36=\E[26\136, +// key_f37=\E[28\136, +// key_f38=\E[29\136, +// key_f39=\E[31\136, +// key_f4=\E[[D, +// key_f40=\E[1;6S, +// key_f41=\E[32\136, +// key_f42=\E[33\136, +// key_f43=\E[34\136, +// key_f44=\E[23@, +// key_f45=\E[24@, +// key_f46@, +// key_f47@, +// key_f48@, +// key_f49@, +// key_f5=\E[[E, +// key_f50@, +// key_f51@, +// key_f52@, +// key_f53@, +// key_f54@, +// key_f55@, +// key_f56@, +// key_f57@, +// key_f58@, +// key_f59@, +// key_f6=\E[17~, +// key_f60@, +// key_f61@, +// key_f62@, +// key_f63@, +// key_f7=\E[18~, +// key_f8=\E[19~, +// key_f9=\E[20~, +// key_home=\E[1~, +// key_ic=\E[2~, +// key_left=\E[D, +// key_mouse@, +// key_npage=\E[6~, +// key_ppage=\E[5~, +// key_right=\E[C, +// key_sdc=\E[3;2~, +// key_send=\E[4;2~, +// key_sf=\E[1;2B, +// key_shome=\E[1;2~, +// key_sic=\E[2;2~, +// key_sleft=\E[1;2D, +// key_snext=\E[6;2~, +// key_sprevious=\E[5;2~, +// key_sr=\E[1;2A, +// key_sright=\E[1;2C, +// key_up=\E[A, +// keypad_local@, +// keypad_xmit@, +// memory_lock@, +// memory_unlock@, +// meta_off@, +// meta_on@, +// orig_colors@, +// orig_pair=\E[39;49m, +// parm_dch=\E[%p1%dP, +// parm_delete_line=\E[%p1%dM, +// parm_down_cursor=\E[%p1%dB, +// parm_ich=\E[%p1%d@, +// parm_index=\E[%p1%dS, +// parm_insert_line=\E[%p1%dL, +// parm_left_cursor=\E[%p1%dD, +// parm_right_cursor=\E[%p1%dC, +// parm_rindex=\E[%p1%dT, +// parm_up_cursor=\E[%p1%dA, +// print_screen@, +// prtr_off@, +// prtr_on@, +// repeat_char=%p1%c\E[%p2%{1}%-%db, +// reset_1string@, +// reset_2string@, +// restore_cursor=\E8, +// row_address=\E[%i%p1%dd, +// save_cursor=\E7, +// scroll_forward=\n, +// scroll_reverse=\EM, +// set_a_background=\E[48;5;%p1%dm, +// set_a_foreground=\E[38;5;%p1%dm, +// set_attributes=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p6%t;1%;m, +// set_tab@, +// tab=^I, +// user6@, +// user7@, +// user8@, +// user9@, +static const int8_t conemu_terminfo[] = { + 30,2,61,0,38,0,15,0,-99,1,29,3,99,111,110,101,109,117,124,65,78,73,83,32,88,51,46,54,52,32,97,110,100,32,88,116,101,114,109,32,50,53,54,32,99,111,108,111,114,115,32,102,111,114,32,67,111,110,69,109,117,32,119,105,116,104,32,108,105,98,117,118,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,80,0,0,0,8,0,0,0,24,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,0,0,0,0,1,0,-2,-1,0,0,2,0,4,0,-2,-1,21,0,29,0,33,0,37,0,-1,-1,48,0,65,0,67,0,71,0,78,0,-1,-1,80,0,87,0,-1,-1,91,0,-2,-1,95,0,99,0,-1,-1,-1,-1,-2,-1,-2,-1,103,0,108,0,-1,-1,-2,-1,-2,-1,-2,-1,-1,-1,117,0,122,0,127,0,-124,0,-2,-1,-115,0,-110,0,-1,-1,-2,-1,-101,0,-95,0,-2,-1,-1,-1,-1,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-89,0,-1,-1,-85,0,-1,-1,-1,-1,-1,-1,-83,0,-1,-1,-78,0,-1,-1,-1,-1,-1,-1,-1,-1,-74,0,-69,0,-63,0,-58,0,-53,0,-48,0,-43,0,-37,0,-31,0,-25,0,-19,0,-14,0,-1,-1,-9,0,-1,-1,-5,0,0,1,5,1,9,1,16,1,-1,-1,23,1,-2,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,-1,-1,-1,-1,27,1,36,1,45,1,54,1,63,1,72,1,81,1,90,1,99,1,108,1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,-2,-1,117,1,-2,-1,-2,-1,-1,-1,-1,-1,-119,1,-116,1,-105,1,-102,1,-100,1,-97,1,-2,-1,-1,-1,-54,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-52,1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-1,-1,-48,1,-1,-1,-1,-1,-2,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-44,1,-39,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-35,1,-1,-1,-1,-1,-28,1,-1,-1,-1,-1,-1,-1,-1,-1,-21,1,-14,1,-7,1,-1,-1,-1,-1,0,2,-1,-1,7,2,-1,-1,-1,-1,-1,-1,14,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,21,2,27,2,33,2,39,2,45,2,51,2,57,2,63,2,69,2,75,2,81,2,87,2,93,2,99,2,105,2,111,2,117,2,123,2,-127,2,-121,2,-115,2,-109,2,-103,2,-97,2,-91,2,-85,2,-79,2,-73,2,-67,2,-61,2,-54,2,-48,2,-42,2,-36,2,-30,2,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-24,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,-2,-1,-2,-1,-19,2,-2,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-10,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-5,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,1,3,15,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,7,0,13,0,27,91,37,105,37,112,49,37,100,59,37,112,50,37,100,114,0,27,91,72,27,91,50,74,0,27,91,75,0,27,91,74,0,27,91,37,105,37,112,49,37,100,71,0,27,91,37,105,37,112,49,37,100,59,37,112,50,37,100,72,0,10,0,27,91,72,0,27,91,63,50,53,108,0,8,0,27,91,63,50,53,104,0,27,91,67,0,27,91,65,0,27,91,80,0,27,91,77,0,27,91,49,109,0,27,91,63,49,48,52,57,104,0,27,91,55,109,0,27,91,55,109,0,27,91,52,109,0,27,91,37,112,49,37,100,88,0,27,91,48,109,0,27,91,63,49,48,52,57,108,0,27,91,50,55,109,0,27,91,50,52,109,0,27,91,76,0,8,0,27,91,51,126,0,27,91,66,0,27,91,91,65,0,27,91,50,49,126,0,27,91,91,66,0,27,91,91,67,0,27,91,91,68,0,27,91,91,69,0,27,91,49,55,126,0,27,91,49,56,126,0,27,91,49,57,126,0,27,91,50,48,126,0,27,91,49,126,0,27,91,50,126,0,27,91,68,0,27,91,54,126,0,27,91,53,126,0,27,91,67,0,27,91,49,59,50,66,0,27,91,49,59,50,65,0,27,91,65,0,27,91,37,112,49,37,100,80,0,27,91,37,112,49,37,100,77,0,27,91,37,112,49,37,100,66,0,27,91,37,112,49,37,100,64,0,27,91,37,112,49,37,100,83,0,27,91,37,112,49,37,100,76,0,27,91,37,112,49,37,100,68,0,27,91,37,112,49,37,100,67,0,27,91,37,112,49,37,100,84,0,27,91,37,112,49,37,100,65,0,37,112,49,37,99,27,91,37,112,50,37,123,49,125,37,45,37,100,98,0,27,56,0,27,91,37,105,37,112,49,37,100,100,0,27,55,0,10,0,27,77,0,27,91,48,37,63,37,112,49,37,112,51,37,124,37,116,59,55,37,59,37,63,37,112,50,37,116,59,52,37,59,37,63,37,112,54,37,116,59,49,37,59,109,0,9,0,27,91,71,0,27,91,90,0,27,91,52,126,0,27,79,77,0,27,91,51,59,50,126,0,27,91,52,59,50,126,0,27,91,49,59,50,126,0,27,91,50,59,50,126,0,27,91,49,59,50,68,0,27,91,54,59,50,126,0,27,91,53,59,50,126,0,27,91,49,59,50,67,0,27,91,50,51,126,0,27,91,50,52,126,0,27,91,50,53,126,0,27,91,50,54,126,0,27,91,50,56,126,0,27,91,50,57,126,0,27,91,51,49,126,0,27,91,51,50,126,0,27,91,51,51,126,0,27,91,51,52,126,0,27,91,50,51,36,0,27,91,50,52,36,0,27,91,49,49,94,0,27,91,49,50,94,0,27,91,49,51,94,0,27,91,49,52,94,0,27,91,49,53,94,0,27,91,49,55,94,0,27,91,49,56,94,0,27,91,49,57,94,0,27,91,50,48,94,0,27,91,50,49,94,0,27,91,50,51,94,0,27,91,50,52,94,0,27,91,50,53,94,0,27,91,50,54,94,0,27,91,50,56,94,0,27,91,50,57,94,0,27,91,51,49,94,0,27,91,49,59,54,83,0,27,91,51,50,94,0,27,91,51,51,94,0,27,91,51,52,94,0,27,91,50,51,64,0,27,91,50,52,64,0,27,91,49,75,0,27,91,51,57,59,52,57,109,0,27,91,51,109,0,27,91,50,51,109,0,27,91,51,56,59,53,59,37,112,49,37,100,109,0,27,91,52,56,59,53,59,37,112,49,37,100,109,0,0,3,0,1,0,73,0,-106,0,-101,1,1,0,1,0,-1,-1,-1,-1,-2,-1,-2,-1,-1,-1,0,0,-2,-1,-1,-1,5,0,11,0,-1,-1,-2,-1,-1,-1,-1,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-1,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-1,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,21,0,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,-2,-1,0,0,3,0,6,0,9,0,12,0,15,0,18,0,21,0,24,0,27,0,30,0,33,0,36,0,39,0,42,0,48,0,54,0,59,0,64,0,69,0,74,0,79,0,83,0,88,0,93,0,98,0,103,0,108,0,114,0,120,0,126,0,-124,0,-118,0,-112,0,-106,0,-100,0,-94,0,-88,0,-82,0,-76,0,-71,0,-66,0,-61,0,-56,0,-51,0,-45,0,-39,0,-33,0,-27,0,-21,0,-15,0,-9,0,-3,0,3,1,9,1,15,1,21,1,27,1,33,1,39,1,45,1,51,1,57,1,63,1,69,1,73,1,78,1,83,1,88,1,93,1,98,1,102,1,106,1,110,1,114,1,119,1,124,1,27,91,51,74,0,27,91,50,32,113,0,27,91,37,112,49,37,100,32,113,0,27,91,49,59,50,65,0,65,88,0,71,48,0,88,84,0,85,56,0,67,114,0,67,115,0,69,48,0,69,51,0,77,115,0,83,48,0,83,101,0,83,115,0,84,83,0,88,77,0,103,114,98,111,109,0,103,115,98,111,109,0,107,68,67,51,0,107,68,67,52,0,107,68,67,53,0,107,68,67,54,0,107,68,67,55,0,107,68,78,0,107,68,78,51,0,107,68,78,52,0,107,68,78,53,0,107,68,78,54,0,107,68,78,55,0,107,69,78,68,51,0,107,69,78,68,52,0,107,69,78,68,53,0,107,69,78,68,54,0,107,69,78,68,55,0,107,69,78,68,56,0,107,72,79,77,51,0,107,72,79,77,52,0,107,72,79,77,53,0,107,72,79,77,54,0,107,72,79,77,55,0,107,72,79,77,56,0,107,73,67,51,0,107,73,67,52,0,107,73,67,53,0,107,73,67,54,0,107,73,67,55,0,107,76,70,84,51,0,107,76,70,84,52,0,107,76,70,84,53,0,107,76,70,84,54,0,107,76,70,84,55,0,107,78,88,84,51,0,107,78,88,84,52,0,107,78,88,84,53,0,107,78,88,84,54,0,107,78,88,84,55,0,107,80,82,86,51,0,107,80,82,86,52,0,107,80,82,86,53,0,107,80,82,86,54,0,107,80,82,86,55,0,107,82,73,84,51,0,107,82,73,84,52,0,107,82,73,84,53,0,107,82,73,84,54,0,107,82,73,84,55,0,107,85,80,0,107,85,80,51,0,107,85,80,52,0,107,85,80,53,0,107,85,80,54,0,107,85,80,55,0,107,97,50,0,107,98,49,0,107,98,51,0,107,99,50,0,114,109,120,120,0,115,109,120,120,0,120,109,0 +}; + // cygwin|ANSI emulation for Cygwin, // auto_right_margin, // has_status_line, @@ -1565,6 +1755,332 @@ static const int8_t vte_256colour_terminfo[] = { 30,2,39,0,38,0,15,0,-99,1,-49,5,118,116,101,45,50,53,54,99,111,108,111,114,124,86,84,69,32,119,105,116,104,32,120,116,101,114,109,32,50,53,54,45,99,111,108,111,114,115,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,80,0,0,0,8,0,0,0,24,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,0,0,0,0,1,0,0,0,4,0,6,0,8,0,25,0,30,0,38,0,42,0,46,0,-1,-1,57,0,74,0,76,0,80,0,87,0,-1,-1,89,0,96,0,-1,-1,100,0,-1,-1,104,0,108,0,-1,-1,-1,-1,112,0,-1,-1,114,0,119,0,-1,-1,-128,0,-123,0,-118,0,-1,-1,-113,0,-108,0,-103,0,-98,0,-89,0,-87,0,-81,0,-1,-1,-68,0,-63,0,-57,0,-51,0,-1,-1,-1,-1,-1,-1,-33,0,-1,-1,-1,-1,-1,-1,0,1,-1,-1,4,1,-1,-1,-1,-1,-1,-1,6,1,-1,-1,11,1,-1,-1,-1,-1,-1,-1,-1,-1,15,1,19,1,25,1,29,1,33,1,37,1,43,1,49,1,55,1,61,1,67,1,71,1,-1,-1,76,1,-1,-1,80,1,85,1,90,1,94,1,101,1,-1,-1,108,1,112,1,120,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-128,1,-119,1,-110,1,-101,1,-92,1,-83,1,-74,1,-65,1,-56,1,-47,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-38,1,-35,1,-1,-1,-1,-1,16,2,19,2,30,2,33,2,35,2,38,2,116,2,-1,-1,119,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,121,2,-1,-1,-1,-1,-1,-1,-1,-1,125,2,-1,-1,-78,2,-1,-1,-1,-1,-74,2,-68,2,-1,-1,-1,-1,-62,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-58,2,-54,2,-1,-1,-50,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-45,2,-1,-1,-38,2,-33,2,-1,-1,-1,-1,-1,-1,-1,-1,-26,2,-19,2,-12,2,-1,-1,-1,-1,-5,2,-1,-1,2,3,-1,-1,-1,-1,-1,-1,9,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,16,3,22,3,28,3,35,3,42,3,49,3,56,3,64,3,72,3,80,3,88,3,96,3,104,3,112,3,120,3,127,3,-122,3,-115,3,-108,3,-100,3,-92,3,-84,3,-76,3,-68,3,-60,3,-52,3,-44,3,-37,3,-30,3,-23,3,-16,3,-8,3,0,4,8,4,16,4,24,4,32,4,40,4,48,4,55,4,62,4,69,4,76,4,84,4,92,4,100,4,108,4,116,4,124,4,-124,4,-116,4,-109,4,-102,4,-95,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-90,4,-79,4,-74,4,-55,4,-51,4,-42,4,-35,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,59,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,64,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,70,5,-1,-1,-1,-1,-1,-1,74,5,-119,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-55,5,-52,5,27,91,90,0,7,0,13,0,27,91,37,105,37,112,49,37,100,59,37,112,50,37,100,114,0,27,91,51,103,0,27,91,72,27,91,50,74,0,27,91,75,0,27,91,74,0,27,91,37,105,37,112,49,37,100,71,0,27,91,37,105,37,112,49,37,100,59,37,112,50,37,100,72,0,10,0,27,91,72,0,27,91,63,50,53,108,0,8,0,27,91,63,50,53,104,0,27,91,67,0,27,91,65,0,27,91,80,0,27,91,77,0,14,0,27,91,49,109,0,27,55,27,91,63,52,55,104,0,27,91,50,109,0,27,91,52,104,0,27,91,56,109,0,27,91,55,109,0,27,91,55,109,0,27,91,52,109,0,27,91,37,112,49,37,100,88,0,15,0,27,91,48,109,15,0,27,91,50,74,27,91,63,52,55,108,27,56,0,27,91,52,108,0,27,91,50,55,109,0,27,91,50,52,109,0,27,91,63,53,104,36,60,49,48,48,47,62,27,91,63,53,108,0,27,91,109,27,91,63,55,104,27,91,52,108,27,62,27,55,27,91,114,27,91,63,49,59,51,59,52,59,54,108,27,56,0,27,91,76,0,127,0,27,91,51,126,0,27,79,66,0,27,79,80,0,27,91,50,49,126,0,27,79,81,0,27,79,82,0,27,79,83,0,27,91,49,53,126,0,27,91,49,55,126,0,27,91,49,56,126,0,27,91,49,57,126,0,27,91,50,48,126,0,27,79,72,0,27,91,50,126,0,27,79,68,0,27,91,54,126,0,27,91,53,126,0,27,79,67,0,27,91,49,59,50,66,0,27,91,49,59,50,65,0,27,79,65,0,27,91,63,49,108,27,62,0,27,91,63,49,104,27,61,0,27,91,37,112,49,37,100,80,0,27,91,37,112,49,37,100,77,0,27,91,37,112,49,37,100,66,0,27,91,37,112,49,37,100,64,0,27,91,37,112,49,37,100,83,0,27,91,37,112,49,37,100,76,0,27,91,37,112,49,37,100,68,0,27,91,37,112,49,37,100,67,0,27,91,37,112,49,37,100,84,0,27,91,37,112,49,37,100,65,0,27,99,0,27,55,27,91,114,27,56,27,91,109,27,91,63,55,104,27,91,33,112,27,91,63,49,59,51,59,52,59,54,108,27,91,52,108,27,62,27,91,63,49,48,48,48,108,27,91,63,50,53,104,0,27,56,0,27,91,37,105,37,112,49,37,100,100,0,27,55,0,10,0,27,77,0,27,91,48,37,63,37,112,54,37,116,59,49,37,59,37,63,37,112,50,37,116,59,52,37,59,37,63,37,112,53,37,116,59,50,37,59,37,63,37,112,55,37,116,59,56,37,59,37,63,37,112,49,37,112,51,37,124,37,116,59,55,37,59,109,37,63,37,112,57,37,116,14,37,101,15,37,59,0,27,72,0,9,0,27,91,69,0,96,96,97,97,102,102,103,103,105,105,106,106,107,107,108,108,109,109,110,110,111,111,112,112,113,113,114,114,115,115,116,116,117,117,118,118,119,119,120,120,121,121,122,122,123,123,124,124,125,125,126,126,0,27,91,90,0,27,91,63,55,104,0,27,91,63,55,108,0,27,41,48,0,27,79,70,0,27,79,77,0,27,91,49,126,0,27,91,51,59,50,126,0,27,91,52,126,0,27,91,49,59,50,70,0,27,91,49,59,50,72,0,27,91,50,59,50,126,0,27,91,49,59,50,68,0,27,91,54,59,50,126,0,27,91,53,59,50,126,0,27,91,49,59,50,67,0,27,91,50,51,126,0,27,91,50,52,126,0,27,91,49,59,50,80,0,27,91,49,59,50,81,0,27,91,49,59,50,82,0,27,91,49,59,50,83,0,27,91,49,53,59,50,126,0,27,91,49,55,59,50,126,0,27,91,49,56,59,50,126,0,27,91,49,57,59,50,126,0,27,91,50,48,59,50,126,0,27,91,50,49,59,50,126,0,27,91,50,51,59,50,126,0,27,91,50,52,59,50,126,0,27,91,49,59,53,80,0,27,91,49,59,53,81,0,27,91,49,59,53,82,0,27,91,49,59,53,83,0,27,91,49,53,59,53,126,0,27,91,49,55,59,53,126,0,27,91,49,56,59,53,126,0,27,91,49,57,59,53,126,0,27,91,50,48,59,53,126,0,27,91,50,49,59,53,126,0,27,91,50,51,59,53,126,0,27,91,50,52,59,53,126,0,27,91,49,59,54,80,0,27,91,49,59,54,81,0,27,91,49,59,54,82,0,27,91,49,59,54,83,0,27,91,49,53,59,54,126,0,27,91,49,55,59,54,126,0,27,91,49,56,59,54,126,0,27,91,49,57,59,54,126,0,27,91,50,48,59,54,126,0,27,91,50,49,59,54,126,0,27,91,50,51,59,54,126,0,27,91,50,52,59,54,126,0,27,91,49,59,51,80,0,27,91,49,59,51,81,0,27,91,49,59,51,82,0,27,91,49,59,51,83,0,27,91,49,53,59,51,126,0,27,91,49,55,59,51,126,0,27,91,49,56,59,51,126,0,27,91,49,57,59,51,126,0,27,91,50,48,59,51,126,0,27,91,50,49,59,51,126,0,27,91,50,51,59,51,126,0,27,91,50,52,59,51,126,0,27,91,49,59,52,80,0,27,91,49,59,52,81,0,27,91,49,59,52,82,0,27,91,49,75,0,27,91,37,105,37,100,59,37,100,82,0,27,91,54,110,0,27,91,63,37,91,59,48,49,50,51,52,53,54,55,56,57,93,99,0,27,91,99,0,27,91,51,57,59,52,57,109,0,27,93,49,48,52,7,0,27,93,52,59,37,112,49,37,100,59,114,103,98,58,37,112,50,37,123,50,53,53,125,37,42,37,123,49,48,48,48,125,37,47,37,50,46,50,88,47,37,112,51,37,123,50,53,53,125,37,42,37,123,49,48,48,48,125,37,47,37,50,46,50,88,47,37,112,52,37,123,50,53,53,125,37,42,37,123,49,48,48,48,125,37,47,37,50,46,50,88,27,92,0,27,91,51,109,0,27,91,50,51,109,0,27,91,60,0,27,91,37,63,37,112,49,37,123,56,125,37,60,37,116,51,37,112,49,37,100,37,101,37,112,49,37,123,49,54,125,37,60,37,116,57,37,112,49,37,123,56,125,37,45,37,100,37,101,51,56,59,53,59,37,112,49,37,100,37,59,109,0,27,91,37,63,37,112,49,37,123,56,125,37,60,37,116,52,37,112,49,37,100,37,101,37,112,49,37,123,49,54,125,37,60,37,116,49,48,37,112,49,37,123,56,125,37,45,37,100,37,101,52,56,59,53,59,37,112,49,37,100,37,59,109,0,27,108,0,27,109,0,0,3,0,1,0,73,0,-106,0,57,3,0,0,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,-1,-1,-1,32,0,39,0,46,0,53,0,60,0,67,0,74,0,81,0,88,0,95,0,102,0,109,0,116,0,123,0,-126,0,-119,0,-1,-1,-112,0,-105,0,-98,0,-91,0,-84,0,-1,-1,-77,0,-70,0,-63,0,-56,0,-49,0,-42,0,-35,0,-28,0,-21,0,-14,0,-7,0,0,1,7,1,14,1,21,1,28,1,35,1,42,1,49,1,56,1,63,1,70,1,77,1,84,1,91,1,98,1,105,1,112,1,119,1,126,1,-123,1,-1,-1,-1,-1,-1,-1,-1,-1,-116,1,-110,1,-105,1,0,0,3,0,6,0,9,0,12,0,15,0,18,0,21,0,24,0,27,0,30,0,33,0,36,0,39,0,42,0,48,0,54,0,59,0,64,0,69,0,74,0,79,0,83,0,88,0,93,0,98,0,103,0,108,0,114,0,120,0,126,0,-124,0,-118,0,-112,0,-106,0,-100,0,-94,0,-88,0,-82,0,-76,0,-71,0,-66,0,-61,0,-56,0,-51,0,-45,0,-39,0,-33,0,-27,0,-21,0,-15,0,-9,0,-3,0,3,1,9,1,15,1,21,1,27,1,33,1,39,1,45,1,51,1,57,1,63,1,69,1,73,1,78,1,83,1,88,1,93,1,98,1,102,1,106,1,110,1,114,1,119,1,124,1,27,91,63,49,48,48,54,59,49,48,48,48,37,63,37,112,49,37,123,49,125,37,61,37,116,104,37,101,108,37,59,0,27,91,51,59,51,126,0,27,91,51,59,52,126,0,27,91,51,59,53,126,0,27,91,51,59,54,126,0,27,91,51,59,55,126,0,27,91,49,59,50,66,0,27,91,49,59,51,66,0,27,91,49,59,52,66,0,27,91,49,59,53,66,0,27,91,49,59,54,66,0,27,91,49,59,55,66,0,27,91,49,59,51,70,0,27,91,49,59,52,70,0,27,91,49,59,53,70,0,27,91,49,59,54,70,0,27,91,49,59,55,70,0,27,91,49,59,51,72,0,27,91,49,59,52,72,0,27,91,49,59,53,72,0,27,91,49,59,54,72,0,27,91,49,59,55,72,0,27,91,50,59,51,126,0,27,91,50,59,52,126,0,27,91,50,59,53,126,0,27,91,50,59,54,126,0,27,91,50,59,55,126,0,27,91,49,59,51,68,0,27,91,49,59,52,68,0,27,91,49,59,53,68,0,27,91,49,59,54,68,0,27,91,49,59,55,68,0,27,91,54,59,51,126,0,27,91,54,59,52,126,0,27,91,54,59,53,126,0,27,91,54,59,54,126,0,27,91,54,59,55,126,0,27,91,53,59,51,126,0,27,91,53,59,52,126,0,27,91,53,59,53,126,0,27,91,53,59,54,126,0,27,91,53,59,55,126,0,27,91,49,59,51,67,0,27,91,49,59,52,67,0,27,91,49,59,53,67,0,27,91,49,59,54,67,0,27,91,49,59,55,67,0,27,91,49,59,50,65,0,27,91,49,59,51,65,0,27,91,49,59,52,65,0,27,91,49,59,53,65,0,27,91,49,59,54,65,0,27,91,49,59,55,65,0,27,91,50,57,109,0,27,91,57,109,0,27,91,60,37,112,49,37,100,59,37,112,50,37,100,59,37,112,51,37,100,59,37,63,37,112,52,37,116,77,37,101,109,37,59,0,65,88,0,71,48,0,88,84,0,85,56,0,67,114,0,67,115,0,69,48,0,69,51,0,77,115,0,83,48,0,83,101,0,83,115,0,84,83,0,88,77,0,103,114,98,111,109,0,103,115,98,111,109,0,107,68,67,51,0,107,68,67,52,0,107,68,67,53,0,107,68,67,54,0,107,68,67,55,0,107,68,78,0,107,68,78,51,0,107,68,78,52,0,107,68,78,53,0,107,68,78,54,0,107,68,78,55,0,107,69,78,68,51,0,107,69,78,68,52,0,107,69,78,68,53,0,107,69,78,68,54,0,107,69,78,68,55,0,107,69,78,68,56,0,107,72,79,77,51,0,107,72,79,77,52,0,107,72,79,77,53,0,107,72,79,77,54,0,107,72,79,77,55,0,107,72,79,77,56,0,107,73,67,51,0,107,73,67,52,0,107,73,67,53,0,107,73,67,54,0,107,73,67,55,0,107,76,70,84,51,0,107,76,70,84,52,0,107,76,70,84,53,0,107,76,70,84,54,0,107,76,70,84,55,0,107,78,88,84,51,0,107,78,88,84,52,0,107,78,88,84,53,0,107,78,88,84,54,0,107,78,88,84,55,0,107,80,82,86,51,0,107,80,82,86,52,0,107,80,82,86,53,0,107,80,82,86,54,0,107,80,82,86,55,0,107,82,73,84,51,0,107,82,73,84,52,0,107,82,73,84,53,0,107,82,73,84,54,0,107,82,73,84,55,0,107,85,80,0,107,85,80,51,0,107,85,80,52,0,107,85,80,53,0,107,85,80,54,0,107,85,80,55,0,107,97,50,0,107,98,49,0,107,98,51,0,107,99,50,0,114,109,120,120,0,115,109,120,120,0,120,109,0 }; +// vtpcon|ANIS emulation for console virtual terminal sequence with libuv, +// auto_right_margin, +// back_color_erase, +// backspaces_with_bs, +// has_meta_key, +// move_insert_mode, +// move_standout_mode, +// no_pad_char, +// columns#80, +// init_tabs#8, +// lines#24, +// max_colors#0x100, +// max_pairs#0x10000, +// acs_chars=jjkkllmmnnqqttuuvvwwxx, +// back_tab=\E[Z, +// bell=^G, +// carriage_return=\r, +// change_scroll_region=\E[%i%p1%d;%p2%dr, +// clear_all_tabs@, +// clear_screen=\E[H\E[2J, +// clr_bol=\E[1K, +// clr_eol=\E[K, +// clr_eos=\E[J, +// column_address=\E[%i%p1%dG, +// cursor_address=\E[%i%p1%d;%p2%dH, +// cursor_down=\n, +// cursor_home=\E[H, +// cursor_invisible=\E[?25l, +// cursor_left=^H, +// cursor_normal=\E[?12l\E[?25h, +// cursor_right=\E[C, +// cursor_up=\E[A, +// cursor_visible@, +// delete_character=\E[P, +// delete_line=\E[M, +// enter_alt_charset_mode=\E(0, +// enter_am_mode@, +// enter_blink_mode@, +// enter_bold_mode=\E[1m, +// enter_ca_mode=\E[?1049h, +// enter_dim_mode@, +// enter_insert_mode@, +// enter_italics_mode=\E[3m, +// enter_reverse_mode=\E[7m, +// enter_secure_mode@, +// enter_standout_mode=\E[7m, +// enter_underline_mode=\E[4m, +// erase_chars=\E[%p1%dX, +// exit_alt_charset_mode=\E(B, +// exit_am_mode@, +// exit_attribute_mode=\E[0m, +// exit_ca_mode=\E[?1049l, +// exit_insert_mode@, +// exit_italics_mode=\E[23m, +// exit_standout_mode=\E[27m, +// exit_underline_mode=\E[24m, +// flash_screen@, +// init_2string=\E[\041p\E[?3l, +// initialize_color=\E]4;%p1%d;rgb\072%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E, +// insert_line=\E[L, +// key_b2=\E[G, +// key_backspace=^H, +// key_btab=\E[Z, +// key_dc=\E[3~, +// key_down=\E[B, +// key_end=\E[4~, +// key_enter=\EOM, +// key_f1=\E[[A, +// key_f10=\E[21~, +// key_f11=\E[23~, +// key_f12=\E[24~, +// key_f13=\E[25~, +// key_f14=\E[26~, +// key_f15=\E[28~, +// key_f16=\E[29~, +// key_f17=\E[31~, +// key_f18=\E[32~, +// key_f19=\E[33~, +// key_f2=\E[[B, +// key_f20=\E[34~, +// key_f21=\E[23$, +// key_f22=\E[24$, +// key_f23=\E[11\136, +// key_f24=\E[12\136, +// key_f25=\E[13\136, +// key_f26=\E[14\136, +// key_f27=\E[15\136, +// key_f28=\E[17\136, +// key_f29=\E[18\136, +// key_f3=\E[[C, +// key_f30=\E[19\136, +// key_f31=\E[20\136, +// key_f32=\E[21\136, +// key_f33=\E[23\136, +// key_f34=\E[24\136, +// key_f35=\E[25\136, +// key_f36=\E[26\136, +// key_f37=\E[28\136, +// key_f38=\E[29\136, +// key_f39=\E[31\136, +// key_f4=\E[[D, +// key_f40=\E[1;6S, +// key_f41=\E[32\136, +// key_f42=\E[33\136, +// key_f43=\E[34\136, +// key_f44=\E[23@, +// key_f45=\E[24@, +// key_f46@, +// key_f47@, +// key_f48@, +// key_f49@, +// key_f5=\E[[E, +// key_f50@, +// key_f51@, +// key_f52@, +// key_f53@, +// key_f54@, +// key_f55@, +// key_f56@, +// key_f57@, +// key_f58@, +// key_f59@, +// key_f6=\E[17~, +// key_f60@, +// key_f61@, +// key_f62@, +// key_f63@, +// key_f7=\E[18~, +// key_f8=\E[19~, +// key_f9=\E[20~, +// key_home=\E[1~, +// key_ic=\E[2~, +// key_left=\E[D, +// key_mouse@, +// key_npage=\E[6~, +// key_ppage=\E[5~, +// key_right=\E[C, +// key_sdc=\E[3;2~, +// key_send=\E[4;2~, +// key_sf=\E[1;2B, +// key_shome=\E[1;2~, +// key_sic=\E[2;2~, +// key_sleft=\E[1;2D, +// key_snext=\E[6;2~, +// key_sprevious=\E[5;2~, +// key_sr=\E[1;2A, +// key_sright=\E[1;2C, +// key_up=\E[A, +// keypad_local@, +// keypad_xmit@, +// memory_lock@, +// memory_unlock@, +// meta_off@, +// meta_on@, +// orig_colors@, +// orig_pair=\E[39;49m, +// parm_dch=\E[%p1%dP, +// parm_delete_line=\E[%p1%dM, +// parm_down_cursor=\E[%p1%dB, +// parm_ich=\E[%p1%d@, +// parm_index=\E[%p1%dS, +// parm_insert_line=\E[%p1%dL, +// parm_left_cursor=\E[%p1%dD, +// parm_right_cursor=\E[%p1%dC, +// parm_rindex=\E[%p1%dT, +// parm_up_cursor=\E[%p1%dA, +// print_screen@, +// prtr_off@, +// prtr_on@, +// repeat_char=%p1%c\E[%p2%{1}%-%db, +// reset_1string@, +// reset_2string@, +// restore_cursor=\E8, +// row_address=\E[%i%p1%dd, +// save_cursor=\E7, +// scroll_forward=\n, +// scroll_reverse=\EM, +// set_a_background=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m, +// set_a_foreground=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m, +// set_attributes=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p6%t;1%;m, +// set_tab=\EH, +// tab=^I, +// user6@, +// user7@, +// user8@, +// user9@, +static const int8_t vtpcon_terminfo[] = { + 30,2,71,0,38,0,15,0,-99,1,19,4,118,116,112,99,111,110,124,65,78,73,83,32,101,109,117,108,97,116,105,111,110,32,102,111,114,32,99,111,110,115,111,108,101,32,118,105,114,116,117,97,108,32,116,101,114,109,105,110,97,108,32,115,101,113,117,101,110,99,101,32,119,105,116,104,32,108,105,98,117,118,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,80,0,0,0,8,0,0,0,24,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,0,0,0,0,1,0,0,0,4,0,6,0,8,0,-2,-1,25,0,33,0,37,0,41,0,-1,-1,52,0,69,0,71,0,75,0,82,0,-1,-1,84,0,97,0,-1,-1,101,0,-2,-1,105,0,109,0,-1,-1,-1,-1,113,0,-2,-1,117,0,122,0,-1,-1,-2,-1,-2,-1,-2,-1,-1,-1,-125,0,-120,0,-115,0,-110,0,-101,0,-97,0,-92,0,-1,-1,-2,-1,-83,0,-77,0,-2,-1,-1,-1,-1,-1,-1,-1,-71,0,-1,-1,-1,-1,-1,-1,-61,0,-1,-1,-57,0,-1,-1,-1,-1,-1,-1,-55,0,-1,-1,-50,0,-1,-1,-1,-1,-1,-1,-1,-1,-46,0,-41,0,-35,0,-30,0,-25,0,-20,0,-15,0,-9,0,-3,0,3,1,9,1,14,1,-1,-1,19,1,-1,-1,23,1,28,1,33,1,37,1,44,1,-1,-1,51,1,-2,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,-1,-1,-1,-1,55,1,64,1,73,1,82,1,91,1,100,1,109,1,118,1,127,1,-120,1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,-2,-1,-111,1,-2,-1,-2,-1,-1,-1,-1,-1,-91,1,-88,1,-77,1,-74,1,-72,1,-69,1,-26,1,-1,-1,-23,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-21,1,-1,-1,-1,-1,-1,-1,-1,-1,-17,1,-1,-1,6,2,-1,-1,-1,-1,-2,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,2,15,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,19,2,-1,-1,-1,-1,26,2,-1,-1,-1,-1,-1,-1,-1,-1,33,2,40,2,47,2,-1,-1,-1,-1,54,2,-1,-1,61,2,-1,-1,-1,-1,-1,-1,68,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,75,2,81,2,87,2,93,2,99,2,105,2,111,2,117,2,123,2,-127,2,-121,2,-115,2,-109,2,-103,2,-97,2,-91,2,-85,2,-79,2,-73,2,-67,2,-61,2,-55,2,-49,2,-43,2,-37,2,-31,2,-25,2,-19,2,-13,2,-7,2,0,3,6,3,12,3,18,3,24,3,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,30,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,-2,-1,-2,-1,35,3,-2,-1,44,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-119,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-114,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-108,3,-45,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,27,91,90,0,7,0,13,0,27,91,37,105,37,112,49,37,100,59,37,112,50,37,100,114,0,27,91,72,27,91,50,74,0,27,91,75,0,27,91,74,0,27,91,37,105,37,112,49,37,100,71,0,27,91,37,105,37,112,49,37,100,59,37,112,50,37,100,72,0,10,0,27,91,72,0,27,91,63,50,53,108,0,8,0,27,91,63,49,50,108,27,91,63,50,53,104,0,27,91,67,0,27,91,65,0,27,91,80,0,27,91,77,0,27,40,48,0,27,91,49,109,0,27,91,63,49,48,52,57,104,0,27,91,55,109,0,27,91,55,109,0,27,91,52,109,0,27,91,37,112,49,37,100,88,0,27,40,66,0,27,91,48,109,0,27,91,63,49,48,52,57,108,0,27,91,50,55,109,0,27,91,50,52,109,0,27,91,33,112,27,91,63,51,108,0,27,91,76,0,8,0,27,91,51,126,0,27,91,66,0,27,91,91,65,0,27,91,50,49,126,0,27,91,91,66,0,27,91,91,67,0,27,91,91,68,0,27,91,91,69,0,27,91,49,55,126,0,27,91,49,56,126,0,27,91,49,57,126,0,27,91,50,48,126,0,27,91,49,126,0,27,91,50,126,0,27,91,68,0,27,91,54,126,0,27,91,53,126,0,27,91,67,0,27,91,49,59,50,66,0,27,91,49,59,50,65,0,27,91,65,0,27,91,37,112,49,37,100,80,0,27,91,37,112,49,37,100,77,0,27,91,37,112,49,37,100,66,0,27,91,37,112,49,37,100,64,0,27,91,37,112,49,37,100,83,0,27,91,37,112,49,37,100,76,0,27,91,37,112,49,37,100,68,0,27,91,37,112,49,37,100,67,0,27,91,37,112,49,37,100,84,0,27,91,37,112,49,37,100,65,0,37,112,49,37,99,27,91,37,112,50,37,123,49,125,37,45,37,100,98,0,27,56,0,27,91,37,105,37,112,49,37,100,100,0,27,55,0,10,0,27,77,0,27,91,48,37,63,37,112,49,37,112,51,37,124,37,116,59,55,37,59,37,63,37,112,50,37,116,59,52,37,59,37,63,37,112,54,37,116,59,49,37,59,109,0,27,72,0,9,0,27,91,71,0,106,106,107,107,108,108,109,109,110,110,113,113,116,116,117,117,118,118,119,119,120,120,0,27,91,90,0,27,91,52,126,0,27,79,77,0,27,91,51,59,50,126,0,27,91,52,59,50,126,0,27,91,49,59,50,126,0,27,91,50,59,50,126,0,27,91,49,59,50,68,0,27,91,54,59,50,126,0,27,91,53,59,50,126,0,27,91,49,59,50,67,0,27,91,50,51,126,0,27,91,50,52,126,0,27,91,50,53,126,0,27,91,50,54,126,0,27,91,50,56,126,0,27,91,50,57,126,0,27,91,51,49,126,0,27,91,51,50,126,0,27,91,51,51,126,0,27,91,51,52,126,0,27,91,50,51,36,0,27,91,50,52,36,0,27,91,49,49,94,0,27,91,49,50,94,0,27,91,49,51,94,0,27,91,49,52,94,0,27,91,49,53,94,0,27,91,49,55,94,0,27,91,49,56,94,0,27,91,49,57,94,0,27,91,50,48,94,0,27,91,50,49,94,0,27,91,50,51,94,0,27,91,50,52,94,0,27,91,50,53,94,0,27,91,50,54,94,0,27,91,50,56,94,0,27,91,50,57,94,0,27,91,51,49,94,0,27,91,49,59,54,83,0,27,91,51,50,94,0,27,91,51,51,94,0,27,91,51,52,94,0,27,91,50,51,64,0,27,91,50,52,64,0,27,91,49,75,0,27,91,51,57,59,52,57,109,0,27,93,52,59,37,112,49,37,100,59,114,103,98,58,37,112,50,37,123,50,53,53,125,37,42,37,123,49,48,48,48,125,37,47,37,50,46,50,88,47,37,112,51,37,123,50,53,53,125,37,42,37,123,49,48,48,48,125,37,47,37,50,46,50,88,47,37,112,52,37,123,50,53,53,125,37,42,37,123,49,48,48,48,125,37,47,37,50,46,50,88,27,0,27,91,51,109,0,27,91,50,51,109,0,27,91,37,63,37,112,49,37,123,56,125,37,60,37,116,51,37,112,49,37,100,37,101,37,112,49,37,123,49,54,125,37,60,37,116,57,37,112,49,37,123,56,125,37,45,37,100,37,101,51,56,59,53,59,37,112,49,37,100,37,59,109,0,27,91,37,63,37,112,49,37,123,56,125,37,60,37,116,52,37,112,49,37,100,37,101,37,112,49,37,123,49,54,125,37,60,37,116,49,48,37,112,49,37,123,56,125,37,45,37,100,37,101,52,56,59,53,59,37,112,49,37,100,37,59,109,0,0,3,0,1,0,73,0,-106,0,-101,1,1,0,1,0,-1,-1,-1,-1,-2,-1,-2,-1,-1,-1,0,0,-2,-1,-1,-1,5,0,11,0,-1,-1,-2,-1,-1,-1,-1,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-1,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-1,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,21,0,-2,-1,-2,-1,-2,-1,-2,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,-2,-1,0,0,3,0,6,0,9,0,12,0,15,0,18,0,21,0,24,0,27,0,30,0,33,0,36,0,39,0,42,0,48,0,54,0,59,0,64,0,69,0,74,0,79,0,83,0,88,0,93,0,98,0,103,0,108,0,114,0,120,0,126,0,-124,0,-118,0,-112,0,-106,0,-100,0,-94,0,-88,0,-82,0,-76,0,-71,0,-66,0,-61,0,-56,0,-51,0,-45,0,-39,0,-33,0,-27,0,-21,0,-15,0,-9,0,-3,0,3,1,9,1,15,1,21,1,27,1,33,1,39,1,45,1,51,1,57,1,63,1,69,1,73,1,78,1,83,1,88,1,93,1,98,1,102,1,106,1,110,1,114,1,119,1,124,1,27,91,51,74,0,27,91,50,32,113,0,27,91,37,112,49,37,100,32,113,0,27,91,49,59,50,65,0,65,88,0,71,48,0,88,84,0,85,56,0,67,114,0,67,115,0,69,48,0,69,51,0,77,115,0,83,48,0,83,101,0,83,115,0,84,83,0,88,77,0,103,114,98,111,109,0,103,115,98,111,109,0,107,68,67,51,0,107,68,67,52,0,107,68,67,53,0,107,68,67,54,0,107,68,67,55,0,107,68,78,0,107,68,78,51,0,107,68,78,52,0,107,68,78,53,0,107,68,78,54,0,107,68,78,55,0,107,69,78,68,51,0,107,69,78,68,52,0,107,69,78,68,53,0,107,69,78,68,54,0,107,69,78,68,55,0,107,69,78,68,56,0,107,72,79,77,51,0,107,72,79,77,52,0,107,72,79,77,53,0,107,72,79,77,54,0,107,72,79,77,55,0,107,72,79,77,56,0,107,73,67,51,0,107,73,67,52,0,107,73,67,53,0,107,73,67,54,0,107,73,67,55,0,107,76,70,84,51,0,107,76,70,84,52,0,107,76,70,84,53,0,107,76,70,84,54,0,107,76,70,84,55,0,107,78,88,84,51,0,107,78,88,84,52,0,107,78,88,84,53,0,107,78,88,84,54,0,107,78,88,84,55,0,107,80,82,86,51,0,107,80,82,86,52,0,107,80,82,86,53,0,107,80,82,86,54,0,107,80,82,86,55,0,107,82,73,84,51,0,107,82,73,84,52,0,107,82,73,84,53,0,107,82,73,84,54,0,107,82,73,84,55,0,107,85,80,0,107,85,80,51,0,107,85,80,52,0,107,85,80,53,0,107,85,80,54,0,107,85,80,55,0,107,97,50,0,107,98,49,0,107,98,51,0,107,99,50,0,114,109,120,120,0,115,109,120,120,0,120,109,0 +}; + +// win32con|ANSI emulation for libuv on legacy console, +// auto_right_margin, +// move_insert_mode, +// move_standout_mode, +// init_tabs#8, +// max_colors#8, +// max_pairs#64, +// acs_chars@, +// bell=^G, +// carriage_return=\r, +// clear_screen=\E[H\E[J, +// clr_bol=\E[1K, +// clr_eol=\E[K, +// clr_eos=\E[J, +// column_address=\E[%i%p1%dG, +// cursor_address=\E[%i%p1%d;%p2%dH, +// cursor_down=\E[B, +// cursor_home=\E[H, +// cursor_left=^H, +// cursor_right=\E[C, +// cursor_up=\E[A, +// delete_character@, +// delete_line@, +// enter_alt_charset_mode@, +// enter_bold_mode=\E[1m, +// enter_ca_mode=\E7\E[?47h, +// enter_insert_mode@, +// enter_pc_charset_mode@, +// enter_reverse_mode=\E[7m, +// enter_secure_mode@, +// enter_standout_mode=\E[7m, +// enter_underline_mode@, +// exit_alt_charset_mode@, +// exit_attribute_mode=\E[0m, +// exit_ca_mode=\E[2J\E[?47l\E8, +// exit_insert_mode@, +// exit_pc_charset_mode=\E[10m, +// exit_standout_mode=\E[27m, +// exit_underline_mode@, +// from_status_line@, +// insert_character@, +// insert_line@, +// key_b2=\E[G, +// key_backspace=^H, +// key_dc=\E[3~, +// key_down=\E[B, +// key_end=\E[4~, +// key_f1=\E[[A, +// key_f10=\E[21~, +// key_f11=\E[23~, +// key_f12=\E[24~, +// key_f13=\E[25~, +// key_f14=\E[26~, +// key_f15=\E[28~, +// key_f16=\E[29~, +// key_f17=\E[31~, +// key_f18=\E[32~, +// key_f19=\E[33~, +// key_f2=\E[[B, +// key_f20=\E[34~, +// key_f21=\E[23$, +// key_f22=\E[24$, +// key_f23=\E[11\136, +// key_f24=\E[12\136, +// key_f25=\E[13\136, +// key_f26=\E[14\136, +// key_f27=\E[15\136, +// key_f28=\E[17\136, +// key_f29=\E[18\136, +// key_f3=\E[[C, +// key_f30=\E[19\136, +// key_f31=\E[20\136, +// key_f32=\E[21\136, +// key_f33=\E[23\136, +// key_f34=\E[24\136, +// key_f35=\E[25\136, +// key_f36=\E[26\136, +// key_f37=\E[28\136, +// key_f38=\E[29\136, +// key_f39=\E[31\136, +// key_f4=\E[[D, +// key_f41=\E[32\136, +// key_f42=\E[33\136, +// key_f43=\E[34\136, +// key_f44=\E[23@, +// key_f45=\E[24@, +// key_f5=\E[[E, +// key_f6=\E[17~, +// key_f7=\E[18~, +// key_f8=\E[19~, +// key_f9=\E[20~, +// key_home=\E[1~, +// key_ic=\E[2~, +// key_left=\E[D, +// key_npage=\E[6~, +// key_ppage=\E[5~, +// key_right=\E[C, +// key_sdc=\E[3;2~, +// key_send=\E[4;2~, +// key_shome=\E[1;2~, +// key_sic=\E[2;2~, +// key_sleft=\E[1;2D, +// key_snext=\E[6;2~, +// key_sprevious=\E[5;2~, +// key_sright=\E[1;2C, +// key_suspend=^Z, +// key_up=\E[A, +// newline=\r\n, +// orig_pair=\E[39;49m, +// parm_dch@, +// parm_delete_line@, +// parm_down_cursor=\E[%p1%dB, +// parm_ich@, +// parm_insert_line@, +// parm_left_cursor=\E[%p1%dD, +// parm_right_cursor=\E[%p1%dC, +// parm_up_cursor=\E[%p1%dA, +// reset_1string@, +// restore_cursor=\E8, +// row_address=\E[%i%p1%dd, +// save_cursor=\E7, +// scroll_forward@, +// scroll_reverse@, +// set_a_background=\E[4%p1%dm, +// set_a_foreground=\E[3%p1%dm, +// set_attributes=\E[0%?%p1%t;7%;%?%p3%t;7%;%?%p6%t;1%;m, +// tab=^I, +// to_status_line@, +// user6@, +// user7@, +// user8@, +// user9@, +static const int8_t win32con_terminfo[] = { + 26,1,52,0,15,0,15,0,125,1,106,2,119,105,110,51,50,99,111,110,124,65,78,83,73,32,101,109,117,108,97,116,105,111,110,32,102,111,114,32,108,105,98,117,118,32,111,110,32,108,101,103,97,99,121,32,99,111,110,115,111,108,101,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,-1,-1,8,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,0,64,0,-1,-1,0,0,2,0,-1,-1,-1,-1,4,0,11,0,15,0,19,0,-1,-1,30,0,47,0,51,0,-1,-1,55,0,-1,-1,-1,-1,57,0,-1,-1,61,0,-1,-1,-2,-1,-2,-1,-1,-1,-1,-1,-2,-1,-1,-1,65,0,70,0,-1,-1,-1,-1,-2,-1,-2,-1,-1,-1,79,0,84,0,-2,-1,-1,-1,-2,-1,89,0,94,0,-1,-1,-2,-1,107,0,-2,-1,-1,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,-1,-1,113,0,-1,-1,-1,-1,-1,-1,115,0,-1,-1,120,0,-1,-1,-1,-1,-1,-1,-1,-1,124,0,-127,0,-121,0,-116,0,-111,0,-106,0,-101,0,-95,0,-89,0,-83,0,-77,0,-72,0,-1,-1,-67,0,-1,-1,-63,0,-58,0,-53,0,-1,-1,-1,-1,-1,-1,-49,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-45,0,-1,-1,-2,-1,-2,-1,-42,0,-2,-1,-1,-1,-2,-1,-33,0,-24,0,-1,-1,-15,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-6,0,-3,0,8,1,-2,-1,-2,-1,11,1,-1,-1,-1,-1,49,1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,51,1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,55,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,60,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,1,-1,-1,-1,-1,69,1,-1,-1,-1,-1,-1,-1,-1,-1,76,1,83,1,90,1,-1,-1,-1,-1,97,1,-1,-1,104,1,-1,-1,-1,-1,-1,-1,111,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,118,1,124,1,-126,1,-120,1,-114,1,-108,1,-102,1,-96,1,-90,1,-84,1,-78,1,-72,1,-66,1,-60,1,-54,1,-48,1,-42,1,-36,1,-30,1,-24,1,-18,1,-12,1,-6,1,0,2,6,2,12,2,18,2,24,2,30,2,-1,-1,36,2,42,2,48,2,54,2,60,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,66,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,-2,-1,-2,-1,-2,-1,71,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,80,2,90,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-1,100,2,7,0,13,0,27,91,72,27,91,74,0,27,91,75,0,27,91,74,0,27,91,37,105,37,112,49,37,100,71,0,27,91,37,105,37,112,49,37,100,59,37,112,50,37,100,72,0,27,91,66,0,27,91,72,0,8,0,27,91,67,0,27,91,65,0,27,91,49,109,0,27,55,27,91,63,52,55,104,0,27,91,55,109,0,27,91,55,109,0,27,91,48,109,0,27,91,50,74,27,91,63,52,55,108,27,56,0,27,91,50,55,109,0,8,0,27,91,51,126,0,27,91,66,0,27,91,91,65,0,27,91,50,49,126,0,27,91,91,66,0,27,91,91,67,0,27,91,91,68,0,27,91,91,69,0,27,91,49,55,126,0,27,91,49,56,126,0,27,91,49,57,126,0,27,91,50,48,126,0,27,91,49,126,0,27,91,50,126,0,27,91,68,0,27,91,54,126,0,27,91,53,126,0,27,91,67,0,27,91,65,0,13,10,0,27,91,37,112,49,37,100,66,0,27,91,37,112,49,37,100,68,0,27,91,37,112,49,37,100,67,0,27,91,37,112,49,37,100,65,0,27,56,0,27,91,37,105,37,112,49,37,100,100,0,27,55,0,27,91,48,37,63,37,112,49,37,116,59,55,37,59,37,63,37,112,51,37,116,59,55,37,59,37,63,37,112,54,37,116,59,49,37,59,109,0,9,0,27,91,71,0,27,91,52,126,0,26,0,27,91,51,59,50,126,0,27,91,52,59,50,126,0,27,91,49,59,50,126,0,27,91,50,59,50,126,0,27,91,49,59,50,68,0,27,91,54,59,50,126,0,27,91,53,59,50,126,0,27,91,49,59,50,67,0,27,91,50,51,126,0,27,91,50,52,126,0,27,91,50,53,126,0,27,91,50,54,126,0,27,91,50,56,126,0,27,91,50,57,126,0,27,91,51,49,126,0,27,91,51,50,126,0,27,91,51,51,126,0,27,91,51,52,126,0,27,91,50,51,36,0,27,91,50,52,36,0,27,91,49,49,94,0,27,91,49,50,94,0,27,91,49,51,94,0,27,91,49,52,94,0,27,91,49,53,94,0,27,91,49,55,94,0,27,91,49,56,94,0,27,91,49,57,94,0,27,91,50,48,94,0,27,91,50,49,94,0,27,91,50,51,94,0,27,91,50,52,94,0,27,91,50,53,94,0,27,91,50,54,94,0,27,91,50,56,94,0,27,91,50,57,94,0,27,91,51,49,94,0,27,91,51,50,94,0,27,91,51,51,94,0,27,91,51,52,94,0,27,91,50,51,64,0,27,91,50,52,64,0,27,91,49,75,0,27,91,51,57,59,52,57,109,0,27,91,51,37,112,49,37,100,109,0,27,91,52,37,112,49,37,100,109,0,27,91,49,48,109,0,1,0,0,0,2,0,5,0,25,0,0,0,0,0,6,0,0,0,3,0,6,0,27,91,48,32,113,0,27,91,37,112,49,37,100,32,113,0,65,88,0,83,101,0,83,115,0 +}; + // xterm-256color|xterm with 256 colors, // auto_right_margin, // back_color_erase, diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c index a9599ff322..54e7d7a4b7 100644 --- a/src/nvim/tui/tui.c +++ b/src/nvim/tui/tui.c @@ -242,15 +242,17 @@ static void terminfo_start(UI *ui) } } else { // If it is running under winpty ignore the TERM environment variable and - // force it to be cygwin. - term = "cygwin"; + // force it to be win32con. + term = "win32con"; } if (term == NULL) { - if (vtp || conemu_ansi) { - term = "xterm-256color"; + if (vtp) { + term = "vtpcon"; + } else if (conemu_ansi) { + term = "conemu"; } else { - term = "cygwin"; + term = "win32con"; } } @@ -284,8 +286,7 @@ static void terminfo_start(UI *ui) || os_getenv("KONSOLE_PROFILE_NAME") || os_getenv("KONSOLE_DBUS_SESSION"); - patch_terminfo_bugs(data, term, colorterm, vte_version, konsole, iterm_env, - conemu_ansi); + patch_terminfo_bugs(data, term, colorterm, vte_version, konsole, iterm_env); augment_terminfo(data, term, colorterm, vte_version, konsole, iterm_env); data->can_change_scroll_region = !!unibi_get_str(data->ut, unibi_change_scroll_region); @@ -296,7 +297,8 @@ static void terminfo_start(UI *ui) && !!unibi_get_str(data->ut, unibi_set_right_margin_parm); data->immediate_wrap_after_last_column = terminfo_is_term_family(term, "cygwin") - || terminfo_is_term_family(term, "interix"); + || terminfo_is_term_family(term, "win32con") + || terminfo_is_term_family(term, "interix") || conemu_ansi; data->bce = unibi_get_bool(data->ut, unibi_back_color_erase); data->normlen = unibi_pre_fmt_str(data, unibi_cursor_normal, data->norm, sizeof data->norm); @@ -1504,7 +1506,7 @@ static int unibi_find_ext_bool(unibi_term *ut, const char *name) /// and several terminal emulators falsely announce incorrect terminal types. static void patch_terminfo_bugs(TUIData *data, const char *term, const char *colorterm, long vte_version, - bool konsole, bool iterm_env, bool conemu_ansi) + bool konsole, bool iterm_env) { unibi_term *ut = data->ut; const char * xterm_version = os_getenv("XTERM_VERSION"); @@ -1536,6 +1538,7 @@ static void patch_terminfo_bugs(TUIData *data, const char *term, && strstr(colorterm, "mate-terminal"); bool true_xterm = xterm && !!xterm_version; bool cygwin = terminfo_is_term_family(term, "cygwin"); + bool conemu = terminfo_is_term_family(term, "conemu"); char *fix_normal = (char *)unibi_get_str(ut, unibi_cursor_normal); if (fix_normal) { @@ -1575,6 +1578,10 @@ static void patch_terminfo_bugs(TUIData *data, const char *term, unibi_set_bool(ut, unibi_back_color_erase, false); } + if (conemu) { + unibi_set_bool(ut, unibi_back_color_erase, true); + } + if (xterm) { // Termit, LXTerminal, GTKTerm2, GNOME Terminal, MATE Terminal, roxterm, // and EvilVTE falsely claim to be xterm and do not support important xterm @@ -1604,11 +1611,6 @@ static void patch_terminfo_bugs(TUIData *data, const char *term, unibi_set_if_empty(ut, unibi_enter_italics_mode, "\x1b[3m"); unibi_set_if_empty(ut, unibi_exit_italics_mode, "\x1b[23m"); } - if (conemu_ansi) { - unibi_set_num(ut, unibi_max_colors, 256); - unibi_set_str(ut, unibi_set_a_foreground, "\x1b[38;5;%p1%dm"); - unibi_set_str(ut, unibi_set_a_background, "\x1b[48;5;%p1%dm"); - } } else if (rxvt) { // 2017-04 terminfo.src lacks these. Unicode rxvt has them. unibi_set_if_empty(ut, unibi_enter_italics_mode, "\x1b[3m"); @@ -1728,7 +1730,6 @@ static void patch_terminfo_bugs(TUIData *data, const char *term, || teraterm // per TeraTerm "Supported Control Functions" doco || alacritty // https://github.com/jwilm/alacritty/pull/608 || cygwin - || conemu_ansi // Some linux-type terminals implement the xterm extension. // Example: console-terminal-emulator from the nosh toolset. || (linuxvt |