| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
They both can handle SGR control sequences in the form set out in
ISO 8613-6:1994/ITU T.416:1993.
|
|
|
|
|
| |
The terminfo commentary states that these are not standalone
entries suitable for end-use.
|
|
|
|
| |
Also comment and augment some terminal colour tests.
|
|
|
|
| |
The test decsription was correct; the test was not.
|
|
|
|
|
|
|
| |
The Interix termcap entry is missing the carriage_return capability which nvim
relies upon. And Interix is one of the few terminal emulators that does not
defer automatic wrap at the right margin, which is now accounted for when
moving the cursor left and when outputting whole lines at a time.
|
| |
|
| |
|
|
|
|
|
| |
Using the right unibilium query function then revealed a latent NULL pointer
problem.
|
|
|
|
|
| |
Using the wrong unibilium query function just happened to work with the
various terminfo records used in local testing.
|
|
|
|
| |
Follows on from fcf0d13f48bffbd41749069ce383d01153dd960c.
|
| |
|
|
|
|
|
|
|
| |
tmux has its own code path, now; and the tmux wrapping was not the ideal thing
to do in the first place.
Also improve the commentary on the built-in terminfo records.
|
|
|
|
|
|
|
|
| |
The details are in the on-line help under :help true-color .
The brief precis is that nvim is (I hope.) converging with tmux and libvte.
It is taking the same approach with setrgbf and setrgbb terminfo capabilities
that it does with the Ss and Se terminfo capabilities.
|
|
|
|
|
| |
No change to their contents, but make the Big Blocks Of Numbers half as wide
but twice as deep, in order to accomodate house style.
|
|
|
|
|
| |
Replace the 8-color xterm from unibilium with the 256-colour one from terminfo.
Add a fallback record for suckless terminal.
|
| |
|
| |
|
|
|
|
| |
Also document better what to do on slow terminals.
|
|
|
|
|
|
|
|
| |
The details are in the on-line help under :help cursor-shape .
The brief precis is that nvim is following the lead of tmux, and going
beyond what tmux does to make cursor shape changes work on a broad range of
terminals. This includes on tmux itself, which is no longer bypassed.
|
|
|
|
|
|
|
|
|
|
| |
Ironically, higher layers trying to be "smart" about the terminal type
but not actually being very smart at all, makes it more difficult rather
than less to correct the TUI layer.
Note that this orphans the os_term_is_nice() function and down the road,
presuming that we do not have to revert this, that function can be removed.
It incorporates knowledge of terminal types and behaviours in the wrong place.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
This documents 256-colour and true colour handling, cursor shapes,
and scrolling regions.
Almost all of these headings are taken from the Vim doco, so that
the :help commands that people learn are a transferable skill.
|
| |
|
|
|
|
|
| |
The clear_screen capability moves the cursor position.
This needs to be accounted for.
|
|
|
|
| |
Per warnings about house style from automated tools.
|
|
|
|
| |
A slight improvement on the CR optimization for some edge cases.
|
|
|
|
|
|
| |
PuTTY does not implement DECLRMM or DECSLRM, but it does implement DECSTBM.
So allow using PuTTY terminal scrolling when the scroll rectangle is the
full width of the terminal.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of emitting CUP in several places each with their own poor local
optimizations, funnel all cursor motion through a central place.
This central function performs the same optimization for every place that
needs to move the cursor, and implements a better set of optimizations:
* Emit CUU/CUD/CUF/CUB instad of CUP when they are likely shorter.
* Use BS and LF when they are shorter than CUB and CUD.
* Use CR for quick returns to column zero.
* If printing the next few characters is shorter than a rightwards motion,
then just write out the characters.
|
|
|
|
|
| |
Track whether the terminal is in no attribute mode, assuming that it starts
this way, and do not attempt to reset back to that mode if already in it.
|
| |
|
| |
|
|
|
|
|
| |
... rather than hardwiring the string and testing the terminal
type every time the screen is re-sized.
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
The error case is already handled and an appropriate error message is
already printed.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Also:
Add ru to shada tests with all keys
Add test for unset unnamed and register 0
|
| | |
|
| |
| |
| |
| |
| | |
shada_write was too long (over 500 lines) and caused a linting error.
Register initialization was moved to its own function in order to save lines.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Ref #4645
|
| |
| |
| |
| |
| |
| | |
LuaRocks 2.3 and onwards changed the /P option to no longer include the
version number which made newer releases of LuaRocks fail when compiling
on Windows.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reverts commit 337b6179df852350b52409fd3806e4b47ab2875b
Closes #6716 at the expense of not being able to use a
multi-key 'pastetoggle' manually.
Multi-key 'pastetoggle' can still be used when inserting the entire
option into the typebuffer at once (though the use here is
questionable).
Also remove those tests to do with waiting for the completion of
'pastetoggle' and mention in the documentation that 'pastetoggle'
doesn't wait for timeout.
|
|\ \
| | |
| | | |
if_cscope: Fix truncation of formated output
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
snprintf() has to truncate the string written to buffer buf for maximal
size_t value.
Increase buffer size to fix this.
|
|\ \ \
| | | |
| | | | |
connect to socket (RPC only for the moment)
|