aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui
Commit message (Collapse)AuthorAge
* fix: display global statusline correctly with ext_messagesshirasaka2022-05-05
|
* Merge pull request #15674 from yatli/ui_event_extmarkbfredl2022-05-03
|\ | | | | API/UI: ui_event_extmark
| * feat(api/ui): win_extmarksYatao Li2022-05-03
| |
* | feat(server): set $NVIM, unset $NVIM_LISTEN_ADDRESS #11009Justin M. Keyes2022-05-03
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM ------------------------------------------------------------------------ $NVIM_LISTEN_ADDRESS has conflicting purposes as both a parameter ("the current process should listen on this address") and a descriptor ("the current process is a child of this address"). This contradiction means the presence of NVIM_LISTEN_ADDRESS is ambiguous, so child Nvim always tries to listen on its _parent's_ socket. This is the cause of lots of "Failed to start server" spam in our test/CI logs: WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-4480-0 WARN 2022-04-30… server_start:154: Failed to start server: address already in use: \\.\pipe\nvim-2168-0 SOLUTION ------------------------------------------------------------------------ 1. Set $NVIM to the parent v:servername, *only* in child processes. - Now the correct way to detect a "parent" Nvim is to check for $NVIM. 2. Do NOT set $NVIM_LISTEN_ADDRESS in child processes. 3. On startup if $NVIM_LISTEN_ADDRESS exists, unset it immediately after server init. 4. Open a channel to parent automatically, expose it as v:parent. Fixes #3118 Fixes #6764 Fixes #9336 Ref https://github.com/neovim/neovim/pull/8247#issuecomment-380275696 Ref #8696
* refactor(ui): simplify stdin handlingbfredl2022-05-02
|
* feat(mappings): do not simplify the rhs of a mappingzeertzjq2022-04-29
|
* feat(mappings): do not replace existing mapping for simplified formzeertzjq2022-04-29
|
* vim-patch:8.2.4504: when there is a partially matching map full map may not workzeertzjq2022-04-29
| | | | | | | | | | Problem: When there is a partially matching map and modifyOtherKeys is active a full map may not work. Solution: Only simplify modifiers when there is no matching mapping. (closes vim/vim#8792) https://github.com/vim/vim/commit/196c3850dbe95247f7aa1b0000a5cae625a99ef2 Omit test as it sends terminal codes. Use a Lua test instead.
* vim-patch:8.1.2346: CTRL-R CTRL-R doesn't work with modifyOtherKeyszeertzjq2022-04-29
| | | | | | | | | Problem: CTRL-R CTRL-R doesn't work with modifyOtherKeys. Solution: Allow key codes when fetching argument for CTRL-R. (closes vim/vim#5266) Also fix CTRL-G in Insert mode. https://github.com/vim/vim/commit/38571a04b4eb2853f46df8884750bcb9a8115db8 Omit test as it sends terminal codes. Use a Lua test instead.
* vim-patch:8.2.0916: mapping with partly modifyOtherKeys code does not workzeertzjq2022-04-29
| | | | | | | | | | | | Problem: Mapping with partly modifyOtherKeys code does not work. Solution: If there is no mapping with a separate modifier include the modifier in the key and then try mapping again. (closes vim/vim#6200) https://github.com/vim/vim/commit/975a880a1389e8ce6dea8d66a7c109140b2f94ec Cherry-pick applicable part of put_string_in_typebuf(). Revert related changes from 10a5825. Use KEYLEN_PART_KEY for incomplete modifier sequence. Omit test as it sends terminal codes. Use a Lua test instead.
* vim-patch:8.2.0839: dropping modifier when putting a character back in typeaheadzeertzjq2022-04-29
| | | | | | | | | Problem: Dropping modifier when putting a character back in typeahead. Solution: Add modifier to ins_char_typebuf(). (closes vim/vim#6158) https://github.com/vim/vim/commit/b42c0d54279b1fdb79652db0c84171e213458809 Vim's test doesn't seem to work properly as the hit-enter prompt seems to be delayed. Add a Lua screen test.
* test: correct order of arguments to eq() and neq()zeertzjq2022-04-26
|
* vim-patch:8.2.4805: CurSearch used for all matches in current linezeertzjq2022-04-23
| | | | | | Problem: CurSearch used for all matches in current line. Solution: Don't use the non-zero line count. (closes vim/vim#10247) https://github.com/vim/vim/commit/9b36750640e8e89f18afa1446ed80fdbdf0fcac0
* vim-patch:8.2.4759: CurSearch highlight does not work for multi-line matchzeertzjq2022-04-21
| | | | | | Problem: CurSearch highlight does not work for multi-line match. Solution: Check cursor position before adjusting columns. (closes vim/vim#10133) https://github.com/vim/vim/commit/693ccd11606b59eb0f81c6c1948679e61ada4022
* vim-patch:8.2.4724: current instance of last search pattern not easily spottedzeertzjq2022-04-21
| | | | | | | | | Problem: Current instance of last search pattern not easily spotted. Solution: Add CurSearch highlighting. (closes vim/vim#10133) https://github.com/vim/vim/commit/a43993897aa372159f682df37562f159994dc85c This fixes CurSearch highlight for multiline match. Omit screen redrawing code because Nvim redraws CurSearch differently.
* Merge pull request #18145 from bfredl/term_optbfredl2022-04-20
|\ | | | | feat(api): allow remote UI to set terminal options
| * feat(api): add tests for setting terminal ui optionsbfredl2022-04-17
| |
* | feat(highlight): implement CurSearch highlightFamiu Haque2022-04-17
|/ | | | Adds a `CurSearch` highlight group to highlight the current search result under the cursor.
* docs: typo fixes (#17859)dundargoc2022-04-15
| | | | | | | | | | Co-authored-by: Elias Alves Moura <eliamoura.alves@gmail.com> Co-authored-by: venkatesh <shariharanvenkatesh@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Vikas Raj <24727447+numToStr@users.noreply.github.com> Co-authored-by: Steve Vermeulen <sfvermeulen@gmail.com> Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com> Co-authored-by: rwxd <rwxd@pm.me> Co-authored-by: casswedson <58050969+casswedson@users.noreply.github.com>
* feat(keymap): add F38-F63 keys (#17893)zeertzjq2022-04-11
|
* vim-patch:partial:8.1.2333: with modifyOtherKeys CTRL-^ doesn't work (#18048)zeertzjq2022-04-09
| | | | | Problem: With modifyOtherKeys CTRL-^ doesn't work. Solution: Handle the exception. https://github.com/vim/vim/commit/828ffd596394f714270a01a55fc3f949a8bd9b35
* vim-patch:8.2.3925: diff mode confused by NUL bytes (#18033)zeertzjq2022-04-08
| | | | | | Problem: Diff mode confused by NUL bytes. Solution: Handle NUL bytes differently. (Christian Brabandt, closes vim/vim#9421, closes vim/vim#9418) https://github.com/vim/vim/commit/06f6095623cfcc72da08748c058d13b465652fd4
* vim-patch:8.2.4707: redrawing could be a bit more efficient (#18022)zeertzjq2022-04-07
| | | | | Problem: Redrawing could be a bit more efficient. Solution: Optimize redrawing. (closes vim/vim#10105) https://github.com/vim/vim/commit/8c9796085071950f9a03ca0fe116608e4f86aac2
* fix(ui): inccomand performance degradationKillTheMule2022-04-05
| | | | It was broken since the introduction of the macro.
* test: move completion :stopinsert test to completion_spec.lua (#17992)zeertzjq2022-04-04
|
* fix(input): do not translate scroll keys into multiclickszeertzjq2022-04-02
|
* test: add a test for #13916zeertzjq2022-04-01
|
* vim-patch:8.2.4660: cursorcolumn is sometimes not correctzeertzjq2022-04-01
| | | | | | | Problem: Cursorcolumn is sometimes not correct. Solution: Recompute the cursor column when entering Insert mode and the cursor is on a character wider than a screen cell. https://github.com/vim/vim/commit/782c6744b49b30d9460ed00d4773666e42e07163
* Merge pull request #17890 from zeertzjq/conceal-virtcol-changedbfredl2022-03-31
|\ | | | | perf: only redraw concealed line if cursor has moved horizontally
| * perf: only redraw concealed line if cursor has moved horizontallyzeertzjq2022-03-28
| | | | | | | | | | Building upon #17889, this moves conceal redrawing logic into move.c, so that concealed line is only redrawn if cursor has moved horizontally.
* | fix: correct vertical dragging room calculation with global statusline (#17928)zeertzjq2022-03-31
| | | | | | | | This fixes the bug that win_move_statusline() or mouse dragging cannot reduce 'cmdheight' to 1 when global statusline is used.
* | fix(event-loop): duplicate display updating logic in vgetorpeek() (#17913)zeertzjq2022-03-30
| |
* | fix(decorations): do not put empty virt_text (#17872)zeertzjq2022-03-29
|/
* vim-patch:8.2.4630: 'cursorline' not always updated with 'culopt' is ↵zeertzjq2022-03-28
| | | | | | | | | | | "screenline" Problem: 'cursorline' not always updated with 'cursorlineopt' is "screenline". Solution: Call check_redraw_cursorline() more often. (closes vim/vim#10013) https://github.com/vim/vim/commit/bf269ed0b0bd8414eea7bea17465b2738a9a2b55 Code was reverted in patch 8.2.4638, so this just ports the test.
* vim-patch:8.2.4638: superfluous check if a redraw is needed for 'cursorline'zeertzjq2022-03-28
| | | | | | | | | Problem: Superfluous check if a redraw is needed for 'cursorline'. Solution: Remove check_redraw_cursorline(). (closes vim/vim#10030, closes vim/vim#10029) https://github.com/vim/vim/commit/3e559cd88486ffab6b6fb4e0921b4600d137a617 redraw_after_callback() is N/A. Omits changes that just revert code from patch 8.2.4630.
* chore: fix typos (#17755)dundargoc2022-03-25
| | | | Co-authored-by: Jordan Haine <jhaine@securitycompass.com>
* Merge pull request #17821 from zeertzjq/vim-patch-cursorlinezeertzjq2022-03-24
|\ | | | | vim-patch:8.2.{4591,4614}: cursorline redrawing
| * vim-patch:8.2.4591: cursor line not updated when a callback moves the cursorzeertzjq2022-03-24
| | | | | | | | | | | | | | | | Problem: Cursor line not updated when a callback moves the cursor. Solution: Check if the cursor moved. (closes vim/vim#9970) https://github.com/vim/vim/commit/e7a74d53754765f22ef8ce71c915bb669d5f7f3f redraw_after_callback() is N/A. Nvim handles timers on the main loop.
* | feat(input): enable <tab>/<c-i>, <cr>/<c-m>, <esc>/<c-[> pairs unconditionallybfredl2022-03-24
|/
* fix(float): do not switch window before deleting last listed buffer (#17840)zeertzjq2022-03-24
| | | | Just allow close_windows() to close the current window instead. This fixes wrong working directory or autocommands not being triggered.
* fix(float): don't always switch window when deleting last listed buffer (#17836)zeertzjq2022-03-24
|
* test: add test for deleting last listed buffer when there are floats (#17833)zeertzjq2022-03-24
|
* fix(float): make laststatus=1 behave consistently with floating windowszeertzjq2022-03-23
|
* fix(float): handle buffer deletion with floating windowszeertzjq2022-03-23
|
* fix(win_close): count the window the be closed instead of curwinzeertzjq2022-03-23
|
* fix(screen): do not do syntax highlighting at filler or folded lines (#17818)zeertzjq2022-03-23
|
* Merge pull request #17266 from famiu/feat/ui/global-statuslinebfredl2022-03-17
|\ | | | | feat(statusline): add global statusline
| * feat: add support for global statuslineFamiu Haque2022-03-18
| | | | | | | | | | | | | | | | | | | | Ref: #9342 Adds the option to have a single global statusline for the current window at the bottom of the screen instead of a statusline at the bottom of every window. Enabled by setting `laststatus = 3`. Due to the fact that statuslines at the bottom of windows are removed when global statusline is enabled, horizontal separators are used instead to separate horizontal splits. The horizontal separator character is configurable through the`horiz` item in `'fillchars'`. Separator connector characters are also used to connect the horizontal and vertical separators together, which are also configurable through the `horizup`, `horizdown`, `vertleft`, `vertright` and `verthoriz` items in `fillchars`. The window separators are highlighted using the `WinSeparator` highlight group, which supersedes `VertSplit` and is linked to `VertSplit` by default in order to maintain backwards compatibility.
* | chore: fix typos (#17331)dundargoc2022-03-10
| | | | | | | | | | | | Co-authored-by: Hongyi Lyu <hongyi.lyu95@gmail.com> Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: notomo <notomo.motono@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* | Merge pull request #17640 from lewis6991/virttextfixbfredl2022-03-09
|\ \ | | | | | | fix(extmarks): fix signs