diff options
author | Tom Churchman <thomas@kepow.org> | 2022-12-19 00:10:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-18 15:10:47 -0800 |
commit | a7332ba9b429f9676723eb88cffb2068f5a95c9b (patch) | |
tree | cfb32eee6c2e704fce0c64f2c4c07249579d7dc2 /runtime/lua/vim/lsp/semantic_tokens.lua | |
parent | bf9ad5db962509f3434726b7ad84d31d002fb8a3 (diff) | |
download | rneovim-a7332ba9b429f9676723eb88cffb2068f5a95c9b.tar.gz rneovim-a7332ba9b429f9676723eb88cffb2068f5a95c9b.tar.bz2 rneovim-a7332ba9b429f9676723eb88cffb2068f5a95c9b.zip |
fix(tui): set cursor color param as string when required #21407
Problem:
See #20628. Terminals supporting cursor color changing usually set the
"user-defined" `Cs` terminfo capability. Most terminals expect the parameter to
the capability to be a string (in hex format like `#0099ff` or like
`rgb:00/99/ff`), others may expect a number.
Nvim currently can't handle string parameters, causing terminals to receive
a bogus command.
Unfortunately, as the `Cs` capability is "user-defined", there's no strict
format. The parameter it takes isn't really standardized. It seems most
terminals in use follow xterm; iTerm appears to be an exception.
Solution:
Use the `Cs` capability more reliable by following terminfo and
sending the color in hex format, at the cost of using unibilium string vars.
Alternatively, could revert https://github.com/neovim/neovim/commit/34d41baf8a8e4ab8c006b7f29a8106e60e311aa2
and hardcode the specific format required by terminals, instead of reading
terminfo.
Fixes #20628
Fixes #19607
Diffstat (limited to 'runtime/lua/vim/lsp/semantic_tokens.lua')
0 files changed, 0 insertions, 0 deletions