aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/multigrid_spec.lua
Commit message (Collapse)AuthorAge
* refactor(grid): use batched updates for statusline and rulerbfredl2023-09-27
|
* vim-patch:9.0.1919: Wrong curswant when clicking on empty line or with vsplitszeertzjq2023-09-21
| | | | | | | | | | Problem: Wrong curswant when clicking on empty line or with vsplits. Solution: Don't check for ScreenCols[] before the start of the window and handle empty line properly. closes: vim/vim#13132 https://github.com/vim/vim/commit/03cd697d635f1b0e7ffe21cf8244a8fb755f2ddb
* fix(ui): delay win_viewport until screen update #24182fredizzimo2023-07-05
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Sometimes, when nvim sends the `win_viewport` event, for example when scrolling with visible folds on the screen, it reports the `scroll_delta` value one batch into "future". So when the client application is trying to show the new viewport it's not yet updated, resulting in temporary corruption / screen flickering. For more details see #23609, and starting from [this comment]( https://github.com/neovide/neovide/pull/1790#issuecomment-1518697747) in https://github.com/neovide/neovide/pull/1790,, where the issue was first detected. Note that some of the conclusions in those are not fully accurate, but the general observations are. Solution: When there are pending updates to a Window, delay the `win_viewport` UI event until the updates are sent. This ensures that there's no flush between sending the viewport and updating of the lines corresponding to the new viewport. Document the existing viewport behaviour (for cases where there are no extra flushes), give a hint about how applications can deal with the slightly surprising behaviour of the viewport event being sent after the updates. Fixes https://github.com/neovim/neovim/issues/23609
* perf(ui-ext): approximate scroll_delta when scrolling too much (#24234)zeertzjq2023-07-04
|
* fix(ui-ext): "scroll_delta" handle topfill and skipcol (#24249)zeertzjq2023-07-04
|
* refactor(options): deprecate nvim[_buf|_win]_[gs]et_optionLewis Russell2023-05-21
| | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: famiu <famiuhaque@protonmail.com>
* fix(pum): don't position too far with resized parent grid (#23442)zeertzjq2023-05-03
|
* fix(mouse): fix popup_setpos position check with ext_multigrid (#23436)zeertzjq2023-05-02
|
* fix(normal): make "g$" work properly with resized gridzeertzjq2023-05-02
|
* fix(drawline): make cursorlineopt=screenline work with resized gridzeertzjq2023-05-02
|
* fix(float): make bufpos work properly with resized parent gridzeertzjq2023-05-02
|
* feat(ui): add scroll_delta to win_viewport event #19270Matthias Deiml2023-03-12
| | | | | | | | | | scroll_delta contains how much the top line of a window moved since the last time win_viewport was emitted. It is expected to be used to implement smooth scrolling. For this purpose it only counts "virtual" or "displayed" so folds should count as one line. Because of this it adds extra information that cannot be computed from the topline parameter. Fixes #19227
* test: adding/removing winbar should not cause win_pos events (#21226)zeertzjq2022-11-29
|
* feat(eval)!: make Vim functions return inner window width and height (#19743)zeertzjq2022-08-24
| | | | | | | | | In non-multigrid UI the only change is that the returned height now excludes winbar, and this is compatible with Vim. In multigrid UI this means the return value of these functions now reflect the space available for buffer lines in a window. No change in nvim_win_get_height() and nvim_win_get_width().
* fix(mouse): fix mouse drag position with winbarzeertzjq2022-05-19
|
* fix(ui): make winbar work with floats and multigridbfredl2022-05-18
|
* refactor(ui)!: link `VertSplit` to `Normal` by defaultFamiu Haque2022-05-15
| | | | | Avoids using `gui=reverse` on `VertSplit` and makes window separators look much nicer by default.
* feat(api): win_viewport also sends line_count #15613Yatao Li2021-09-10
|
* fix(mouse.c): fix mouse drag positions on multigrid #12667Ville Hakulinen2021-09-10
| | | | | | | Currently, multigrid mouse drag positions are handled incorrectly if the drag event is not in the top left grid. Fix this by not adjusting the position of the event in jump_to_mouse. related: #15091
* fix(multigrid): #15075 mouse events crash neovimYatao Li2021-09-08
|
* ui: Fix win_hide distination gridshirasaka2020-12-05
| | | | | | When create tab, win_hide sent to new tab and new tab's previous tab. So, if created tab that not next tab (eg. $tabnew cmd), send win_hide to not current tab, and fixed this.
* A Mudholland Dr. RecastBjörn Linse2020-10-19
| | | | | The commit summary maybe does not make sense, but calling a function that does not wait on anything `wait()` makes even less sense.
* api/ui: win_viewport event for visible range and cursor position in windowBjörn Linse2020-04-01
|
* tests/ui: remove unnecessary screen:detach()Björn Linse2019-10-13
| | | | | | | | | | | | | It is perfectly fine and expected to detach from the screen just by the UI disconnecting from nvim or exiting nvim. Just keep detach() in screen_basic_spec, to get some coverage of the detach method itself. This avoids hang on failure in many situations (though one could argue that detach() should be "fast", or at least "as fast as resize", which works in press-return already). Never use detach() just to change the size of the screen, try_resize() method exists for that specifically.
* test/ui: update tests for new msg_grid implementationBjörn Linse2019-09-01
|
* test/ui: properly test win_hide by explicitly marking hidden gridsBjörn Linse2019-08-17
|
* ui: use Window type in win_pos consistently with win_float_posBjörn Linse2019-08-17
| | | | Also check invalid positional arguments to screen:expect()
* test: clear(): remove `opts.headless` parameterJustin M. Keyes2019-04-27
| | | | | | | Callers can instead specify `args_rm={'--headless'}`. TODO: should `nvim_argv` have "--headless" by default? Need to inspect some uses of spawn(nvim_argv) ...
* ui: multigrid mouse supportBjörn Linse2019-01-20
|
* multigrid: simplify testsBjörn Linse2018-12-31
|
* multigrid: add tests for multiline messages and tabsBjörn Linse2018-12-31
|
* multigrid: test refactorBjörn Linse2018-12-31
|
* multigrid: add multigrid screen testsUtkarsh Maheshwari2018-12-31