aboutsummaryrefslogtreecommitdiff
path: root/src/clint.py
diff options
context:
space:
mode:
authorJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>2017-05-24 21:36:52 +0100
committerJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>2017-06-03 18:53:27 +0100
commit3d8e0594e495c42dbdf3871ef3c3023e128f748c (patch)
treea9987e7a44517a6cde02471d8d552e5a4a49e23b /src/clint.py
parentd65cff9de89936109bc25aec78dc11a16707fe50 (diff)
downloadrneovim-3d8e0594e495c42dbdf3871ef3c3023e128f748c.tar.gz
rneovim-3d8e0594e495c42dbdf3871ef3c3023e128f748c.tar.bz2
rneovim-3d8e0594e495c42dbdf3871ef3c3023e128f748c.zip
tui: Split fix_terminfo() up and refactor.
There are now a few built-in terminfo entries, taken either from unibilium or ncurses terminfo, for falling back upon when there is no terminfo database or when it is missing stuff. In an ideal world, these would be in unibilium itself. The ultimate fallback, for no terminfo database and no built-in terminfo record that matches the terminal type, is now the "ansi" terminal type; so unknown terminal types are now considered to have at minimum the basic ECMA-48 colour, motion, and editing capabilities. The terminfo records are just blobs, raw images of the equivalent terminfo file created with the od command. No longer are incomplete terminfo records built up with code. These blobs are the full, real, records; already built. The post-processing of the terminfo record, once found, is split into the part where we fix known errors and deficiencies in terminfo, and the part where we add extensions that we need that terminfo does not define capabilities for. In an ideal world, the former would be a no-op. No part of the TUI layer apart from these is aware of terminal type or has conditional code based upon checking environment variables at runtime. It is all pre-calculated and written into unibilium (or the TUIData object) at initialization time. This is fairly aggressive about turning on 256-colour and true colour support. This also positively decodes genuine xterm for turning on DECSLRM use, rather than assuming that anything that says that it is xterm is actually xterm, fixing scrolling problems with vertically split windows.
Diffstat (limited to 'src/clint.py')
0 files changed, 0 insertions, 0 deletions