neo-neo-bblessed
Version:
A fork of neo-blessed (which is a fork of blessed) with bug fixes and maintenance.
763 lines (755 loc) • 522 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var assert = require('assert');
var path = require('path');
var fs = require('fs');
var cp5 = require('child_process');
var string_decoder = require('string_decoder');
var net = require('net');
var events = require('events');
var util = require('util');
var eastasianwidth = require('eastasianwidth');
var unicode = require('unicode-properties');
var os = require('os');
var pngjs = require('pngjs');
var url = require('url');
var xterm2 = require('@xterm/headless');
var module$1 = require('module');
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n.default = e;
return Object.freeze(n);
}
var assert__default = /*#__PURE__*/_interopDefault(assert);
var path__namespace = /*#__PURE__*/_interopNamespace(path);
var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
var cp5__namespace = /*#__PURE__*/_interopNamespace(cp5);
var net__default = /*#__PURE__*/_interopDefault(net);
var util__namespace = /*#__PURE__*/_interopNamespace(util);
var eastasianwidth__namespace = /*#__PURE__*/_interopNamespace(eastasianwidth);
var unicode__namespace = /*#__PURE__*/_interopNamespace(unicode);
var os__default = /*#__PURE__*/_interopDefault(os);
var xterm2__namespace = /*#__PURE__*/_interopNamespace(xterm2);
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
}) : x)(function(x) {
if (typeof require !== "undefined") return require.apply(this, arguments);
throw Error('Dynamic require of "' + x + '" is not supported');
});
var __esm = (fn, res) => function __init() {
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
};
var __commonJS = (cb, mod) => function __require2() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
!mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// lib/internal-term.ts
var internal_term_default;
var init_internal_term = __esm({
"lib/internal-term.ts"() {
internal_term_default = {
xterm: "GgEcACYADwCdAWwFeHRlcm18WDExIHRlcm1pbmFsIGVtdWxhdG9yAAABAAABAAAAAQAAAAABAQAAAAAAAAABAAABAAABAAAAAAAAAAABUAAIABgA//////////////////////////8IAEAAAAAEAAYACAAZAB4AJgAqAC4A//85AEoATABQAFcA//9ZAGYA//9qAG4AeAB8AP////+AAIQAiQCOAP////+XAJwA//+hAKYAqwCwALkAvQDEAP//zQDSANgA3gD////////wAP///////wIB//8GAf///////wgB//8NAf//////////EQEVARsBHwEjAScBLQEzATkBPwFFAUkB//9OAf//UgFXAVwBYAFnAf//bgFyAXoB/////////////////////////////4IBiwH/////lAGdAaYBrwG4AcEBygHTAdwB5QH////////uAfIB9wH///wB/wH/////EQIUAh8CIgIkAicCeQL//3wC////////////////fgL//////////4IC//+3Av////+7AsEC/////////////////////////////8cCywL//////////////////////////////////////////////////////////////////88C/////9YC///////////dAuQC6wL/////8gL///kC////////AAP/////////////BwMNAxMDGgMhAygDLwM3Az8DRwNPA1cDXwNnA28DdgN9A4QDiwOTA5sDowOrA7MDuwPDA8sD0gPZA+AD5wPvA/cD/wMHBA8EFwQfBCcELgQ1BDwEQwRLBFMEWwRjBGsEcwR7BIMEigSRBJgE/////////////////////////////////////////////////////////////50EqAStBLUEuQT//////////8IECAX///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9OBf///////1IFXAX/////////////////////////////////////////////////////////////////////////////////////////////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",
"xterm-256color": "GgElACYADwCdAakFeHRlcm0tMjU2Y29sb3J8eHRlcm0gd2l0aCAyNTYgY29sb3JzAAABAAABAAAAAQAAAAABAQAAAAAAAAABAAABAAEBAAAAAAAAAAABAFAACAAYAP//////////////////////////AAH/fwAABAAGAAgAGQAeACYAKgAuAP//OQBKAEwAUABXAP//WQBmAP//agBuAHgAfAD/////gACEAIkAjgD/////lwCcAP//oQCmAKsAsAC5AL0AxAD//80A0gDYAN4A////////8AD///////8CAf//BgH///////8IAf//DQH//////////xEBFQEbAR8BIwEnAS0BMwE5AT8BRQFJAf//TgH//1IBVwFcAWABZwH//24BcgF6Af////////////////////////////+CAYsB/////5QBnQGmAa8BuAHBAcoB0wHcAeUB////////7gHyAfcB///8Af8B/////xECFAIfAiICJAInAnkC//98Av///////////////34C//////////+CAv//twL/////uwLBAv/////////////////////////////HAssC///////////////////////////////////////////////////////////////////PAv/////WAv//////////3QLkAusC//////IC///5Av///////wAD/////////////wcDDQMTAxoDIQMoAy8DNwM/A0cDTwNXA18DZwNvA3YDfQOEA4sDkwObA6MDqwOzA7sDwwPLA9ID2QPgA+cD7wP3A/8DBwQPBBcEHwQnBC4ENQQ8BEMESwRTBFsEYwRrBHMEewSDBIoEkQSYBP////////////////////////////////////////////////////////////+dBKgErQS1BLkE///CBP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////IAX///////8kBWMF////////////////////////////////////////////////////////////////////////////////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",
"windows-ansi": "GgEoACYAEAB9AUQCYW5zaXxhbnNpL3BjLXRlcm0gY29tcGF0aWJsZSB3aXRoIGNvbG9yAAABAAAAAAAAAAAAAAABAQAAAAAAAAABAAAAAAAAAAAAAAAAAAABUAAIABgA//////////////////////////8IAEAAAwAAAAQABgD//wgADQAUABgAHAD//ycAOAA8AP//QAD/////RAD//0gA//9MAFAA/////1QAWgBfAP//////////ZAD//2kAbgBzAHgAgQCHAP///////48AkwD/////////////////////lwD//5sA/////////////50A/////////////////////////////////////6EApQD//6kA////////rQD///////+xAP///////////////////////////////////////7UA//+6AMMAzADVAN4A5wDwAPkAAgELAf//////////FAEZAR4B/////////////zIB//89Af//PwGVAf//mAH/////////////////////////////nAH//9sB////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3wH/////////////////////////////////////////////////////////////5AHvAfQBBwILAv//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////FAIeAv///////ygCLAIwAjQC/////////////////////////////zgCPgIbW1oABwANABtbMmcAG1tIG1tKABtbSwAbW0oAG1slaSVwMSVkRwAbWyVpJXAxJWQ7JXAyJWRIABtbQgAbW0gAG1tEABtbQwAbW0EAG1tQABtbTQAbWzExbQAbWzVtABtbMW0AG1s4bQAbWzdtABtbN20AG1s0bQAbWyVwMSVkWAAbWzEwbQAbWzA7MTBtABtbbQAbW20AG1tMAAgAG1tCABtbSAAbW0wAG1tEABtbQwAbW0EADRtbUwAbWyVwMSVkUAAbWyVwMSVkTQAbWyVwMSVkQgAbWyVwMSVkQAAbWyVwMSVkUwAbWyVwMSVkTAAbWyVwMSVkRAAbWyVwMSVkQwAbWyVwMSVkVAAbWyVwMSVkQQAbWzRpABtbNWkAJXAxJWMbWyVwMiV7MX0lLSVkYgAbWyVpJXAxJWRkAAoAG1swOzEwJT8lcDEldDs3JTslPyVwMiV0OzQlOyU/JXAzJXQ7NyU7JT8lcDQldDs1JTslPyVwNiV0OzElOyU/JXA3JXQ7OCU7JT8lcDkldDsxMSU7bQAbSAAbW0kAKxAsES0YLhkw22AEYbGm+C3xaLBq2Wu/bNptwG7Fb35wxHHEcsRzX3TDdbR2wXfCeLN583rye+N82H2cfv4AG1taABtbMUsAG1slaSVkOyVkUgAbWzZuABtbPyVbOzAxMjM0NTY3ODldYwAbW2MAG1szOTs0OW0AG1szJXAxJWRtABtbNCVwMSVkbQAbKEIAGylCABsqQgAbK0IAG1sxMW0AG1sxMG0AAQAAAAAAAQADAAEAAABBWAA=",
linux: "GgEUAB0AEAB9AVQDbGludXh8bGludXggY29uc29sZQAAAQAAAQEAAAAAAAAAAQEAAAAAAAEAAAAAAAABAQD//wgA/////////////////////////////wgAQAASAP//AAACAAQAFQAaACEAJQApAP//NABFAEcASwBXAP//WQBlAP//aQBtAHkAfQD/////gQCHAIwA/////5EAlgD/////mwCgAKUAqgCzALkA/////8EAxgDMANIA////////////////5ADoAP//7AD////////uAP//8wD///////////cA/AACAQcBDAERARYBHAEiASgBLgEzAf//OAH//zwBQQFGAf///////0oB////////////////////////////////////////TgH//1EBWgFjAWwB//91AX4BhwH//5AB//////////////////+ZAf///////58BogGtAbABsgG1ARYC//8ZAv///////////////xsC//////////8fAv//YAL/////ZAJqAv////////////////////////////9wAv//////////////////////////////////////////////////dQL//////////////////////////////////////////////////////////////////////////////////3cCfQKDAokCjwKVApsCoQKnAq0C//////////////////////////////////////////////////////////////////////////////////////////////////////////////////+zAv////////////////////////////////////////////////////////////+4AsMCyALOAtIC2wLfAv//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////MAP///////80Az4D////////////////////////////////////////////////SANOAwcADQAbWyVpJXAxJWQ7JXAyJWRyABtbM2cAG1tIG1tKABtbSwAbW0oAG1slaSVwMSVkRwAbWyVpJXAxJWQ7JXAyJWRIAAoAG1tIABtbPzI1bBtbPzFjAAgAG1s/MjVoG1s/MGMAG1tDABtbQQAbWz8yNWgbWz84YwAbW1AAG1tNABtbMTFtABtbNW0AG1sxbQAbWzJtABtbNGgAG1s3bQAbWzdtABtbNG0AG1slcDElZFgAG1sxMG0AG1swOzEwbQAbWzRsABtbMjdtABtbMjRtABtbPzVoG1s/NWwkPDIwMC8+ABtbQAAbW0wAfwAbWzN+ABtbQgAbW1tBABtbMjF+ABtbW0IAG1tbQwAbW1tEABtbW0UAG1sxN34AG1sxOH4AG1sxOX4AG1syMH4AG1sxfgAbWzJ+ABtbRAAbWzZ+ABtbNX4AG1tDABtbQQANCgAbWyVwMSVkUAAbWyVwMSVkTQAbWyVwMSVkQgAbWyVwMSVkQAAbWyVwMSVkTAAbWyVwMSVkRAAbWyVwMSVkQwAbWyVwMSVkQQAbYxtdUgAbOAAbWyVpJXAxJWRkABs3AAoAG00AG1swOzEwJT8lcDEldDs3JTslPyVwMiV0OzQlOyU/JXAzJXQ7NyU7JT8lcDQldDs1JTslPyVwNSV0OzIlOyU/JXA2JXQ7MSU7JT8lcDcldDs4JTslPyVwOSV0OzExJTttABtIAAkAG1tHACsQLBEtGC4ZMNtgBGGxZvhn8Wiwac5q2Wu/bNptwG7Fb35wxHHEcsRzX3TDdbR2wXfCeLN583rye+N82H2cfv4AG1taABtbPzdoABtbPzdsABtbNH4AGgAbWzIzfgAbWzI0fgAbWzI1fgAbWzI2fgAbWzI4fgAbWzI5fgAbWzMxfgAbWzMyfgAbWzMzfgAbWzM0fgAbWzFLABtbJWklZDslZFIAG1s2bgAbWz82YwAbW2MAG1szOTs0OW0AG11SABtdUCVwMSV4JXAyJXsyNTV9JSolezEwMDB9JS8lMDJ4JXAzJXsyNTV9JSolezEwMDB9JS8lMDJ4JXA0JXsyNTV9JSolezEwMDB9JS8lMDJ4ABtbTQAbWzMlcDElZG0AG1s0JXAxJWRtABtbMTFtABtbMTBtAAMAAQAGABAAIgABAAAAAQD///////////////8AAAMABgAJAAwADwASABYAGgAeAEFYAEcwAFhUAFU4AEUwAFMwAGthMgBrYjEAa2IzAGtjMgA="
};
}
});
// lib/alias.ts
var alias, alias_default;
var init_alias = __esm({
"lib/alias.ts"() {
alias = {};
alias.bools = {
// Variable Cap- TCap Description
// Booleans name Code
auto_left_margin: ["bw", "bw"],
// cub1 wraps from col‐ umn 0 to last column
auto_right_margin: ["am", "am"],
// terminal has auto‐ matic margins
back_color_erase: ["bce", "ut"],
// screen erased with background color
can_change: ["ccc", "cc"],
// terminal can re- define existing col‐ ors
ceol_standout_glitch: ["xhp", "xs"],
// standout not erased by overwriting (hp)
col_addr_glitch: ["xhpa", "YA"],
// only positive motion for hpa/mhpa caps
cpi_changes_res: ["cpix", "YF"],
// changing character pitch changes reso‐ lution
cr_cancels_micro_mode: ["crxm", "YB"],
// using cr turns off micro mode
dest_tabs_magic_smso: ["xt", "xt"],
// tabs destructive, magic so char (t1061)
eat_newline_glitch: ["xenl", "xn"],
// newline ignored after 80 cols (con‐ cept)
erase_overstrike: ["eo", "eo"],
// can erase over‐ strikes with a blank
generic_type: ["gn", "gn"],
// generic line type
hard_copy: ["hc", "hc"],
// hardcopy terminal
hard_cursor: ["chts", "HC"],
// cursor is hard to see
has_meta_key: ["km", "km"],
// Has a meta key (i.e., sets 8th-bit)
has_print_wheel: ["daisy", "YC"],
// printer needs opera‐ tor to change char‐ acter set
has_status_line: ["hs", "hs"],
// has extra status line
hue_lightness_saturation: ["hls", "hl"],
// terminal uses only HLS color notation (Tektronix)
insert_null_glitch: ["in", "in"],
// insert mode distin‐ guishes nulls
lpi_changes_res: ["lpix", "YG"],
// changing line pitch changes resolution
memory_above: ["da", "da"],
// display may be retained above the screen
memory_below: ["db", "db"],
// display may be retained below the screen
move_insert_mode: ["mir", "mi"],
// safe to move while in insert mode
move_standout_mode: ["msgr", "ms"],
// safe to move while in standout mode
needs_xon_xoff: ["nxon", "nx"],
// padding will not work, xon/xoff required
no_esc_ctlc: ["xsb", "xb"],
// beehive (f1=escape, f2=ctrl C)
no_pad_char: ["npc", "NP"],
// pad character does not exist
non_dest_scroll_region: ["ndscr", "ND"],
// scrolling region is non-destructive
non_rev_rmcup: ["nrrmc", "NR"],
// smcup does not reverse rmcup
over_strike: ["os", "os"],
// terminal can over‐ strike
prtr_silent: ["mc5i", "5i"],
// printer will not echo on screen
row_addr_glitch: ["xvpa", "YD"],
// only positive motion for vpa/mvpa caps
semi_auto_right_margin: ["sam", "YE"],
// printing in last column causes cr
status_line_esc_ok: ["eslok", "es"],
// escape can be used on the status line
tilde_glitch: ["hz", "hz"],
// cannot print ~'s (hazeltine)
transparent_underline: ["ul", "ul"],
// underline character overstrikes
xon_xoff: ["xon", "xo"]
// terminal uses xon/xoff handshaking
};
alias.numbers = {
// Variable Cap- TCap Description
// Numeric name Code
columns: ["cols", "co"],
// number of columns in a line
init_tabs: ["it", "it"],
// tabs initially every # spaces
label_height: ["lh", "lh"],
// rows in each label
label_width: ["lw", "lw"],
// columns in each label
lines: ["lines", "li"],
// number of lines on screen or page
lines_of_memory: ["lm", "lm"],
// lines of memory if > line. 0 means varies
magic_cookie_glitch: ["xmc", "sg"],
// number of blank characters left by smso or rmso
max_attributes: ["ma", "ma"],
// maximum combined attributes terminal can handle
max_colors: ["colors", "Co"],
// maximum number of colors on screen
max_pairs: ["pairs", "pa"],
// maximum number of color-pairs on the screen
maximum_windows: ["wnum", "MW"],
// maximum number of defineable windows
no_color_video: ["ncv", "NC"],
// video attributes that cannot be used with colors
num_labels: ["nlab", "Nl"],
// number of labels on screen
padding_baud_rate: ["pb", "pb"],
// lowest baud rate where padding needed
virtual_terminal: ["vt", "vt"],
// virtual terminal number (CB/unix)
width_status_line: ["wsl", "ws"],
// number of columns in status line
// The following numeric capabilities are present in the SVr4.0 term structure, but are not yet documented in the man page. They came in with
// SVr4's printer support.
// Variable Cap- TCap Description
// Numeric name Code
bit_image_entwining: ["bitwin", "Yo"],
// number of passes for each bit-image row
bit_image_type: ["bitype", "Yp"],
// type of bit-image device
buffer_capacity: ["bufsz", "Ya"],
// numbers of bytes buffered before printing
buttons: ["btns", "BT"],
// number of buttons on mouse
dot_horz_spacing: ["spinh", "Yc"],
// spacing of dots hor‐ izontally in dots per inch
dot_vert_spacing: ["spinv", "Yb"],
// spacing of pins ver‐ tically in pins per inch
max_micro_address: ["maddr", "Yd"],
// maximum value in micro_..._address
max_micro_jump: ["mjump", "Ye"],
// maximum value in parm_..._micro
micro_col_size: ["mcs", "Yf"],
// character step size when in micro mode
micro_line_size: ["mls", "Yg"],
// line step size when in micro mode
number_of_pins: ["npins", "Yh"],
// numbers of pins in print-head
output_res_char: ["orc", "Yi"],
// horizontal resolu‐ tion in units per line
output_res_horz_inch: ["orhi", "Yk"],
// horizontal resolu‐ tion in units per inch
output_res_line: ["orl", "Yj"],
// vertical resolution in units per line
output_res_vert_inch: ["orvi", "Yl"],
// vertical resolution in units per inch
print_rate: ["cps", "Ym"],
// print rate in char‐ acters per second
wide_char_size: ["widcs", "Yn"]
// character step size when in double wide mode
};
alias.strings = {
// Variable Cap- TCap Description
// String name Code
acs_chars: ["acsc", "ac"],
// graphics charset pairs, based on vt100
back_tab: ["cbt", "bt"],
// back tab (P)
bell: ["bel", "bl"],
// audible signal (bell) (P)
carriage_return: ["cr", "cr"],
// carriage return (P*) (P*)
change_char_pitch: ["cpi", "ZA"],
// Change number of characters per inch to #1
change_line_pitch: ["lpi", "ZB"],
// Change number of lines per inch to #1
change_res_horz: ["chr", "ZC"],
// Change horizontal resolution to #1
change_res_vert: ["cvr", "ZD"],
// Change vertical res‐ olution to #1
change_scroll_region: ["csr", "cs"],
// change region to line #1 to line #2 (P)
char_padding: ["rmp", "rP"],
// like ip but when in insert mode
clear_all_tabs: ["tbc", "ct"],
// clear all tab stops (P)
clear_margins: ["mgc", "MC"],
// clear right and left soft margins
clear_screen: ["clear", "cl"],
// clear screen and home cursor (P*)
clr_bol: ["el1", "cb"],
// Clear to beginning of line
clr_eol: ["el", "ce"],
// clear to end of line (P)
clr_eos: ["ed", "cd"],
// clear to end of screen (P*)
column_address: ["hpa", "ch"],
// horizontal position #1, absolute (P)
command_character: ["cmdch", "CC"],
// terminal settable cmd character in prototype !?
create_window: ["cwin", "CW"],
// define a window #1 from #2,#3 to #4,#5
cursor_address: ["cup", "cm"],
// move to row #1 col‐ umns #2
cursor_down: ["cud1", "do"],
// down one line
cursor_home: ["home", "ho"],
// home cursor (if no cup)
cursor_invisible: ["civis", "vi"],
// make cursor invisi‐ ble
cursor_left: ["cub1", "le"],
// move left one space
cursor_mem_address: ["mrcup", "CM"],
// memory relative cur‐ sor addressing, move to row #1 columns #2
cursor_normal: ["cnorm", "ve"],
// make cursor appear normal (undo civis/cvvis)
cursor_right: ["cuf1", "nd"],
// non-destructive space (move right one space)
cursor_to_ll: ["ll", "ll"],
// last line, first column (if no cup)
cursor_up: ["cuu1", "up"],
// up one line
cursor_visible: ["cvvis", "vs"],
// make cursor very visible
define_char: ["defc", "ZE"],
// Define a character #1, #2 dots wide, descender #3
delete_character: ["dch1", "dc"],
// delete character (P*)
delete_line: ["dl1", "dl"],
// delete line (P*)
dial_phone: ["dial", "DI"],
// dial number #1
dis_status_line: ["dsl", "ds"],
// disable status line
display_clock: ["dclk", "DK"],
// display clock
down_half_line: ["hd", "hd"],
// half a line down
ena_acs: ["enacs", "eA"],
// enable alternate char set
enter_alt_charset_mode: ["smacs", "as"],
// start alternate character set (P)
enter_am_mode: ["smam", "SA"],
// turn on automatic margins
enter_blink_mode: ["blink", "mb"],
// turn on blinking
enter_bold_mode: ["bold", "md"],
// turn on bold (extra bright) mode
enter_ca_mode: ["smcup", "ti"],
// string to start pro‐ grams using cup
enter_delete_mode: ["smdc", "dm"],
// enter delete mode
enter_dim_mode: ["dim", "mh"],
// turn on half-bright mode
enter_doublewide_mode: ["swidm", "ZF"],
// Enter double-wide mode
enter_draft_quality: ["sdrfq", "ZG"],
// Enter draft-quality mode
enter_insert_mode: ["smir", "im"],
// enter insert mode
enter_italics_mode: ["sitm", "ZH"],
// Enter italic mode
enter_leftward_mode: ["slm", "ZI"],
// Start leftward car‐ riage motion
enter_micro_mode: ["smicm", "ZJ"],
// Start micro-motion mode
enter_near_letter_quality: ["snlq", "ZK"],
// Enter NLQ mode
enter_normal_quality: ["snrmq", "ZL"],
// Enter normal-quality mode
enter_protected_mode: ["prot", "mp"],
// turn on protected mode
enter_reverse_mode: ["rev", "mr"],
// turn on reverse video mode
enter_secure_mode: ["invis", "mk"],
// turn on blank mode (characters invisi‐ ble)
enter_shadow_mode: ["sshm", "ZM"],
// Enter shadow-print mode
enter_standout_mode: ["smso", "so"],
// begin standout mode
enter_subscript_mode: ["ssubm", "ZN"],
// Enter subscript mode
enter_superscript_mode: ["ssupm", "ZO"],
// Enter superscript mode
enter_underline_mode: ["smul", "us"],
// begin underline mode
enter_upward_mode: ["sum", "ZP"],
// Start upward car‐ riage motion
enter_xon_mode: ["smxon", "SX"],
// turn on xon/xoff handshaking
erase_chars: ["ech", "ec"],
// erase #1 characters (P)
exit_alt_charset_mode: ["rmacs", "ae"],
// end alternate char‐ acter set (P)
exit_am_mode: ["rmam", "RA"],
// turn off automatic margins
exit_attribute_mode: ["sgr0", "me"],
// turn off all attributes
exit_ca_mode: ["rmcup", "te"],
// strings to end pro‐ grams using cup
exit_delete_mode: ["rmdc", "ed"],
// end delete mode
exit_doublewide_mode: ["rwidm", "ZQ"],
// End double-wide mode
exit_insert_mode: ["rmir", "ei"],
// exit insert mode
exit_italics_mode: ["ritm", "ZR"],
// End italic mode
exit_leftward_mode: ["rlm", "ZS"],
// End left-motion mode
exit_micro_mode: ["rmicm", "ZT"],
// End micro-motion mode
exit_shadow_mode: ["rshm", "ZU"],
// End shadow-print mode
exit_standout_mode: ["rmso", "se"],
// exit standout mode
exit_subscript_mode: ["rsubm", "ZV"],
// End subscript mode
exit_superscript_mode: ["rsupm", "ZW"],
// End superscript mode
exit_underline_mode: ["rmul", "ue"],
// exit underline mode
exit_upward_mode: ["rum", "ZX"],
// End reverse charac‐ ter motion
exit_xon_mode: ["rmxon", "RX"],
// turn off xon/xoff handshaking
fixed_pause: ["pause", "PA"],
// pause for 2-3 sec‐ onds
flash_hook: ["hook", "fh"],
// flash switch hook
flash_screen: ["flash", "vb"],
// visible bell (may not move cursor)
form_feed: ["ff", "ff"],
// hardcopy terminal page eject (P*)
from_status_line: ["fsl", "fs"],
// return from status line
goto_window: ["wingo", "WG"],
// go to window #1
hangup: ["hup", "HU"],
// hang-up phone
init_1string: ["is1", "i1"],
// initialization string
init_2string: ["is2", "is"],
// initialization string
init_3string: ["is3", "i3"],
// initialization string
init_file: ["if", "if"],
// name of initializa‐ tion file
init_prog: ["iprog", "iP"],
// path name of program for initialization
initialize_color: ["initc", "Ic"],
// initialize color #1 to (#2,#3,#4)
initialize_pair: ["initp", "Ip"],
// Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
insert_character: ["ich1", "ic"],
// insert character (P)
insert_line: ["il1", "al"],
// insert line (P*)
insert_padding: ["ip", "ip"],
// insert padding after inserted character
key_a1: ["ka1", "K1"],
// upper left of keypad
key_a3: ["ka3", "K3"],
// upper right of key‐ pad
key_b2: ["kb2", "K2"],
// center of keypad
key_backspace: ["kbs", "kb"],
// backspace key
key_beg: ["kbeg", "@1"],
// begin key
key_btab: ["kcbt", "kB"],
// back-tab key
key_c1: ["kc1", "K4"],
// lower left of keypad
key_c3: ["kc3", "K5"],
// lower right of key‐ pad
key_cancel: ["kcan", "@2"],
// cancel key
key_catab: ["ktbc", "ka"],
// clear-all-tabs key
key_clear: ["kclr", "kC"],
// clear-screen or erase key
key_close: ["kclo", "@3"],
// close key
key_command: ["kcmd", "@4"],
// command key
key_copy: ["kcpy", "@5"],
// copy key
key_create: ["kcrt", "@6"],
// create key
key_ctab: ["kctab", "kt"],
// clear-tab key
key_dc: ["kdch1", "kD"],
// delete-character key
key_dl: ["kdl1", "kL"],
// delete-line key
key_down: ["kcud1", "kd"],
// down-arrow key
key_eic: ["krmir", "kM"],
// sent by rmir or smir in insert mode
key_end: ["kend", "@7"],
// end key
key_enter: ["kent", "@8"],
// enter/send key
key_eol: ["kel", "kE"],
// clear-to-end-of-line key
key_eos: ["ked", "kS"],
// clear-to-end-of- screen key
key_exit: ["kext", "@9"],
// exit key
key_f0: ["kf0", "k0"],
// F0 function key
key_f1: ["kf1", "k1"],
// F1 function key
key_f10: ["kf10", "k;"],
// F10 function key
key_f11: ["kf11", "F1"],
// F11 function key
key_f12: ["kf12", "F2"],
// F12 function key
key_f13: ["kf13", "F3"],
// F13 function key
key_f14: ["kf14", "F4"],
// F14 function key
key_f15: ["kf15", "F5"],
// F15 function key
key_f16: ["kf16", "F6"],
// F16 function key
key_f17: ["kf17", "F7"],
// F17 function key
key_f18: ["kf18", "F8"],
// F18 function key
key_f19: ["kf19", "F9"],
// F19 function key
key_f2: ["kf2", "k2"],
// F2 function key
key_f20: ["kf20", "FA"],
// F20 function key
key_f21: ["kf21", "FB"],
// F21 function key
key_f22: ["kf22", "FC"],
// F22 function key
key_f23: ["kf23", "FD"],
// F23 function key
key_f24: ["kf24", "FE"],
// F24 function key
key_f25: ["kf25", "FF"],
// F25 function key
key_f26: ["kf26", "FG"],
// F26 function key
key_f27: ["kf27", "FH"],
// F27 function key
key_f28: ["kf28", "FI"],
// F28 function key
key_f29: ["kf29", "FJ"],
// F29 function key
key_f3: ["kf3", "k3"],
// F3 function key
key_f30: ["kf30", "FK"],
// F30 function key
key_f31: ["kf31", "FL"],
// F31 function key
key_f32: ["kf32", "FM"],
// F32 function key
key_f33: ["kf33", "FN"],
// F33 function key
key_f34: ["kf34", "FO"],
// F34 function key
key_f35: ["kf35", "FP"],
// F35 function key
key_f36: ["kf36", "FQ"],
// F36 function key
key_f37: ["kf37", "FR"],
// F37 function key
key_f38: ["kf38", "FS"],
// F38 function key
key_f39: ["kf39", "FT"],
// F39 function key
key_f4: ["kf4", "k4"],
// F4 function key
key_f40: ["kf40", "FU"],
// F40 function key
key_f41: ["kf41", "FV"],
// F41 function key
key_f42: ["kf42", "FW"],
// F42 function key
key_f43: ["kf43", "FX"],
// F43 function key
key_f44: ["kf44", "FY"],
// F44 function key
key_f45: ["kf45", "FZ"],
// F45 function key
key_f46: ["kf46", "Fa"],
// F46 function key
key_f47: ["kf47", "Fb"],
// F47 function key
key_f48: ["kf48", "Fc"],
// F48 function key
key_f49: ["kf49", "Fd"],
// F49 function key
key_f5: ["kf5", "k5"],
// F5 function key
key_f50: ["kf50", "Fe"],
// F50 function key
key_f51: ["kf51", "Ff"],
// F51 function key
key_f52: ["kf52", "Fg"],
// F52 function key
key_f53: ["kf53", "Fh"],
// F53 function key
key_f54: ["kf54", "Fi"],
// F54 function key
key_f55: ["kf55", "Fj"],
// F55 function key
key_f56: ["kf56", "Fk"],
// F56 function key
key_f57: ["kf57", "Fl"],
// F57 function key
key_f58: ["kf58", "Fm"],
// F58 function key
key_f59: ["kf59", "Fn"],
// F59 function key
key_f6: ["kf6", "k6"],
// F6 function key
key_f60: ["kf60", "Fo"],
// F60 function key
key_f61: ["kf61", "Fp"],
// F61 function key
key_f62: ["kf62", "Fq"],
// F62 function key
key_f63: ["kf63", "Fr"],
// F63 function key
key_f7: ["kf7", "k7"],
// F7 function key
key_f8: ["kf8", "k8"],
// F8 function key
key_f9: ["kf9", "k9"],
// F9 function key
key_find: ["kfnd", "@0"],
// find key
key_help: ["khlp", "%1"],
// help key
key_home: ["khome", "kh"],
// home key
key_ic: ["kich1", "kI"],
// insert-character key
key_il: ["kil1", "kA"],
// insert-line key
key_left: ["kcub1", "kl"],
// left-arrow key
key_ll: ["kll", "kH"],
// lower-left key (home down)
key_mark: ["kmrk", "%2"],
// mark key
key_message: ["kmsg", "%3"],
// message key
key_move: ["kmov", "%4"],
// move key
key_next: ["knxt", "%5"],
// next key
key_npage: ["knp", "kN"],
// next-page key
key_open: ["kopn", "%6"],
// open key
key_options: ["kopt", "%7"],
// options key
key_ppage: ["kpp", "kP"],
// previous-page key
key_previous: ["kprv", "%8"],
// previous key
key_print: ["kprt", "%9"],
// print key
key_redo: ["krdo", "%0"],
// redo key
key_reference: ["kref", "&1"],
// reference key
key_refresh: ["krfr", "&2"],
// refresh key
key_replace: ["krpl", "&3"],
// replace key
key_restart: ["krst", "&4"],
// restart key
key_resume: ["kres", "&5"],
// resume key
key_right: ["kcuf1", "kr"],
// right-arrow key
key_save: ["ksav", "&6"],
// save key
key_sbeg: ["kBEG", "&9"],
// shifted begin key
key_scancel: ["kCAN", "&0"],
// shifted cancel key
key_scommand: ["kCMD", "*1"],
// shifted command key
key_scopy: ["kCPY", "*2"],
// shifted copy key
key_screate: ["kCRT", "*3"],
// shifted create key
key_sdc: ["kDC", "*4"],
// shifted delete-char‐ acter key
key_sdl: ["kDL", "*5"],
// shifted delete-line key
key_select: ["kslt", "*6"],
// select key
key_send: ["kEND", "*7"],
// shifted end key
key_seol: ["kEOL", "*8"],
// shifted clear-to- end-of-line key
key_sexit: ["kEXT", "*9"],
// shifted exit key
key_sf: ["kind", "kF"],
// scroll-forward key
key_sfind: ["kFND", "*0"],
// shifted find key
key_shelp: ["kHLP", "#1"],
// shifted help key
key_shome: ["kHOM", "#2"],
// shifted home key
key_sic: ["kIC", "#3"],
// shifted insert-char‐ acter key
key_sleft: ["kLFT", "#4"],
// shifted left-arrow key
key_smessage: ["kMSG", "%a"],
// shifted message key
key_smove: ["kMOV", "%b"],
// shifted move key
key_snext: ["kNXT", "%c"],
// shifted next key
key_soptions: ["kOPT", "%d"],
// shifted options key
key_sprevious: ["kPRV", "%e"],
// shifted previous key
key_sprint: ["kPRT", "%f"],
// shifted print key
key_sr: ["kri", "kR"],
// scroll-backward key
key_sredo: ["kRDO", "%g"],
// shifted redo key
key_sreplace: ["kRPL", "%h"],
// shifted replace key
key_sright: ["kRIT", "%i"],
// shifted right-arrow key
key_srsume: ["kRES", "%j"],
// shifted resume key
key_ssave: ["kSAV", "!1"],
// shifted save key
key_ssuspend: ["kSPD", "!2"],
// shifted suspend key
key_stab: ["khts", "kT"],
// set-tab key
key_sundo: ["kUND", "!3"],
// shifted undo key
key_suspend: ["kspd", "&7"],
// suspend key
key_undo: ["kund", "&8"],
// undo key
key_up: ["kcuu1", "ku"],
// up-arrow key
keypad_local: ["rmkx", "ke"],
// leave 'key‐ board_transmit' mode
keypad_xmit: ["smkx", "ks"],
// enter 'key‐ board_trans