aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/tui
Commit message (Collapse)AuthorAge
* Revert "tui: improve support for tmux, GNU Screen" (#14786)Érico Nogueira Rolim2021-06-30
| | | | | | | | | | | | | | * 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.
* fix(tui): Stop sending extra parameter for save/restore titleJames McCoy2021-05-18
| | | | Closes #14573
* tui: improve support for tmux, GNU Screenerw72021-03-11
| | | | Wrapping it in DCS allows the get_bg features to work with tmux, GNU Screen.
* tui: fix possibility of evaluating uninitialized variables (#13987)erw72021-02-22
|
* Use abort() instead of assert(false) for things that should never happenJames McCoy2021-01-31
| | | | | | | | 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.
* test,unit: Change test according to change of bg color response processingerw72020-11-20
| | | | | Adjust the test for handle_background_color() according to bd0275182b1c1b14c43dc4fc7e9f9da05071e56c.
* TUI: fix processing of bg color responseerw72020-11-20
| | | | | | | | 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.
* TUI: fix bracket paste getting stuckerw72020-11-20
| | | | fixes #11699, #11991.
* tui/input: Add S- modifier for chords with capital ASCIIJames McCoy2020-11-16
| | | | | | | | 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.
* Understand Escape as another name for EscJames McCoy2020-11-16
| | | | | | | | 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
* tui: fix problem with uv_tty_set_mode failing due to signalerw72020-10-13
| | | | fixes #12322.
* tui: fix problem that TTY does not go into raw modeerw72020-10-12
| | | | fixes #13073.
* UI: fix cursor not displayed after hiding and un-hiding #12811erw72020-09-12
| | | | | | | | | | | | | | | | | | | | | | - 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.
* nvim__screenshotBjörn Linse2020-09-05
|
* Revert "tui: improve support for GNU Screen (#12098)"erw72020-08-27
| | | | | | | 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.
* Revert "tui: Fix italics when $TERM is screen in tmux #12199"erw72020-08-27
| | | | This reverts commit 9d0222ee3e232be859c3c70e6681f7156b5ac9d5.
* tui: fix pvs/v728Jan Edmund Lazo2020-08-15
|
* tui.c: augment_terminfo: remove unused colorterm argument (#12602)Daniel Hahler2020-07-19
| | | It is unused since 8898793ad.
* win/TUI: enable mouse on ConEmu and vtpcon without vtierw72020-05-26
|
* tui: Fix italics when $TERM is screen in tmux #12199erw72020-04-28
| | | | | | Tmux uses smso to display italics when the default-terminal is screen, screen-*. That's not the display the user wants, so change it to do the same display as before f3ffe0b32. fixes #12193.
* tui: improve support for GNU Screen (#12098)erw72020-04-26
| | | | | | | | Wrapping it in DCS allows the following features to work with GNU Screen. - Changing the cursor style. - bracketed paste. - focus reporting.
* TUI: block signals on suspend #12180Kei Kamikawa2020-04-25
| | | fix #8075
* tui: Don't call uv_write without output (#12146)erw72020-04-20
| | | Fixes #11653, #11990. Check for cursor visibility to toggle uv_write call.
* Merge pull request #12005 from erw7/fix-screen-vsplitJames McCoy2020-04-15
|\ | | | | Closes #11998
| * Fix screen terminal family issueserw72020-03-12
| |
| * Fix splitting issue on gnu screenerw72020-03-12
| | | | | | | | | | gnu screen does not have smglr, but it inherits smglr from xterm and splitting will cause drawing problems. So disable smglr.
* | TUI: support setting cursor color in tmux (#12100)Thomas Churchman2020-04-14
| |
* | TUI: do not use "nvim_get_option" in tui threaderw72020-03-21
|/ | | | | | Since "nvim_get_option" is executed on the tui thread as a C function instead of msgpack-rpc, it accesses global variables that may change on the main thread.
* TUI: reset background color before scroll #11909Jakub Łuczyński2020-02-23
| | | fixes #11893
* vim-patch:8.1.1201: output of :command is hard to readJan Edmund Lazo2020-02-16
| | | | | | | Problem: Output of :command is hard to read. Solution: Make some columns wider, some narrower. Truncate the command when listing all. https://github.com/vim/vim/commit/725310d89e1ba268bf410472b7de054c6c260161
* Add stdin, stdout replacement functionserw72020-01-17
|
* Remove (void) hacks, Mark unused attrsJan Edmund Lazo2020-01-08
|
* TUI: can make the cursor transparent #11519Matthieu Coudron2019-12-19
| | | when setting 'guicursor' highlight blend=100.
* terminfo_is_bsd_console: fallback to falseDaniel Hahler2019-12-01
| | | | Ref: https://github.com/neovim/neovim/commit/ab7da4c53138768#r36200515
* TUI: use stdio names instead of magic numbers #11410erw72019-11-17
|
* terminal: enable pass through indexed colors to TUIBjörn Linse2019-11-02
|
* tui: simplify branching of rgb vs cterm colorsBjörn Linse2019-11-02
|
* TUI/thread: guard env map from potential race with unibilium #11259erw72019-10-20
| | | unibi_from_term calls getenv internally, so exclusive control is required.
* tui: fix handling of bg response after suspend (#11145)Daniel Hahler2019-10-03
| | | | | | | | | | | | | | | | `tui_terminal_after_startup` gets called right after resuming from suspending (via `Ctrl-z`) already (not delayed as with the startup itself), and would set `waiting_for_bg_response` to false then directly. This results in the terminal response not being processed then anymore, and leaking into Neovim itself. This changes it to try 5 times always, which means that it typically would stop after a few characters of input from the user typically, e.g. with tmux, which does not send a reply. While it might be better to have something based on the time (e.g. only wait for max 1s), this appears to be easier to do. Fixes regression in 8a4ae3d.
* patch_terminfo_bugs: TERM=xterm with non-xterm: ignore smglr (#11132)Daniel Hahler2019-10-02
| | | | | | | | | "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
* tui: improve handle_background_color: short-circuit (#11067)Daniel Hahler2019-09-30
| | | | | | | | * handle_background_color: short-circuit if handled already * Unit tests for handle_background_color * set waiting_for_bg_response to false in tui_terminal_after_startup By then it should have been received.
* terminfo_start: keep first flushing of ui buffer (#11118)Daniel Hahler2019-09-29
| | | | | | | | Initially done in 3626d2107 (#11074, for #11062), it was reverted then in 445f2f409 (#11083, which added flushing later). But it is still required here to avoid the reporting of the background response with urxvt/kitty (`nvim -u NONE -cq`). Apparently I've tested this not enough with 445f2f409 (probably only within tmux).
* tui: flush ui buffer in tui_terminal_after_startup (#11083)Daniel Hahler2019-09-24
| | | | | | | | | | | | | | This avoids having a dummy event to tickle the main loop. Confirmed using `nvim -u NONE -c 'au FocusGained * q'` in tmux (with `:set -g focus-events on`): without the flushing it would only exit after pressing a key. Moves the flushing done recently in 3626d2107. `nvim -u NONE -cq` is still working (i.e. consuming the response for the terminal background query itself), and the flickering mentioned in 3626d2107 is reduced again. Reverts part of bfb21f3e0 (#7729).
* terminfo_start: flush buffer #11074Daniel Hahler2019-09-22
| | | | | | | | | | | | | | | | 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
* syntax, TUI: support "strikethrough"Jaskaran Singh2019-09-13
| | | | | | fix #3436 Includes: vim-patch:8.0.1038: strike-through text not supported
* tui/input: remove "cancel paste" logic which should be redundantBjörn Linse2019-08-31
|
* events: loop_schedule() is unclear, rename it loop_schedule_fast()Björn Linse2019-08-31
|
* tui/input: defer nvim_paste properly.Björn Linse2019-08-31
| | | | | | | | | 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.
* API: nvim_paste: add `crlf` parameterJustin M. Keyes2019-08-30
|
* paste: handle vim.paste() failureJustin M. Keyes2019-08-27
| | | | | | | | - 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).