summaryrefslogtreecommitdiffstats
path: root/third_party/python/jinxed/jinxed/terminfo/ansicon.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/jinxed/jinxed/terminfo/ansicon.py')
-rw-r--r--third_party/python/jinxed/jinxed/terminfo/ansicon.py158
1 files changed, 158 insertions, 0 deletions
diff --git a/third_party/python/jinxed/jinxed/terminfo/ansicon.py b/third_party/python/jinxed/jinxed/terminfo/ansicon.py
new file mode 100644
index 0000000000..d4ee079e40
--- /dev/null
+++ b/third_party/python/jinxed/jinxed/terminfo/ansicon.py
@@ -0,0 +1,158 @@
+"""
+Ansicon virtual terminal codes
+
+Information sourced from:
+ https://github.com/adoxa/ansicon/blob/master/sequences.txt
+
+A best effort has been made, but not all information was available
+"""
+
+from .xterm_256color import BOOL_CAPS, NUM_CAPS, STR_CAPS
+
+BOOL_CAPS = BOOL_CAPS[:]
+NUM_CAPS = NUM_CAPS.copy()
+STR_CAPS = STR_CAPS.copy()
+
+
+# Added
+STR_CAPS['cht'] = b'\x1b[%p1%dI'
+STR_CAPS['cnl'] = b'\x1b[%p1%dE'
+STR_CAPS['cpl'] = b'\x1b[%p1%dF'
+STR_CAPS['da1'] = b'\x1b[0c'
+STR_CAPS['dsr'] = b'\x1b[5n'
+STR_CAPS['hvp'] = b'\x1b[%i%p1%d;%p2%df' # Same as cup
+STR_CAPS['setb'] = b'\x1b[48;5;%p1%dm'
+STR_CAPS['setf'] = b'\x1b[38;5;%p1%dm'
+
+# Removed - These do not appear to be supported
+del STR_CAPS['dim']
+del STR_CAPS['flash']
+del STR_CAPS['invis']
+del STR_CAPS['kcbt']
+del STR_CAPS['kEND']
+del STR_CAPS['kf37']
+del STR_CAPS['kf38']
+del STR_CAPS['kf39']
+del STR_CAPS['kf40']
+del STR_CAPS['kf41']
+del STR_CAPS['kf42']
+del STR_CAPS['kf43']
+del STR_CAPS['kf44']
+del STR_CAPS['kf45']
+del STR_CAPS['kf46']
+del STR_CAPS['kf47']
+del STR_CAPS['kf48']
+del STR_CAPS['kf61']
+del STR_CAPS['kf62']
+del STR_CAPS['kf63']
+del STR_CAPS['kIC']
+del STR_CAPS['kind']
+del STR_CAPS['kLFT']
+del STR_CAPS['kmous']
+del STR_CAPS['kNXT']
+del STR_CAPS['kPRV']
+del STR_CAPS['kri']
+del STR_CAPS['kRIT']
+del STR_CAPS['meml']
+del STR_CAPS['memu']
+del STR_CAPS['ritm']
+del STR_CAPS['rmam']
+del STR_CAPS['rmcup']
+del STR_CAPS['rmir']
+del STR_CAPS['rmkx']
+del STR_CAPS['rmm']
+del STR_CAPS['sitm']
+del STR_CAPS['smam']
+del STR_CAPS['smcup']
+del STR_CAPS['smir']
+del STR_CAPS['smkx']
+del STR_CAPS['smm']
+
+# Modified
+NUM_CAPS['colors'] = 16
+NUM_CAPS['cols'] = 80
+NUM_CAPS['lines'] = 30
+NUM_CAPS['pairs'] = 256
+STR_CAPS['cbt'] = b'\x1b[%p1%dZ'
+STR_CAPS['cnorm'] = b'\x1b[?25h'
+STR_CAPS['csr'] = b'\x1b[%p1%{1}%+%d;%?%p2%t%p2%{1}%+%dr'
+STR_CAPS['cub1'] = b'\x1b[D'
+STR_CAPS['cud1'] = b'\x1b[B'
+STR_CAPS['cvvis'] = b'\x1b[?25h'
+STR_CAPS['initc'] = b'\x1b]4;%p1%d;rgb] =%p2%d/%p3%d/%p4%d\x1b'
+STR_CAPS['is2'] = b'\x1b[!p\x1b>'
+STR_CAPS['ka1'] = b'\x00G' # upper left of keypad
+STR_CAPS['ka3'] = b'\x00I' # lower right of keypad
+STR_CAPS['kbs'] = b'\x08'
+STR_CAPS['kc1'] = b'\x00O' # lower left of keypad
+STR_CAPS['kc3'] = b'\x00Q' # lower right of keypad
+STR_CAPS['kcub1'] = b'\xe0K'
+STR_CAPS['kcud1'] = b'\xe0P'
+STR_CAPS['kcuf1'] = b'\xe0M'
+STR_CAPS['kcuu1'] = b'\xe0H'
+STR_CAPS['kDC'] = b'\xe0S'
+STR_CAPS['kdch1'] = b'\x0eQ'
+STR_CAPS['kend'] = b'\xe0O'
+STR_CAPS['kent'] = b'\r'
+STR_CAPS['kf1'] = b'\x00;'
+STR_CAPS['kf2'] = b'\x00<'
+STR_CAPS['kf3'] = b'\x00='
+STR_CAPS['kf4'] = b'\x00>'
+STR_CAPS['kf5'] = b'\x00?'
+STR_CAPS['kf6'] = b'\x00@'
+STR_CAPS['kf7'] = b'\x00A'
+STR_CAPS['kf8'] = b'\x00B'
+STR_CAPS['kf9'] = b'\x00C'
+STR_CAPS['kf10'] = b'\x00D'
+STR_CAPS['kf11'] = b'\xe0\x85'
+STR_CAPS['kf12'] = b'\xe0\x86'
+STR_CAPS['kf13'] = b'\x00T'
+STR_CAPS['kf14'] = b'\x00U'
+STR_CAPS['kf15'] = b'\x00V'
+STR_CAPS['kf16'] = b'\x00W'
+STR_CAPS['kf17'] = b'\x00X'
+STR_CAPS['kf18'] = b'\x00Y'
+STR_CAPS['kf19'] = b'\x00Z'
+STR_CAPS['kf20'] = b'\x00['
+STR_CAPS['kf21'] = b'\x00\\'
+STR_CAPS['kf22'] = b'\x00]'
+STR_CAPS['kf23'] = b'\xe0\x87'
+STR_CAPS['kf24'] = b'\xe0\x88'
+STR_CAPS['kf25'] = b'\x00^'
+STR_CAPS['kf26'] = b'\x00_'
+STR_CAPS['kf27'] = b'\x00`'
+STR_CAPS['kf28'] = b'\x00a'
+STR_CAPS['kf29'] = b'\x00b'
+STR_CAPS['kf30'] = b'\x00c'
+STR_CAPS['kf31'] = b'\x00d'
+STR_CAPS['kf32'] = b'\x00e'
+STR_CAPS['kf33'] = b'\x00f'
+STR_CAPS['kf34'] = b'\x00g'
+STR_CAPS['kf35'] = b'\xe0\x89'
+STR_CAPS['kf36'] = b'\xe0\x8a'
+# Missing F37 - F48
+STR_CAPS['kf49'] = b'\x00h'
+STR_CAPS['kf50'] = b'\x00i'
+STR_CAPS['kf51'] = b'\x00j'
+STR_CAPS['kf52'] = b'\x00k'
+STR_CAPS['kf53'] = b'\x00l'
+STR_CAPS['kf54'] = b'\x00m'
+STR_CAPS['kf55'] = b'\x00n'
+STR_CAPS['kf56'] = b'\x00o'
+STR_CAPS['kf57'] = b'\x00p'
+STR_CAPS['kf58'] = b'\x00q'
+STR_CAPS['kf59'] = b'\xe0\x8b'
+STR_CAPS['kf60'] = b'\xe0\x8b'
+# Missing F61 - F63
+STR_CAPS['khome'] = b'\xe0G'
+STR_CAPS['kich1'] = b'\xe0R'
+STR_CAPS['knp'] = b'\xe0Q'
+STR_CAPS['kpp'] = b'\xe0I'
+STR_CAPS['rs1'] = b'\x1bc\x1b]104ST'
+STR_CAPS['rs2'] = b'\x1b[!p'
+STR_CAPS['sgr'] = b'\x1b[%p1%d%?%p2%t;%p2%d%;%?%p3%t;%p3%d%;%?%p4%t;%p4%d%;%?%p5%t;%p5%d%;' \
+ b'%?%p6%t;%p6%d%;%?%p7%t;%p7%d%;%?%p8%t;%p8%d%;%?%p9%t;%p9%d%;m'
+
+# Need info - Left in, but unsure
+# acsc (covers some, but maybe not all)
+# mc0/mc4/mc5 (print screen/off/on)