| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This aligns with `terminfo_stop`, which also flushes the buffer
after disabling things.
This ensures Neovim gets the response to the terminal background query
before exiting (`nvim -u NONE -cq` with e.g. urxvt or kitty).
Caveats:
* With kitty this causes some "flickering", likely since the alternate
screen is being setup with `nvim -u NONE -cq`, whereas it would not be
processed otherwise before quitting (as with the background query).
* tmux after this patch may print ^[[I (CSI I / FocusGained) after
`nvim -u NONE -cq`.
Fixes https://github.com/neovim/neovim/issues/11062
Ref: https://github.com/neovim/neovim/issues/11181
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(#11132)
"smglr" was added for TERM=xterm recently to the terminfo database,
which causes display issues with terminals that use `TERM=xterm` by
default for themselves, although not supporting it.
This patch makes "smglr" to be ignored then.
Fixes https://github.com/neovim/neovim/issues/10562
|
| |
|
|
|
|
| |
fix #3436
Includes:
vim-patch:8.0.1038: strike-through text not supported
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Otherwise cursor and redraw code for normal and insert mode will not run. The
"tickle" workaround was used for this instead, and can now be removed.
The builtin vim.lua got the name
[string "-- Nvim-Lua stdlib: thevimmodule (:help l..."]
in error messages. Fix it to something reasonable.
|
| | |
|
| |
|
|
|
|
|
|
| |
- Show error only once per "paste stream".
- Drain remaining chunks until phase=3.
- Lay groundwork for "cancel".
- Constrain semantics of "cancel" to mean "client must stop"; it is
unrelated to presence of error(s).
|
| |
|
|
|
|
|
|
|
|
| |
HACK: The cursor does not get repositioned after the paste completes.
Scheduling a dummy event seems to fix it.
Test case:
0. Revert this commit.
1. Paste some text in Normal-mode.
2. Notice the cursor is still in the cmdline area.
|
| |
|
|
|
|
| |
- Normal-mode redo idiom(?): prepend "i" and append ESC.
- Insert-mode only needs AppendToRedobuffLit().
- Cmdline-mode: only paste the first line.
|
| | |
|
| |
|
|
|
|
| |
- Send `phase` parameter to the paste handler.
- Redraw at intervals and when paste terminates.
- Show "..." throbber during paste to indicate activity.
|
| |
|
|
| |
This is "readfile()-style", see also ":help channel-lines".
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Flush input before entering, not only when leaving, paste mode. Else
there could be pending input which will erroneously be sent to the paste
handler.
|
| |
|
|
|
|
|
| |
- Define in Lua so that it is compiled-in (available with `-u NONE`).
TODO: Eventually we will want a 'pastefunc' option or some other way to
override the default paste handler.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
This was added to ncurses terminfo for vte and tmux.
Ref: https://github.com/tmux/tmux/issues/1492#issuecomment-427675180
Assumes color support is available when extended underline is supported.
Ref: https://github.com/tmux/tmux/issues/1492#issuecomment-427803984
|
| | |
|
| |
|
|
|
| |
This is clearer/more explicit and avoids potential mismatch between what unibilium thinks vs what Nvim thinks.
For reference: https://github.com/mauke/unibilium/blob/e3b16d6219ca1cb92d98b1d9cc416b49a3ac468e/uniutil.c#L203-L211
|
| | |
|
| |
|
|
|
|
| |
Replace cud1 with \x1b[B because \n is CRLF on Windows (due to libuv).
fix #9461
|
| |
|
| |
Fixes https://github.com/neovim/neovim/issues/10159.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: When we changed startup to wait for the TUI (like a remote UI),
we forgot to set os/input.c:global_fd. That used to be done by
input_start().
Solution: Initialize os/input.c:global_fd before initializing libtermkey
(termkey_new_abstract) so that tui_get_stty_erase() and
friends can inspect the correct fd.
fixes #10134
close #10174
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
fixes #7967
fixes #9959
Historically Vim/Nvim does backflips to handle input and show messages
before a UI is available. This logical contradiction was already fixed
for remote UIs (#9024 c236e80cf3df). Fixing it also for the TUI avoids
problems on Windows, simplifies the logic, and avoids races like #9959.
- Move ui_builtin_start() to the same position as embedded_mode
remote_ui_wait_for_attach().
- If stdin is redirected, save the original `stdin` and replace fd
0 with tty before calling `ui_builtin_start()`.
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fix #9918
ref dbc25f5a87cf3bcfe1caac1eb1ff8b3a6978a415
Before 7ede14d191b1 the UGRID_FOREACH_CELL loop was never entered,
because it expanded to an always-false condition.
From build/src/nvim/auto/tui/tui.i:
do {
UCell *row_cells = (grid)->cells[grid->row];
for (int col = grid->col; col < col; col++) {
UCell *cell = row_cells + col;
(void)(cell);
{
print_cell(ui, cell);
};
}
} while (0);
After 7ede14d191b1 issue #9918 was reported.
$ ./build/bin/nvim -Nu NONE +'colo evening'
:h<tab> " causes cursor to change colors
Since the code was dead before 7ede14d191b1, just remove it.
|
| |
|
| |
ref #9825
|
| |
|
|
|
|
|
|
| |
- Rename the module prefix to "tinput_" instead of "term_input".
- Some of the private functions were confusing, for example
enqueue_input() calls input_enqueue() in another module.
- It is helpful for discussion, documentation, and stacktraces if
functions (even private) are globally unique.
|
| |
|
|
|
| |
Based on feedback from upstream:
https://github.com/vim/vim/pull/4100
|
| |
|
|
|
|
|
|
|
|
|
| |
If terminal response is received during startup, set 'background' from
a nested "one-shot" (once) VimEnter autocmd.
The previous not-so-clever "self-rescheduling" approach could cause
a long delay at startup (event-loop does not make forward progress).
fixes #9675
ref #9509
|
| |
|
|
|
|
|
|
|
| |
tigetstr (used by libtermkey/driver-ti.c) may return -1 as a pointer.
Documented in man 3 tigetstr. https://linux.die.net/man/3/tigetstr
> The tigetstr routine returns the value (char *)-1 if capname is not a string
> capability, or 0 if it is canceled or absent from the terminal description.
Fixed #9687
|
| |
|
|
| |
Co-Author: Dongdong Zhou <dzhou121@gmail.com>
|
| |
|
|
|
|
| |
...unless the 'lines' and/or 'columns' options were set.
ref 5732340c2035
fixes #5843
|
| |
|
|
|
|
|
|
|
| |
- Like Vim, use set_option_value() followed by reset_option_was_set().
- Do not use set_string_default(), so the default is predictable.
This affects `:set bg&`.
- Wait until end-of-startup (VimEnter) to handle the response. The
response is racey anyways, so timing is irrelevant. This allows
OptionSet to be triggered, unlike during startup.
|
| |\ |
|
| | |\ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
xterm-compatible terminals support reporting their configured colors
back to the application. Use this to obtain the current background
color, compute its luminance to classify it as light or dark, and set
'bg' accordingly. Also set the default for 'bg', so that `:set bg&`
will revert to that detected default.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
https://github.com/neovim/neovim/issues/9598#issuecomment-462421302
> On systems other than macOS, terminfo always has them set. It's part
> of the ANSI standard SGR codes
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
tmux users are encouraged to use "tmux-256color" instead of the old
"screen-256color". Put this in your .tmux.conf :
if-shell 'infocmp tmux-256color' 'set -g default-terminal "tmux-256color"' 'set -g default-terminal "screen-256color"'
If default-terminal is "tmux-256color" AND tmux finds its terminfo, THEN
it will enable italics (regardless of whether the terminfo contains
sitm/ritm).
OTHERWISE tmux "emulates screen", which means it emits italics as
"reverse". That's unfortunate, but it's an acceptable compromise that
allows Nvim to support italics in tmux by default in compatible (and
increasingly-common) configurations.
Test case:
tmux
nvim -u NORC +'hi Comment cterm=italic' CMakeLists.txt
ref #9598
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is the conservative approach, requiring TERM=nsterm as recommended
at `:help $TERM`. It won't work with Terminal.app's default of
TERM=xterm-256color, nor in tmux.
Test case:
TERM=nsterm nvim -u NORC +'hi Comment cterm=italic' CMakeLists.txt
closes #9598
|
| |/ / |
|
| | |
| |
| | |
fixes #9461
|
| | |
| |
| |
| |
| | |
False positive. Documentation for grid_scroll says "`cols` is always
zero, reserved for future use".
|
| |\ \ |
|