| Commit message (Collapse) | Author | Age |
| ... | |
| | | |
|
| |/
|
|
| |
* Use the Eneks and Dseks terminfo attributes if they exist
* Add VTE versions below 0.54.0 to the blacklist
|
| |
|
|
|
|
|
|
|
|
| |
This make Nvim recognize `ESC NUL` as <M-C-Space>, as many terminal
emulators (including libvterm) send <M-C-Space> as `ESC NUL`.
There is already another unambiguous way to encode a `ESC` key supported
by libtermkey: `ESC [ 2 7 u`, which is a `CSI u` sequence.
If one still wants to use `ESC NUL` as `ESC`, they can just map
<M-C-Space> to <Esc>.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Follow up to #17771. The sequence `CSI > 4 ; 1 m` does not enable
distinguishing all available keys; notably, it excludes `<Tab>`. Using
`CSI > 4 ; 2 m` tells the terminal to disambiguate *all* keys, which is
much more useful.
The meaning of the final parameter is documented [here][1].
[1]: https://invisible-island.net/xterm/manpage/xterm.html#VT100-Widget-Resources:modifyOtherKeys
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On TUI startup write the CSI sequence that signals to the controlling
terminal that Neovim supports the CSI u scheme for encoding modifiers
documented in [1].
This is similar to, but distinct from, Vim's usage of the `t_TI` and
`t_TE` variables to handle Xterm's `modifyOtherKeys` setting. For a
longer explanation on those differences see [2]. Since Neovim uses
libtermkey for key input handling, we use the CSI u encoding rather than
Xterm's modifyOtherKeys encoding.
[1]: http://www.leonerd.org.uk/hacks/fixterms/
[2]: https://invisible-island.net/xterm/modified-keys.html
|
| |
|
|
|
| |
When pasting, all of key buffer can be consumed, and in case of phase 3
the paste event must be put exactly once, so using rbuffer_read() should
be better here.
|
| | |
|
| | |
|
| |
|
| |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix(coverity/349942): structurally dead code
* fix(coverity/331396): operands don't affect result
* fix(coverity/331393): operands don't affect result
* fix(coverity/331392): operands don't affect result
* fix(coverity/331384): operands don't affect result
* fix(coverity/331374): operands don't affect result
* fix(coverity/331372): operands don't affect result
* fix(coverity/331371): operands don't affect result
* fix(coverity/331364): operands don't affect result
* fix(coverity/105585): operands don't affect result
|
| |
|
|
|
|
|
|
| |
This commit finishes support for colored and styled underlines adding
`CSI 4 : [2,4,5] m` support providing double, dashed, and dotted
underlines
Fixes #17362.
|
| | |
|
| |
|
|
|
|
| |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: Dani Dickstein <daniel.dickstein@gmail.com>
Co-authored-by: Axel Dahlberg <git@valleymnt.com>
|
| |
|
|
|
|
|
|
| |
Problem: Some type casts are redundant.
Solution: Remove the type casts. (closes vim/vim#9643)
https://github.com/vim/vim/commit/420fabcd4ffeaf79082a6e43db91e1d363f88f27
This is not a literal port but an equivalent one.
|
| |
|
|
|
|
|
|
|
| |
Co-authored-by: Gregory Anders <8965202+gpanders@users.noreply.github.com>
Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com>
Co-authored-by: Alef Pereira <ealefpereira@gmail.com>
Co-authored-by: AusCyber <willp@outlook.com.au>
Co-authored-by: kylo252 <59826753+kylo252@users.noreply.github.com>
|
| | |
|
| | |
|
| |
|
|
|
|
| |
The latter were added for xterm by ncurses 6.3 and are similarly
affected.
Fixes https://github.com/neovim/neovim/issues/16238
|
| |
|
|
|
|
|
|
|
| |
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
vim/vim#3302) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
https://github.com/vim/vim/commit/f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
* refactor: format all C files under nvim
* refactor: disable formatting for Vim-owned files:
* src/nvim/indent_c.c
* src/nvim/regexp.c
* src/nvim/regexp_nfa.c
* src/nvim/testdir/samples/memfile_test.c
|
| |
|
|
|
|
| |
* refactor: format header files with uncrustify
* fixup(justin): skip formatting of terminfo_defs.h
* fixup: force winsock2 to be included first
* fixup: simplify disable/enable directive to "uncrustify:off/on"
|
| |
|
|
|
| |
Before #15889, we used our fork of libuv which supports Windows 7/8.
After #15889, we use upstream libuv, which does not support Windows 7 and lacks
mouse/altbuf support for Windows 8 console.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* refactor: format with uncrustify
* fixup(dundar): fix functions comments
* fixup(dundar): remove space between variable and ++/--
* fixup(dundar): better workaround for macro attributes
This is done to be able to better use uncrustify rules for macros
* fixup(justin): make preprocessors follow neovim style guide
|
| | |
|
| |
|
| |
Apply "redundant cast to the same type" fix from clangd.
|
| | |
|
| | |
|
| |
|
|
| |
There's already an ignore directive but it's placed on the wrong line.
This commit should correct it.
|
| |
|
|
|
| |
False positive. Documentation for grid_scroll says "`cols` is always
zero, reserved for future use".
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Revert "tui: improve support for tmux, GNU Screen"
This reverts commit c266c2f36ea56220268d2b19364e28815e338c2f.
This commit broke neovim under tmux, where it "types" the background
string as input to the terminal. Fixing this with neovim as-is requires
changing tmux keybindings or TERM settings, which has to be done by
every single user, therefore a fix should happen on neovim's side.
Fixes #14298
* tui: fix code lints.
|
| |
|
|
| |
Closes #14573
|
| |
|
|
| |
Wrapping it in DCS allows the get_bg features to work with tmux, GNU Screen.
|
| | |
|
| |
|
|
|
|
|
|
| |
assert() is compiled out for release builds, but we don't want to
continue running in these impossible situations.
This also resolves the "implicit fallthrough" warnings for the asserts
in switch cases.
|
| |
|
|
|
| |
Adjust the test for handle_background_color() according to
bd0275182b1c1b14c43dc4fc7e9f9da05071e56c.
|
| |
|
|
|
|
|
|
| |
Terminal responses may be fragmented. In that case, the problem that was
not processed normally and was processed in the same way as user input
is corrected.
fixes #11393.
|
| |
|
|
| |
fixes #11699, #11991.
|
| |
|
|
|
|
|
|
| |
termkey_strfkey() formats ctrl-l and ctrl-shift-l as <C-l> and <C-L>,
respectively. Nvim wants the latter to look like <C-S-L>, since <C-l>
and <C-L> are interpreted the same way.
This is only required when the Ctrl modifier is present.
|
| |
|
|
|
|
|
|
| |
This allows us to remove special-case handling of Esc in
forward_modified_utf8(), which was always sending "<Esc>" to nvim even
when there were modifiers present.
Closes #12584
|
| |
|
|
| |
fixes #12322.
|
| |
|
|
| |
fixes #13073.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- TUI: Fix a case where the cursor was not displayed after hiding the
cursor and then setting it to be displayed again.
- Change to reset everything before setting guicursor.
fixes #12800
close #12811
Steps to reproduce:
nvim -u NORC
:set termguicolors
:hi nCursor guifg=red guibg=red
:hi iCursor guifg=green guibg=green
:hi cCursor guifg=blue guibg=blue
:set guicursor=n:block-nCursor,i:hor25-iCursor,c:ver25-cCursor
:set guicursor-=c:ver25-cCursor
Actual behaviour: Cursor is a blue vertical.
Expected behaviour: Cursor should be the default color block.
|
| | |
|
| |
|
|
|
|
|
| |
This reverts commit f3ffe0b325170dd214b80e371bee5a56b7054940.
Sending a control sequence to the host terminal, wrapped in DCS, causes
problems because it changes the state of the host terminal outside the
screen's control. This change will therefore be reverted.
|
| |
|
|
| |
This reverts commit 9d0222ee3e232be859c3c70e6681f7156b5ac9d5.
|
| | |
|