Merge #9401 from justinmk/pr-win-erw7

This commit is contained in:
Justin M. Keyes
2018-12-30 23:54:23 +01:00
committed by GitHub
11 changed files with 838 additions and 60 deletions

View File

@@ -26,6 +26,10 @@ readonly -A entries=(
[tmux-256color]=tmux_256colour_terminfo
[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)"
@@ -47,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
#
@@ -72,18 +76,19 @@ EOF
for term in $sorted_terms; do
path="$(find "$db" -name "$term")"
if [[ -z $path ]]; then
echo "Not found: $term. Skipping." 1>&2
if [ -z "$path" ]; then
>&2 echo "Not found: $term. Skipping."
continue
fi
echo
printf '\n'
infocmp -L -1 -A "$db" "$term" | sed -e '1d' -e 's#^#// #' | tr '\t' ' '
echo "static const int8_t ${entries[$term]}[] = {"
echo -n " "; od -v -t d1 < "$path" | cut -c9- | xargs | tr ' ' ','
echo "};"
printf 'static const int8_t %s[] = {\n' "${entries[$term]}"
printf ' '
od -v -t d1 < "$path" | cut -c9- | xargs | tr ' ' ',' | tr -d '\n'
printf ' // NOLINT\n};\n'
done >> "$target"
cat > "$target" <<EOF
cat >> "$target" <<EOF
#endif // NVIM_TUI_TERMINFO_DEFS_H
EOF
print_bold 'done\n'

71
scripts/windows.ti Normal file
View File

@@ -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,